Communication methods and apparatus
By determining the starting position in the circular buffer to be an integer multiple of 2n, and combining redundant versions and correlation relationships, the problem of high rate matching complexity of polar codes in HARQ is solved, achieving more efficient rate matching and de-rate matching, and improving system throughput and retransmission performance.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-11-12
- Publication Date
- 2026-05-21
AI Technical Summary
In existing technologies, polar codes in the incremental redundancy Hybrid Automatic Repeat Request (HARQ) technology have high complexity in rate matching and de-rate matching, which is difficult to reduce effectively.
By determining the starting position in the circular buffer to be an integer multiple of 2n, and determining the starting bit position based on the redundancy version and correlation, rate matching and de-rate matching are achieved, reducing complexity.
It simplifies the process of rate matching and de-rate matching, improves system throughput, reduces packet error rate, and enhances the performance of multiple retransmissions.
Smart Images

Figure CN2025134310_21052026_PF_FP_ABST
Abstract
Description
A communication method and apparatus
[0001] This application claims priority to Chinese Patent Application No. 202411640820.7, filed on November 15, 2024, entitled "A Communication Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to a communication method and apparatus. Background Technology
[0003] Communication systems can employ channel coding to improve data transmission reliability and ensure communication quality. Polar codes are theoretically proven to achieve Shannon capacity and have low decoding complexity.
[0004] Currently, polar codes can be applied to hybrid automatic repeat request (HARQ) technology with incremental redundancy (IR). However, this results in very high complexity for rate matching and / or de-matching. Therefore, reducing the complexity of rate matching and de-matching is a pressing technical problem that needs to be solved. Summary of the Invention
[0005] This application provides a communication method and apparatus that can reduce the complexity of rate matching and / or rate matching dematching.
[0006] Firstly, a communication method is provided, which can be executed by a first communication device. The first communication device can be a communication equipment, or a module within the communication equipment (e.g., a processor, chip, or chip system; specifically, it can be a modem chip, also known as a baseband chip, or a system-on-a-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip). It can also be a logical node, logical module, or software capable of implementing all or part of the functions of the communication equipment. The method includes: determining a first bit sequence from a circular buffer based on a starting position, thereby outputting the first bit sequence. The length of the first bit sequence is the initial transmission length, or the length of the first bit sequence is the retransmission length corresponding to the initial transmission. The circular buffer includes some or all of the bits in a second bit sequence, which is a bit sequence encoded with polar codes, and the starting position is 2. n The integer multiple of n, where n is a positive integer.
[0007] As can be seen from the above embodiments, the first communication device can determine the first bit sequence from the circular buffer based on the starting position, thereby outputting the first bit sequence. Wherein, the starting position is 2. n An integer multiple of , meaning the starting bit in rate matching is at position 2 in the circular buffer. n The length of the first bit sequence is an integer multiple of the initial transmission length. This makes the first communication device easier to implement in terms of memory reading and parallel data concatenation, thereby reducing the complexity of rate matching and / or rate dematching. For example, if the length of the first bit sequence is the initial transmission length, the complexity of rate matching and / or rate dematching for the initial transmission can be reduced. Alternatively, if the length of the first bit sequence is the transmission length of the retransmission corresponding to the initial transmission, the complexity of rate matching and / or rate dematching for the retransmission can be reduced.
[0008] Secondly, a communication method is provided, which can be executed by a second communication device. The second communication device can be a communication equipment, or a module within the communication equipment (e.g., a processor, chip, or chip system), or a logic node, logic module, or software capable of implementing all or part of the functions of the communication equipment. The method includes: receiving a signal, thereby enabling rate matching of the signal based on a starting position. The signal corresponds to a first bit sequence, the length of which is the initial transmission length, or the length of the first bit sequence is the retransmission length corresponding to the initial transmission. The first bit sequence is determined from a circular buffer based on the starting position. The circular buffer includes some or all bits of a second bit sequence, which is a bit sequence encoded with a polar code, and the starting position is 2. n The integer multiple of n, where n is a positive integer.
[0009] As can be seen in the above embodiments, the second communication device can receive a signal corresponding to a first bit sequence, which is determined from a circular buffer based on a starting position. The starting position is 2. n An integer multiple of , meaning the starting bit in rate matching is at position 2 in the circular buffer. n The length of the first bit sequence is an integer multiple of the initial transmission length. This makes the second communication device easier to implement in terms of memory reading and parallel data concatenation, thereby reducing the complexity of rate matching. For example, if the length of the first bit sequence is the initial transmission length, the complexity of rate matching and / or rate matching during the initial transmission can be reduced. Alternatively, if the length of the first bit sequence is the transmission length of the retransmission corresponding to the initial transmission, the complexity of rate matching and / or rate matching during the retransmission can be reduced.
[0010] In one possible implementation, the starting position is determined based on the redundancy version (RV) and association relationships. These association relationships include the correspondence between the redundancy version and the starting position.
[0011] As can be seen, in the above embodiments, the first or second communication device determines the starting position based on the redundancy version and association relationship, that is, the position of the starting bit in the circular buffer during rate matching is determined by the first or second communication device itself. Compared with other devices indicating the starting position, this can save signaling overhead and is also easier to implement.
[0012] In one possible implementation, the starting position is determined based on the version number of the redundant versions and the number and value y of the redundant versions, where y = 2. n .
[0013] As can be seen from the above embodiments, the starting position is related to the version number of the redundant version, the number of redundant versions, and 2. n This is related to factors such as the starting position being 2, which helps to ensure that the starting position is 2. n An integer multiple of , meaning the starting bit in rate matching is at position 2 in the circular buffer. n Integer multiples of make it easier to implement in memory reads and parallel data concatenation, thereby reducing the complexity of rate matching and / or de-rate matching.
[0014] In one possible implementation, the starting position satisfies the following condition: `id` is an integer greater than or equal to 0 and less than or equal to `x-1`. Here, `k0` is the starting position, `id` is the version number of the redundant version, `x` is the number of redundant versions, `x` is an integer greater than 1, and `M` is the length of the circular cache.
[0015] As can be seen from the above embodiments, the starting position is related to the version number of the redundant version, the number of redundant versions, and 2. n This is related to factors such as the length of the circular buffer. On one hand, this is beneficial because it ensures the starting position is 2. n An integer multiple of , meaning the starting bit in rate matching is at position 2 in the circular buffer. n Integer multiples of the bit length make memory access and parallel data concatenation easier to implement, thus reducing the complexity of rate matching and / or de-rate matching. On the other hand, with different circular buffer lengths, the bit sequence resulting from x transmissions can uniformly cover the entire codeword, meaning the same bit can be transmitted in x transmissions. In other words, the starting position can be distributed between 0 and M, ensuring that the probability of the same bit being transmitted in x transmissions is essentially the same. Furthermore, the starting position can be distributed between 0 and M, while the shortened bits are distributed above M. This prevents the starting position from falling into the shortened bit position, reducing bit sequence misunderstandings, lowering the error rate, and thus reducing the complexity of initial transmissions or retransmissions, while also improving the performance of multiple retransmissions.
[0016] In one possible implementation, the starting position satisfies the following condition: id is an integer greater than or equal to 0 and less than or equal to x-1. Where k0 is the starting position, id is the version number of the redundant version, x is the number of redundant versions, x is an integer greater than 1, and N is the length of the second bit sequence.
[0017] As can be seen from the above embodiments, the starting position is related to the version number of the redundant version, the number of redundant versions, and 2. n This is related to factors such as the length of the circular buffer. On one hand, this is beneficial because it ensures the starting position is 2. n An integer multiple of , meaning the starting bit in rate matching is at position 2 in the circular buffer. n Integer multiples of the specified bit range make memory access and parallel data concatenation easier to implement, thus reducing the complexity of rate matching and / or rate dematching. Furthermore, the starting positions can be distributed between 0 and N / 2, with each starting position being equally spaced, ensuring a relatively uniform transmission for each retransmission. Since the shortened bits are distributed at positions above N / 2, the situation where the transmission starting position falls within the shortened bit position will not occur, reducing bit sequence misunderstandings, lowering the error rate, and thus reducing the complexity of initial transmission or retransmission, while also improving the performance of multiple retransmissions.
[0018] In one possible implementation, the starting position satisfies the following condition: id is an integer greater than or equal to 0 and less than or equal to x-2; id equals x-1. Where k0 is the starting position, id is the version number of the redundant version, x is the number of redundant versions, x is an integer greater than 1, M is the length of the circular buffer, and N is the length of the second bit sequence.
[0019] It can be seen that, in the above embodiments, compared to the above... A redundant version with version number x-1 is added as the starting position, meaning the starting position can be chosen at the midpoint between M and N / 2, while the shortened bits are distributed at positions above N / 2. Therefore, the situation where the sending starting position falls into the shortened bit position will not occur, reducing the misunderstanding of the bit sequence, lowering the packet error rate, thereby reducing the complexity of the initial transmission or retransmission, and also improving the performance of multiple retransmissions.
[0020] In one possible implementation, n is 3, 4, 5, or 6.
[0021] As can be seen from the above embodiments, when n is 3, it means the starting position is an integer multiple of 8, which is beneficial for matching system throughput within 3 gigabits per second (Gbps), thus better meeting the parallelism requirements of the corresponding system throughput. When n is 4, it means the starting position is an integer multiple of 16, which is beneficial for matching system throughput within 5 Gbps, thus better meeting the parallelism requirements of the corresponding system throughput. When n is 5, it means the starting position is an integer multiple of 32, which is beneficial for matching system throughput within 10 Gbps, thus better meeting the parallelism requirements of the corresponding system throughput. When n is 6, it means the starting position is an integer multiple of 64, which is beneficial for matching system throughput greater than 20 Gbps, thus better meeting the parallelism requirements of the corresponding system throughput.
[0022] In one possible implementation, y is determined based on the system throughput.
[0023] In one possible implementation, the method further includes: the first communication device or the second communication device determining the length of the circular buffer based on a rate matching method. For example, if the rate matching method is puncturing or repetition, the length of the circular buffer is the length of the second bit sequence. Alternatively, if the rate matching method is shortening, the length of the circular buffer is the initial transmission length.
[0024] As can be seen from the above embodiments, the length of the circular buffer is related to the rate matching method, which can reduce the complexity of rate matching for initial transmission or retransmission, thereby reducing the complexity of initial transmission or retransmission and improving the performance of multiple retransmissions.
[0025] Thirdly, a communication device is provided, comprising units, modules, or means for implementing the method as described in any one of the first or second aspects. The communication device may be a first communication device, which may be a communication equipment, or a module within a communication equipment (e.g., a processor, chip, or chip system), or a logic node, logic module, or software capable of implementing all or part of the functions of the communication equipment. Alternatively, the communication device may be a second communication device, which may be a communication equipment, or a module within a communication equipment (e.g., a processor, chip, or chip system), or a logic node, logic module, or software capable of implementing all or part of the functions of the communication equipment.
[0026] Fourthly, a communication device is provided, comprising at least one processor. The at least one processor is configured to cause the communication device to perform the method described in any one of the first or second aspects. The communication device may be a first communication device, which may be a communication equipment, or a module within a communication equipment (e.g., a processor, chip, or chip system), or a logic node, logic module, or software capable of implementing all or part of the functions of the communication equipment. Alternatively, the communication device may be a second communication device, which may be a communication equipment, or a module within a communication equipment (e.g., a processor, chip, or chip system), or a logic node, logic module, or software capable of implementing all or part of the functions of the communication equipment. The at least one processor may execute a computer program or instructions stored in a memory to cause the aforementioned method to be performed. The memory may be included in the communication device or located externally to the communication device. Furthermore, the communication device may also include an interface.
[0027] Fifthly, a computer-readable storage medium is provided, which stores computer instructions or programs that, when executed, cause a computer to perform the method as described in any one of the first or second aspects.
[0028] Sixthly, a computer program product is provided, comprising: a computer program or program that, when run by a computer, causes the computer to perform the method as described in any one of the first or second aspects.
[0029] A seventh aspect provides a chip including at least one processor and an interface. The processor is configured to execute computer instructions or programs, which, when run, cause the chip to perform the method as described in any one of the first or second aspects. The processor may execute computer programs or instructions stored in memory to cause the described method to be performed. The memory may be included in the chip or located externally. Furthermore, the chip may also include an interface.
[0030] Eighthly, a communication system is provided, comprising a first communication device for performing the method as described in any one of the first aspects and a second communication device for performing the method as described in any one of the second aspects.
[0031] The second to eighth aspects of this application correspond to the technical solutions of the first aspect of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, so they will not be described again. Attached Figure Description
[0032] Figure 1 shows the basic architecture of a communication system;
[0033] Figure 2 is a schematic diagram of a polar code encoding;
[0034] Figure 3 is a flowchart illustrating a communication method provided in an embodiment of this application;
[0035] Figure 4 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0036] Figure 5 is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation
[0037] The technical solutions in the embodiments of this application will be described below with reference to the accompanying drawings. The terms "system" and "network" in the embodiments of this application can be used interchangeably. Unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship; for example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be one or multiple. Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish between network elements and similar items with essentially the same function. 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" are not necessarily different. Additionally, the numbering of steps in the various embodiments described in this application is only for distinguishing different steps and is not intended to limit the order of steps.
[0038] References to "one embodiment" or "some embodiments" in the embodiments described in this application mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0039] The following detailed embodiments further illustrate the objectives, technical solutions, and beneficial effects of this application. It should be understood that the following are merely specific embodiments of this application and are not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made based on the technical solutions of this application should be included within the scope of protection of this application.
[0040] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0041] The method provided in this application can be applied to various communication systems, such as wireless local area network (WLAN) systems, Internet of Things (IoT) systems, narrowband Internet of Things (NB-IoT) systems, long term evolution (LTE) systems, 5th generation (5G) communication systems, new radio (NR) systems, or new communication systems emerging in future communication development. Among these, IoT networks may include, but are not limited to, vehicle-to-everything (V2X) networks. The communication methods in V2X systems can be collectively referred to as vehicle-to-everything (V2X), where X can represent anything. For example, V2X can include: vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication, vehicle-to-pedestrian (V2P) communication, or vehicle-to-network (V2N) communication, etc. The method provided in this application embodiment can also be applied to non-terrestrial network (NTN) communication (also known as non-land network communication), or scenarios where NTN and terrestrial network (TN) are integrated.
[0042] The method provided in this application can be applied between two entities in a communication system, such as one entity sending information to or receiving information sent by the other entity. In a wireless communication system, communication devices are included, and these devices can communicate wirelessly using air interface resources. Air interface resources may include at least one of time-domain resources, frequency-domain resources, code resources, and spatial resources; this application does not limit this. For example, the aforementioned two entities may include a network device and a terminal, or may include a chip that can be placed in a network device and a chip that can be placed in a terminal, etc. Of course, as standards or products advance, other types of entities may emerge subsequently; this application does not limit this.
[0043] The basic architecture of the communication system provided in the embodiments of this application is described below. The communication system provided in this application may include one or more network devices and one or more terminals.
[0044] The following explanation uses the system architecture shown in Figure 1 as an example. In Figure 1, the communication system includes a network device 10 and a terminal 20 that communicates with the network device 10.
[0045] Optionally, the number of network devices and terminals in Figure 1 is merely illustrative and should not be considered as a specific limitation of this application. The terminals and network devices involved in the system architecture will be described in detail below.
[0046] I. Terminal
[0047] The terminal can be a device or module that accesses the aforementioned communication system and has corresponding communication functions. Specifically, the terminal can refer to user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, terminal, wireless communication equipment, user agent, user equipment, or roadside unit (RSU). The terminal may contain communication modules, circuits, or chips that perform corresponding communication functions. The terminal may also be configured with program instructions for performing corresponding communication functions.
[0048] For example, a terminal can be a drone, an Internet of Things (IoT) device, a station (ST) in a wireless local area network (WLAN), a cellular phone, a smartphone, a cordless phone, a wireless data card, a tablet computer, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA) device, a laptop computer, a machine type communication (MTC) terminal, a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, an in-vehicle device, a wearable device (also known as a wearable smart device), a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in remote medical care, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in a smart grid, or a wireless terminal in transportation safety. Wireless terminals in smart cities, smart homes, and transportation vehicles with wireless communication capabilities, as well as communication modules, are examples of wireless terminals. Terminals can also be used in 5G systems or next-generation communication systems; this application does not limit the specific application to these applications.
[0049] The embodiments of this application do not limit the device form of the terminal. The device used to implement the functions of the terminal can be the terminal itself; it can also be a device that supports the terminal in implementing the functions, such as a chip system. The device can be installed in the terminal or used in conjunction with the terminal. In the embodiments of this application, the chip system can be composed of chips or can include chips and other discrete devices.
[0050] II. Network Equipment
[0051] The network device can be a device or module located on the network side of the aforementioned communication system and possessing corresponding communication functions. The network device can be a device deployed in a radio access network (RAN) to provide wireless communication functions for terminals. The network device may contain communication modules, circuits, or chips that perform the corresponding communication functions. The network device may also be configured with program instructions for performing the corresponding communication functions and corresponding program instructions.
[0052] In one possible scenario, network equipment can be devices with base station functions, such as evolved NodeBs (eNodeBs), transmitting and receiving points (TRPs), transmitting points (TPs), next-generation NodeBs (gNBs), base stations in future mobile communication systems, integrated access and backhaul (IAB) nodes, and non-terrestrial network equipment, i.e., equipment that can be deployed on high-altitude platforms or satellites. Network equipment can also be base stations or various forms of control nodes, such as network controllers and wireless controllers. Specifically, network equipment can be various forms of macro base stations, micro base stations (also known as small cells) in heterogeneous network (HetNet) scenarios, relay stations, access points (APs), radio network controllers (RNCs), node Bs (NBs), base station controllers (BSCs), base transceiver stations (BTSs), home base stations (e.g., home evolved node Bs, or home node Bs (HNBs)), baseband units (BBUs) and remote radio units (RRUs) in distributed base station scenarios, transmitting points (TPs), mobile switching centers, etc., or even base station antenna panels. Control nodes can connect to multiple base stations and configure resources for multiple terminals covered by multiple base stations. In systems employing different wireless access technologies, the names of devices with base station functions may differ. For example, it could be a gNB in 5G, or a network-side device in a network after 5G, or a network device in a future evolved public land mobile network (PLMN) network, or a device that performs base station functions in device-to-device (D2D) communication, machine-to-machine (M2M) communication, or vehicle-to-everything (V2X) communication, etc. This application does not limit the specific name of the network device.Network equipment can also be open RAN (O-RAN or ORAN), baseband pool (BBU pool) and RRU under cloud radio access network (CRAN), etc.
[0053] In another possible scenario, multiple network devices collaborate to assist terminals in achieving wireless access, with each network device implementing a portion of the base station's functions. For example, network devices may include a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs may be included in radio frequency devices or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs). In one possible design, the processing unit in the BBU used to implement baseband functions is called a baseband high (BBH) unit, and the processing unit in the RRU / AAU / RRH used to implement baseband functions is called a baseband low (BBL) unit.
[0054] Network devices can support one or more types of fronthaul interfaces, each corresponding to a DU and RU with different functions. For example, the fronthaul interface between the DU and RU might be a Common Public Radio Interface (CPRI), where the DU is configured to implement one or more baseband functions, and the RU is configured to implement one or more radio frequency functions. Alternatively, the fronthaul interface between the DU and RU might be another type of interface that, relative to the CPRI, incorporates some downlink and / or uplink baseband functions. For instance, for downlink, one or more of precoding, beamforming (BF), or inverse fast fourier transform (IFFT) / adding a cyclic prefix (CP) might be moved from the DU to the RU; and for uplink, one or more of beamforming (BF), or fast fourier transform (FFT) / removing a CP might be moved from the DU to the RU. In one possible implementation, the interface can be an enhanced common public radio interface (eCPRI). Under the eCPRI architecture, the segmentation between DU and RU differs, corresponding to different categories (Cat) of eCPRI, such as eCPRI Cat A, B, C, D, E, F.
[0055] Taking eCPRI Cat A as an example, for downlink transmission, layer mapping is used as the dividing line. The DU is configured to implement one or more functions preceding layer mapping (i.e., coding, rate matching, scrambling, modulation, and layer mapping), while other functions following layer mapping (e.g., resource element (RE) mapping, BF, or IFFT / CP addition) are implemented in the RU. For uplink transmission, de-RE mapping is used as the dividing line. The DU is configured to implement one or more functions preceding de-mapping (i.e., decoding, rate matching de-matching, descrambling, demodulation, inverse discrete Fourier transform (IDFT), channel equalization, and de-RE mapping), while other functions following de-mapping (e.g., digital BF or FFT / CP removal) are implemented in the RU. It is understood that descriptions of the functions of the DU and RU corresponding to various types of eCPRI can be found in the eCPRI protocol and will not be elaborated here.
[0056] Optionally, the network device can be a CU node, a DU node, or a device that includes both CU and DU nodes. Furthermore, a CU can be classified as a network device in the RAN or as a network device in the core network (CN); there are no restrictions on this.
[0057] 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 O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called 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.
[0058] In this embodiment, the form of the network device is not limited. The device used to implement the function of the network device can be the network device itself, or it can be a device that supports the network device in implementing the function, such as a chip system. The device can be installed in the network device or used in conjunction with the network device.
[0059] In this embodiment, the terminal and the network device can communicate via an air interface link. This air interface link can be categorized into uplink (UL) and downlink (DL) based on the direction of data transmission. Uplink data from the terminal to the base station can be transmitted on the UL, while downlink data from the base station to the terminal can be transmitted on the DL.
[0060] To facilitate understanding of the content of this solution, some terms used in the embodiments of this application will be explained below, so that those skilled in the art can understand them. This part is only for the purpose of understanding and should not be regarded as a specific limitation of this application.
[0061] I. Polar code encoding
[0062] Polar codes are a type of linear block code, and their encoding process can be denoted as x. N =u N G N , where u N ={u0,u1,...,u N-1} is a binary row vector of length N. It is an encoding matrix. This represents the nth Kronecker power of F. For example, in Figure 2, when n = 3, a polar code encoding matrix with a code length of N = 8 can be obtained, as shown below:
[0063] In Figure 2, the bits to be encoded can be sorted into two categories based on their reliability: frozen bits (also called fixed bits) and information bits. Bits with higher reliability are designated as information bits, and bits with lower reliability are designated as frozen bits. For example, in Figure 2, u7, u6, u5, and u3 are the four bits with the highest reliability, designated as information bits, while u4, u2, u1, and u0 are the four bits with the lowest reliability, designated as frozen bits.
[0064] Optionally, the value of the frozen bit can be set to 0, which is known to both the sender and receiver in actual transmission.
[0065] As shown in Figure 2, the mother code length of polar codes is an integer power of 2. When the code length N required for actual communication is not the mother code length, further code length matching (or rate matching) is required through methods such as puncturing and retransmission. In other words, puncturing and retransmission refer to removing or retransmitting several positions of the encoded mother code length sequence to make it suitable for the code length requirement.
[0066] Optionally, in this application, the polar code may include at least one of the following: Arikan Polar code, parity check (PC) polar code, cyclic redundancy check (CRC) polar code, or parity check-cyclic redundancy check polar-polar code (PC-CA-Polar), etc. Arikan Polar refers to the original polar code, without concatenation with other codes, including information bits and / or frozen bits. PC-Polar is a polar code concatenated with PC codes. CA-Polar is a polar code concatenated with CRC codes. PC-CA-Polar code is a polar code that concatenates both PC codes and CRC codes.
[0067] There are various possible implementations for polar code decoding, such as successive cancellation decoding (SC), successive cancellation list decoding (SCL), successive cancellation stack (SCS), CRC-aided successive cancellation list (CA-SCL) decoding, belief propagation (BP) decoding, and soft cancellation (SCAN) decoding. This application does not limit the decoding method for polar codes. For example, if the polar code is Arikan Polar code, SC decoding, SCL decoding, SCS decoding, BP decoding, or SCAN decoding can be used. If the polar code is PC-Polar code, CA-Polar code, or PC-CA-Polar code, CA-SCL decoding can be used.
[0068] II. Hybrid Automatic Repeat Request (HARQ)
[0069] HARQ is a technique that combines forward error correction (FEC) and automatic repeat request (ARQ) to improve spectral efficiency. Traditional ARQ simply discards erroneous data without storing it, lacks a merging process, and offers no diversity gain. This can lead to excessive retransmissions and long waiting times. HARQ, on the other hand, saves the received data when decoding fails and requests a retransmission from the sender. The receiver then merges the retransmitted data with the previously received data before decoding. This provides diversity gain, reduces the number of retransmissions, and consequently reduces latency.
[0070] HARQ can be divided into two types: soft combo repeat (CC) and incremental redundancy (IR). CC retransmits part or all of the codeword from the initial transmission. At the receiving end, the received data from these multiple transmissions, based on their corresponding positions on the codeword, is combined and decoded. Multiple transmissions increase the transmission energy of the codeword bits. IR incrementally transmits the codeword bits that were not transmitted in the initial transmission. Besides increasing the overall transmission energy, it also provides a long code gain.
[0071] Currently, polar codes can be applied to IR HARQ technology; however, this results in very high complexity for rate matching and / or de-rate matching. For example, the initial transmission can use 5G rate matching, with an initial master code (encoding) length of NRV0 and an initial transmission length of ERV0. Since NRV0 is greater than ERV0, rate matching can be performed. For instance, puncturing the initial NRV0-ERV0 length based on the code rate can pre-freeze the corresponding uninterleaved positions, or shortening the final NRV0-ERV0 length. In puncturing mode, based on NRV0 and ERV0, additional bit positions can be pre-frozen to ensure that positions with significantly different puncturing capacity are not selected as information bits. Retransmissions may have different branches of rate matching as shown in Table 1. This leads to very high complexity for rate matching and / or de-rate matching. Therefore, this application provides the embodiment shown in Figure 3 to solve this problem.
[0072] Table 1
[0073] The embodiments of this application are described in detail below. The executing entities involved in the embodiments of this application can be a first communication device and a second communication device. The first communication device or the second communication device can be any two devices capable of communication shown in Figure 1. The specific names of the first communication device and the second communication device are not limited in the embodiments of this application. As an example, the first communication device can be a terminal or a chip or functional module of a terminal, etc., and the second communication device can be a network device or a chip or functional module of a network device, etc. As another example, the first communication device can be a network device or a chip or functional module of a network device, and the second communication device can be a terminal or a chip or functional module of a terminal. As yet another example, the first communication device and the second communication device can be different terminals, etc. Specific forms of the first communication device and the second communication device will not be listed here. For ease of description, the embodiments of this application are described using the first communication device as a terminal and the second communication device as a network device as an example, and this should not be considered a limitation of this application.
[0074] Referring to Figure 3, which is a flowchart illustrating a communication method provided in an embodiment of this application, the communication method involves a rate matching process and a rate matching dematching process. The rate matching process includes steps 301 and 302, and the rate matching dematching process includes a receiving step corresponding to step 302 and step 303. As an example, the rate matching-related process can be referred to as the rate matching method, and the rate matching dematching-related process as the rate matching dematching method. That is, in a specific implementation, the method shown in Figure 3 can be divided into a rate matching method and a rate matching dematching method. In one possible implementation, the rate matching method and the rate matching dematching method can also each be referred to as a communication method. As shown in Figure 3, the method includes, but is not limited to, the following steps:
[0075] 301. The first communication device determines a first bit sequence from a circular buffer based on a starting position. The circular buffer includes some or all of the bits in a second bit sequence, which is a bit sequence encoded using polar codes, and the starting position is 2. n The integer multiple of n, where n is a positive integer.
[0076] For example, the first communication device outputs a bit sequence of a corresponding transmission length (such as the initial transmission length E0 or the retransmission length E corresponding to the initial transmission) from the circular buffer based on the starting position to obtain the first bit sequence. That is, the length of the first bit sequence is the initial transmission length, or the length of the first bit sequence is the retransmission length corresponding to the initial transmission.
[0077] In one possible implementation, the initial transmission length E0 can be the initial transmission code length, a flexibly expandable code length, or a flexibly expandable polar code (EF-polar) code length, etc., and this application does not limit this. The initial transmission length E0 can be predefined or determined in other ways, and this application does not limit this. For example, the initial transmission length E0 can be determined based on the channel transmission resources and modulation order.
[0078] In one possible implementation, the transmission length E of the retransmission corresponding to the initial transmission can be the mother code length, or the code length after rate matching, without limitation. For example, when the mother code length N is greater than E, E can be the code length after rate matching. The rate matching method includes repetition, puncture, or shortening.
[0079] The following section describes the number of bits included in the circular buffer.
[0080] As an example, a circular buffer includes a subset of bits from the second bit sequence. For instance, the length M of the circular buffer is less than the length N of the second bit sequence, and the circular buffer includes a subset of bits from the second bit sequence. In one possible implementation, the subset of bits from the second bit sequence is the first M bits of the second bit sequence. That is, the first communication device can discard (or delete) the last NM bits of the second bit sequence.
[0081] As another example, a circular buffer includes all bits in the second bit sequence. For instance, the length M of the circular buffer is equal to the length N of the second bit sequence, and the circular buffer includes all bits in the second bit sequence.
[0082] In one possible implementation, the length of a bit sequence (such as a second bit sequence) in this application can refer to the number of bits in that bit sequence. For example, if the number of bits in the second bit sequence is N, then the length of the second bit sequence is N.
[0083] The following example illustrates how to determine the length of a circular cache.
[0084] For example, the length of the circular buffer can be determined based on the rate matching method or predefined, without limitation here. For instance, the first or second communication device determines the length of the circular buffer based on the rate matching method. For example, if the rate matching method is puncturing or repetition, the length M of the circular buffer is the length N of the second bit sequence. That is, M = N. Alternatively, if the rate matching method is shortening, the length M of the circular buffer is the initial transmission length E0. That is, M = E0. This reduces the complexity of rate matching during each retransmission, thereby reducing the complexity of retransmissions and improving the performance of multiple retransmissions.
[0085] In one possible implementation, the rate matching method described above can be determined based on the initial transmission length E0. For example, if E0 is greater than or equal to the length N of the second bit sequence, the rate matching method is repetition. If K / E0 is less than or equal to a threshold and E0 is less than the length N of the second bit sequence, the rate matching method is puncturing. If K / E0 is greater than or equal to a threshold and E0 is less than the length N of the second bit sequence, the rate matching method is shortening.
[0086] In one possible implementation, K represents the number of information bits in the bit sequence to be encoded corresponding to the second bit sequence. In another possible implementation, the first communication device can obtain the second bit sequence by polar code encoding the bit sequence to be encoded. For example, the information bits in the bit sequence to be encoded can be u = u0, u1, ..., u... K-1 The second bit sequence can be d = d0, d1, ..., d N-1The information bits (i.e., K information bits) in the bit sequence to be encoded may include CRC bits and / or PC bits. Alternatively, the information bits in the bit sequence to be encoded may not include CRC bits or PC bits.
[0087] As an example, K is an integer greater than or equal to 1, and the information bits (i.e., K information bits) in the bit sequence to be encoded may include CRC bits and / or PC bits. For example, for uplink transmission, K may be greater than or equal to 18 bits, and the CRC bits may include 6 bits or 11 bits, etc. Alternatively, for downlink transmission, K may be greater than or equal to 36 bits, and the CRC bits may include 16 bits or 24 bits, etc.
[0088] As another example, the information bits (i.e., K information bits) in the bit sequence to be encoded do not include CRC bits. The first communication device can add CRC bits to the obtained K information bits, or the first communication device can add CRC bits to N bits after obtaining the second bit sequence (as shown in step 301 in the text).
[0089] As another example, the information bits (i.e., K information bits) in the bit sequence to be encoded do not include PC bits. The first communication device can add PC bits from the obtained K information bits, or the first communication device can add PC bits from N bits after obtaining the second bit sequence.
[0090] As another example, the information bits (i.e., K information bits) in the bit sequence to be encoded do not include CRC bits or PC bits. The first communication device can add CRC bits and PC bits based on the obtained K information bits, or the first communication device can add CRC bits and PC bits to N bits after obtaining the second bit sequence.
[0091] In this application, the location of the CRC bit or PC bit added to the first communication device is not limited. Furthermore, the CRC bit or PC bit shown above are examples of check bits, and these CRC bits or PC bits can be replaced with other check bits; this application does not limit this.
[0092] In one possible implementation, K / E0 can be understood as the code rate. That is, polar code shortening refers to the case where the polar code code rate K / E0 > 7 / 16, meaning the last N-E0 bits are zero bits that will not be transmitted. Polar code puncturing refers to the case where the polar code code rate K / E0 ≤ 7 / 16, meaning N-E0 codewords are deleted, and the corresponding N-E0 input bits (or sub-channels) are pre-frozen. In other words, the values of the corresponding pre-coded bits are set to known values (e.g., binary 0).
[0093] In one possible implementation, the threshold can be 7 / 16 or other values, which are not limited here.
[0094] The following section explains how to determine the starting position.
[0095] In one possible implementation, the starting position can be determined based on redundancy versions and associations. Alternatively, it can be predefined, without limitation herein. For example, the first or second communication device can determine the starting position based on redundancy versions and associations. That is, the position of the starting bit in the circular buffer during rate matching is determined by the first or second communication device itself. This saves signaling overhead and is easier to implement compared to other devices indicating the starting position.
[0096] When the second communication device determines the starting position k0 based on the redundancy version and association, the second communication device can obtain the redundancy version in the following way. For example, the second communication device can receive indication information used to indicate the redundancy version. In one possible implementation, the indication information can be carried in radio resource control (RRC) messages (such as RRC configuration messages or RRC reconfiguration messages), media access control-control element (MAC CE) messages, downlink control information (DCI) messages, or other messages.
[0097] The aforementioned relationship includes the correspondence between redundant versions and the starting position. In one possible implementation, the redundant version and the starting position can be in a one-to-one correspondence. Alternatively, it can be described as: the version number of the redundant version and the starting position are in a one-to-one correspondence.
[0098] In one possible implementation, the starting position can be determined based on the version number of the redundant version, the number of redundant versions, and the value y. Where y = 2 n n is a positive integer. This makes it easier to start at position 2. n An integer multiple of , meaning the starting bit in rate matching is at position 2 in the circular buffer. n Integer multiples of this value make it easier to implement in terms of memory reads and parallel data concatenation, thereby reducing the complexity of rate matching and / or de-rate matching. For example, it can reduce the complexity of rate matching and / or de-rate matching for retransmissions.
[0099] As an example, the starting position k0 above satisfies the following condition: `id` is an integer greater than or equal to 0 and less than or equal to `x-1`. Alternatively, the starting position can be determined based on at least one of the following: the version number `id` of the redundant version, the number of redundant versions `x`, the numerical value `y`, and the length `M` of the circular buffer. This allows the starting position to be distributed between 0 and M, while the shortened bits are distributed above M. This prevents the starting position from falling into the shortened bit position, reducing bit sequence misunderstandings, lowering the error rate, and thus reducing the complexity of initial transmission or retransmission, while also improving the performance of multiple retransmissions.
[0100] As yet another example, the starting position k0 above satisfies the following condition: `id` is an integer greater than or equal to 0 and less than or equal to `x-1`. Alternatively, the starting position can be determined based on at least one of the following: the version number `id` of the redundant version, the number of redundant versions `x`, the value `y`, and the length `N` of the second bit sequence. This ensures that the starting positions are distributed between 0 and N / 2, while the shortened bits are distributed above N / 2. Since all starting positions are equally spaced, retransmissions are relatively evenly distributed and will not fall into positions above N / 2. Therefore, the starting position will not fall into a shortened bit position, reducing bit sequence misunderstandings, lowering the error rate, and thus reducing the complexity of initial or retransmission, while also improving the performance of multiple retransmissions.
[0101] As another example, the starting position k0 above satisfies the following condition: id is an integer greater than or equal to 0 and less than or equal to x-2. The id is equal to x-1, where x is an integer greater than 1. Alternatively, the starting position can be determined based on at least one of the following: the version number id of the redundant version, the number of redundant versions x, the numerical value y, the length of the circular buffer M, and the length of the second bit sequence N. This is different from the above. A redundant version with version number x-1 was added as the starting position. That is, the starting position can be selected at the midpoint between M and N / 2, while the shortened bits are distributed at positions above N / 2. Therefore, the situation where the sending starting position falls into the shortened bit position will not occur, reducing the misunderstanding of the bit sequence, lowering the packet error rate, thereby reducing the complexity of the initial transmission or retransmission, and also improving the performance of multiple retransmissions.
[0102] In the examples mentioned above, This indicates rounding down, where x is an integer greater than 1. For example, x is 4, 5, or 6, etc. In one possible implementation, for the first example above, i.e. x can be 4. For the second example above, i.e. x can be 4 or 5. For the third example above, x can be 5 or 6.
[0103] The following examples, using the version number and starting position of the redundant version to represent the correspondence between the redundant version and the starting position, illustrate several possible correspondence methods.
[0104] Table 2 For example, this illustrates the one-to-one correspondence between the version number and the starting position of the redundant version. In Table 2, x is 4. That is, when the version number of the redundant version is 0, the starting position is 0. When the version number of the redundant version is 1, the starting position is... When the version number of the redundant version is 2, the starting position is When the version number of the redundant version is 3, the starting position is
[0105] Table 2
[0106] Table 3 For example, this illustrates the one-to-one correspondence between the version number and the starting position of the redundant version. In Table 3, x is 4. That is, when the version number of the redundant version is 0, the starting position is 0. When the version number of the redundant version is 1, the starting position is... When the version number of the redundant version is 2, the starting position is When the version number of the redundant version is 3, the starting position is
[0107] Table 3
[0108] Table 4 as well as For example, this illustrates the one-to-one correspondence between the version number and the starting position of the redundant version. In Table 4, x is 5. That is, when the version number of the redundant version is 0, the starting position is 0. When the version number of the redundant version is 1, the starting position is... When the version number of the redundant version is 2, the starting position is When the version number of the redundant version is 3, the starting position is When the version number of the redundant version is 4, the starting position is
[0109] Table 4
[0110] The following example illustrates the value y mentioned above.
[0111] For example, y can be determined based on the system throughput. For instance, if the system throughput is less than or equal to 3Gbps, y can be 8, meaning n is 3. Or, if the system throughput is greater than or equal to 3Gbps and less than or equal to 5Gbps, y can be 16, meaning n is 4. Or, if the system throughput is greater than or equal to 5Gbps and less than or equal to 20Gbps, y can be 32, meaning n is 5. Or, if the system throughput is greater than or equal to 20Gbps, y can be 64, meaning n is 6. This better meets the parallelism requirements of the corresponding system throughput.
[0112] The above are some examples of y and n. In practical applications, y and n can also be other values, which will not be listed here.
[0113] In one possible implementation, when y is determined based on the system throughput, 'the starting position is determined based on the version number id of the redundant version, the number of redundant versions x, and the value y' can also be described as: the starting position is determined based on the version number id of the redundant version, the number of redundant versions x, and the system throughput. For example, the starting position can be determined based on at least one of the version number id of the redundant version, the number of redundant versions x, the system throughput, and the length M of the circular buffer. Alternatively, the starting position can be determined based on at least one of the version number id of the redundant version, the number of redundant versions x, the system throughput, and the length N of the second bit sequence. Alternatively, the starting position can be determined based on at least one of the version number id of the redundant version, the number of redundant versions x, the system throughput, the length M of the circular buffer, and the length N of the second bit sequence.
[0114] In one possible implementation, when y is determined based on the system throughput, the starting position is 2. n 'Integer multiples of y' can also be described as: the starting position is an integer multiple of y. Alternatively, the starting position is related to the system throughput. Alternatively, the starting position is aligned with y. Alternatively, the starting position is equal to 2. n Alignment. No specific requirements are set here.
[0115] The following is about 'starting position is 2' n Let's take an example of an integer multiple of '.
[0116] For example, assume a parallelism of 32, i.e., y = 32 and n = 5. The circular cache is 150 bits long, and the memory addresses of each bit in the circular cache can range from address 0 to address 4. Specifically, address 0 stores bits 0 to 31, address 1 stores bits 32 to 63, address 2 stores bits 64 to 95, address 3 stores bits 96 to 127, and address 4 stores bits 128 to 149. If the starting position is not 2... nThe starting position can be an integer multiple of 1, and can include 0 bits, 37 bits, 75 bits, and 112 bits. Assuming the current redundancy version is 1, the starting position is 37 bits. If the current transmission length is 96 bits, due to the limitation of parallelism, the first communication device needs to transmit data three times, each time sending 32 bits. In this case, the first communication device can delete the first 0 to 4 bits of data read from address 1, move the last 5 to 31 bits of data to bits 0 to 26 of the temporary buffer, and move the first 0 to 4 bits of data read from address 2 to bits 27 to 31 of the temporary buffer. That is, the first parallel transmission includes the 5 to 31 bits of data read from address 1 and the first 0 to 4 bits of data read from address 2. Similarly, the second parallel transmission includes the 5 to 31 bits of data read from address 2 and the first 0 to 4 bits of data read from address 3. The third parallel transmission includes the 5 to 31 bits of data read from address 3 and the first 0 to 4 bits of data read from address 4. It can be seen that when the starting position is not 2... n When the value is an integer multiple of 2, the first communication device can read the corresponding data from different memory addresses to concatenate them into 32 bits of data. This is more complex in terms of memory reading and parallel data concatenation, and is not easy to implement, thus increasing the complexity of rate matching and / or de-rate matching. Conversely, if the starting position is 2 n The starting position can be an integer multiple of the address, and can include 0 bits, 32 bits, 64 bits, and 96 bits. Assuming the current redundancy version is 1, the starting position is 32 bits. If the current transmission length is 96 bits, due to the limitation of parallelism, the first communication device needs to transmit data three times, each time sending 32 bits. In this case, the first communication device can read data from address 1 (bits 0 to 31) and transmit it. That is, the first parallel transmission includes data from address 1 (bits 0 to 31). Similarly, the second parallel transmission includes data from address 2 (bits 0 to 31). The third parallel transmission includes data from address 3 (bits 0 to 31). It can be seen that when the starting position is 2... n When the value is an integer multiple of the value, the first communication device can read the corresponding data from the same memory address without concatenation. This is easier to implement in terms of memory reading and parallel data concatenation, thereby reducing the complexity of rate matching and / or rate matching dematching. The rate matching dematching process is the reverse of the rate matching process, but the conclusion remains the same, and will not be elaborated here.
[0117] The following are examples illustrating the redundant versions used in the initial or retransmission.
[0118] As an example, for the initial transmission, where the length of the first bit sequence is the initial transmission length, the redundant version corresponding to the first bit sequence can be any one of x redundant versions. For example, if x is 4, the version number id of the redundant version corresponding to the first bit sequence can be 0, 1, 2, or 3. Or, if x is 5, the version number id of the redundant version corresponding to the first bit sequence can be 0, 1, 2, 3, or 4. Or, if x is 6, the version number id of the redundant version corresponding to the first bit sequence can be 0, 1, 2, 3, 4, or 5. This increases the flexibility of information transmission.
[0119] As another example, for retransmissions, where the length of the first bit sequence is the same as the length of the retransmission corresponding to the initial transmission, the redundant version corresponding to the first bit sequence can be any one of x redundant versions. For example, if x is 4, the version number id of the redundant version corresponding to the first bit sequence can be 0, 1, 2, or 3. Or, if x is 5, the version number id of the redundant version corresponding to the first bit sequence can be 0, 1, 2, 3, or 4. Or, if x is 6, the version number id of the redundant version corresponding to the first bit sequence can be 0, 1, 2, 3, 4, or 5. This increases the flexibility of information transmission.
[0120] 302. The first communication device outputs the first bit sequence.
[0121] For example, a first communication device transmits a signal based on a first bit sequence. Correspondingly, a second communication device receives the signal. This signal corresponds to the first bit sequence. That is, the signal can be obtained by processing the first bit sequence accordingly. Such processing may include at least one of the following: modulation, multiple-in-multiple-out (MIMO) coding, subcarrier mapping, or inverse fast fourier transform (IFFT).
[0122] In one possible implementation, the pseudocode for the first communication device to output the first bit sequence can be as follows:
[0123] for k=0 to E-1
[0124] endfor
[0125] 303. The second communication device performs rate matching on the signal based on the starting position.
[0126] For example, the second communication device can perform at least one of the following inverse processing on the signal: modulation, multiple-input multiple-output encoding, subcarrier mapping, or inverse fast Fourier transform, to obtain the bit sequence to be rate matched, and then perform rate matching based on the starting position of the bit sequence to be rate matched.
[0127] The method by which the second communication device determines the starting position can be referred to the relevant description of step 301 above, and will not be repeated here.
[0128] As can be seen in the above embodiments, the first communication device can determine the first bit sequence from the circular buffer based on the starting position, thereby outputting the first bit sequence so that the second communication device can receive the signal. Wherein, the starting position is 2. n An integer multiple of , meaning the starting bit in rate matching is at position 2 in the circular buffer. n The values are integer multiples of the given values. This makes it easier to implement the first and second communication devices in terms of memory reading and parallel data concatenation, thereby reducing the complexity of rate matching and / or rate dematching. For example, the complexity of rate matching and / or rate dematching during retransmissions can be reduced.
[0129] In one possible implementation, the device includes hardware structures and / or software modules corresponding to the execution of each function in order to achieve the aforementioned functions. Those skilled in the art will readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware 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.
[0130] This application embodiment can divide the first communication device or the second communication device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and is only a logical functional division. In actual implementation, there may be other division methods.
[0131] Referring to Figure 4, which is a schematic diagram of the structure of a communication device provided in an embodiment of this application, the communication device 400 can be applied to the method shown in the embodiment of Figure 3 above. As shown in Figure 4, the communication device 400 includes a processing module 401 and a transceiver module 402. The processing module 401 may be one or more processors, and the transceiver module 402 may be a transceiver or a communication interface. The communication device can be used to implement the first or second communication device involved in any of the above method embodiments, or to implement the functions of network elements involved in any of the above method embodiments. The network element or network function may be a network element in a hardware device, a software function running on dedicated hardware, or a virtualization function instantiated on a platform (e.g., a cloud platform). In one possible implementation, the communication device 400 may further include a storage module 403 for storing the program code and data of the communication device 400. It should be understood that regardless of whether these functional modules are subdivided or combined, the general flow performed by the communication device 400 in implementing any of the above method embodiments is the same. For example, the transceiver module 402 in the aforementioned communication device 400 may include a receiving module and / or a transmitting module. Of course, the transceiver module may also be called a communication module. In one implementation, each module may have its own program code (or program instructions). When the program code corresponding to each module is run on the processor, it causes the unit to execute the corresponding process to achieve the corresponding function.
[0132] In one example, when the communication device functions as a first communication device or is a chip applied to a first communication device (i.e., a chip used in a first communication device), it executes the steps performed by the first communication device in the above method embodiments. The transceiver module 402 is used to specifically execute the sending and / or receiving actions performed by the first communication device in the embodiment shown in FIG3, for example, supporting the first communication device in performing other processes of the technology described herein. The processing module 401 can be used to support the communication device 400 in performing the processing actions in the above method embodiments, for example, supporting the first communication device in performing other processes of the technology described herein.
[0133] For example, processing module 401 is used to determine a first bit sequence from a circular buffer based on a starting position. The circular buffer includes some or all of the bits in a second bit sequence, which is a bit sequence encoded with polar codes, and the starting position is 2. n The length of the first bit sequence is an integer multiple of the initial transmission length, where n is a positive integer; the transceiver module 402 is used to output the first bit sequence. The length of the first bit sequence is the initial transmission length, or the length of the first bit sequence is the retransmission length corresponding to the initial transmission.
[0134] In one possible implementation, processing module 401 is further configured to determine the length of the circular buffer based on the rate matching method. For example, if the rate matching method is puncturing or repetition, the length of the circular buffer is the length of the second bit sequence. Alternatively, if the rate matching method is shortening, the length of the circular buffer is the initial transmission length.
[0135] In one example, the communication device functions as a second communication device or is a chip applied to a second communication device, i.e., a chip used in a second communication device, and executes the steps performed by the second communication device in the above method embodiments. The transceiver module 402 is used to specifically execute the sending and / or receiving actions performed by the second communication device in the embodiment shown in FIG3, for example, supporting the second communication device in performing other processes of the technology described herein. The processing module 401 can be used to support the communication device 400 in performing the processing actions in the above method embodiments, for example, supporting the second communication device in performing other processes of the technology described herein.
[0136] For example, transceiver module 402 is used to receive a signal corresponding to a first bit sequence. The length of the first bit sequence is the initial transmission length, or the length of the first bit sequence is the retransmission length corresponding to the initial transmission. The first bit sequence is determined from a circular buffer based on a start position. The circular buffer includes some or all of the bits in a second bit sequence, which is a bit sequence encoded with polar codes, and its start position is 2. n The integer multiple of n, where n is a positive integer; processing module 401 is used to perform rate matching on the signal based on the starting position.
[0137] In one possible implementation, processing module 401 is further configured to determine the length of the circular buffer based on the rate matching method. For example, if the rate matching method is puncturing or repetition, the length of the circular buffer is the length of the second bit sequence. Alternatively, if the rate matching method is shortening, the length of the circular buffer is the initial transmission length.
[0138] In one possible implementation, when the aforementioned device is a chip, such as a modem chip or a SoC chip or SIP chip containing a modem core, or when the aforementioned device is a communication module, the transceiver module 402 can be a communication interface, pins, or circuits. The communication interface can be used to input data to be processed to the processor and can output the processor's processing results. Specifically, the communication interface can be a general purpose input / output (GPIO) interface, which can connect to multiple peripheral devices (such as a liquid crystal display (LCD), camera, radio frequency (RF) module, antenna, etc.). The communication interface is connected to the processor via a bus.
[0139] The processing module 401 can be a processing circuit, which can be one or more processors, or all or part of the circuitry in one or more processors used for control and / or processing. The processing circuit or processor can execute computer execution instructions stored in the storage module to cause the chip to execute the method involved in the embodiment shown in FIG3. Further, the processor can include a controller, an arithmetic logic unit (ALU), and registers. For example, the controller is mainly responsible for instruction decoding and issuing control signals for the operations corresponding to the instructions. The ALU is mainly responsible for performing fixed-point or floating-point arithmetic operations, shift operations, and logical operations, and can also perform address operations and conversions. The registers are mainly responsible for storing register operands and intermediate operation results temporarily stored during instruction execution. In specific implementations, the processor's hardware architecture can be an application-specific integrated circuit (ASIC) architecture, a microprocessor without interlocked piped stages architecture (MIPS) architecture, an advanced reduced instruction set machine (RISC) machine (ARM) architecture, or a network processor (NP) architecture, etc. The processor can be single-core or multi-core. The storage module can be an internal storage module of the chip, such as a register or cache. Alternatively, the storage module can be an external storage module, such as read-only memory (ROM) or other types of static storage devices that can store static information and instructions, or random access memory (RAM).
[0140] In one possible implementation, the functions of the processor and the interface can be implemented through hardware design, software design, or a combination of hardware and software; no restrictions are placed here.
[0141] Figure 5 is a schematic diagram of another communication device provided in an embodiment of this application. It is understood that the communication device 510 includes necessary means such as modules, units, elements, circuits, or interfaces, appropriately configured together to execute this solution. The communication device 510 can be the first or second communication device described above, or a component (e.g., a chip) in these devices, used to implement the methods described in the above method embodiments. The communication device 510 includes one or more processors 511. The processor 511 can be a general-purpose processor or a dedicated processor, for example, a baseband processor or a central processing unit. The baseband processor can be used to process communication protocols and communication data, and the central processing unit can be used to control the communication device, execute software programs, and process data from the software programs.
[0142] In one possible implementation, in one design, the processor 511 may include a program 513 (sometimes also referred to as code or instructions), which can be executed on the processor 511 to cause the communication device 510 to perform the methods described in the above embodiments. In another possible design, the communication device 510 includes circuitry (not shown in FIG. 5) for implementing the functions of the first communication device, the second communication device, etc., in the above embodiments. In one possible implementation, the communication device 510 may include one or more memories 512 storing a program 514 (sometimes also referred to as code or instructions), which can be executed on the memory 512 to cause the communication device 510 to perform the methods described in the above method embodiments.
[0143] In one possible implementation, data may also be stored in the processor 511 and / or the memory 512. The processor and memory may be configured separately or integrated together.
[0144] In one possible implementation, if the communication device 510 is a first communication device or a second communication device, it may further include a transceiver 515 and / or an antenna 516. The processor 511, sometimes referred to as a processing unit, controls the communication device. The transceiver 515, sometimes referred to as a transceiver unit, transceiver, or transceiver circuit, is used to implement the transmission and reception functions of the communication device via the antenna 516. In one possible implementation, the transceiver 515 may include a receiver and / or a transmitter. The receiver may be referred to as a receiving unit, receiver, or receiving circuit. The transmitter may be referred to as a transmitting unit, transmitter, or transmitting circuit.
[0145] In one possible implementation, if the communication device 510 is a chip used in a first or second communication device, the transceiver 515 may be a transceiver circuit, such as an input / output interface or a transceiver interface.
[0146] This application also provides a communication device, which includes at least one processor; wherein the at least one processor is configured to perform the method described in any of the embodiments shown in FIG3.
[0147] This application also provides a computer-readable storage medium storing computer instructions that, when executed, cause the computer to perform the method described in any of the embodiments shown in FIG3.
[0148] This application also provides a computer program product, which includes computer program code. When the computer program code is run, it causes the computer to perform the method described in any of the embodiments shown in FIG3.
[0149] This application also provides a chip, which includes at least one processor and an interface. The processor is used to read and execute instructions stored in a memory. When the instructions are executed, the chip causes the chip to perform the method described in any of the embodiments shown in FIG3.
[0150] In one possible implementation, the processing performed by a single execution entity (first communication device or second communication device) shown in any of the above embodiments can also be divided into multiple execution entities, which may be logically and / or physically separated. For example, the processing performed by the second communication device (such as a network device) can be divided into execution by at least one of CU, DU, and RU.
[0151] Furthermore, the various embodiments of this application are merely illustrative examples of executing all the steps included, and should not be considered as specific limitations on this application. For example, the order of steps in various embodiments can be simply changed according to their function and internal logic; or, for example, all steps in various embodiments can be executed, or only a portion of them can be executed, as long as the same function as in the embodiments of this application can be achieved.
[0152] In this application, "send" and "receive" indicate the direction of signal transmission. For example, "send information to the second communication device" can be understood as the destination of the information being the second communication device, which may include direct transmission via the air interface or indirect transmission via the air interface from other units or modules. "Receive information from the second communication device" can be understood as the source of the information being the second communication device, which may include direct reception from the second communication device via the air interface or indirect reception from the second communication device via the air interface from other 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.
[0153] In other words, sending and receiving can be done between devices, such as between a second communication device and a first communication device; or it can be done within a device, such as between components, modules, chips, software modules, or hardware modules within a device via a bus, wiring, or interface.
[0154] In the embodiments of this application, "when," "if," "if," and "in the case of" all refer to the device making corresponding processing under certain objective circumstances, and are not limited to a time, nor do they require the device to make a judgment action when it is implemented, nor do they mean that there are other limitations.
[0155] In this application, the words “example,” “exemplarily,” “for example,” or “such as” are used to indicate that something is an example, illustration, or description. Any embodiment or design described as “example,” “exemplarily,” “for example,” or “such as” in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the words “example,” “exemplarily,” “for example,” or “such as” is intended to present the relevant concepts in a specific manner.
[0156] 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 communication method characterized by comprising: include: determining a first bit sequence from a circular buffer based on a starting position, the circular buffer including some or all bits of a second bit sequence, the second bit sequence being a bit sequence encoded by a polar code, the starting position being an integer multiple of 2 n , the n being a positive integer; Output the first bit sequence, the length of which is the initial transmission length, or the length of which is the retransmission length corresponding to the initial transmission.
2. A communication method characterized by comprising: include: A received signal corresponds to a first bit sequence, the length of which is the initial transmission length, or the length of which is the retransmission length corresponding to the initial transmission. The first bit sequence is determined from a circular buffer based on a start position. The circular buffer includes some or all of the bits in a second bit sequence, which is a bit sequence encoded using polar codes. The start position is 2. n The number is an integer multiple of n, where n is a positive integer; Derate matching is performed on the signal based on the starting position.
3. The method according to claim 1 or 2, characterized in that, The starting position is determined based on redundant versions and association relationships; The association relationship includes the correspondence between the redundant version and the starting position.
4. The method according to any one of claims 1 to 3, characterized in that, The start position is determined based on a version number of the redundancy version, a number of the redundancy version, and a value y, where y = 2 n .
5. The method of claim 4, wherein, The start position satisfies the following conditions: The id is an integer greater than or equal to 0 and less than or equal to x-1. Wherein, k0 is the starting position, id is the version number of the redundant version, x is the number of the redundant versions, x is an integer greater than 1, and M is the length of the circular cache.
6. The method of claim 4, wherein, The start position satisfies the following conditions: The id is an integer greater than or equal to 0 and less than or equal to x-1. Wherein, k0 is the starting position, id is the version number of the redundant version, x is the number of the redundant versions, x is an integer greater than 1, and N is the length of the second bit sequence.
7. The method of claim 4, wherein, The starting position satisfies the following condition: The id is an integer greater than or equal to 0 and less than or equal to x-2; The id is equal to x-1; Wherein, k0 is the starting position, id is the version number of the redundant version, x is the number of the redundant versions, x is an integer greater than 1, M is the length of the circular cache, and N is the length of the second bit sequence.
8. The method according to any one of claims 1 to 7, characterized in that, The value of n is 3, 4, 5, or 6.
9. The method according to any one of claims 5-7, characterized in that, The value of y is determined based on the system throughput.
10. The method according to any one of claims 1-9, characterized in that, The method further includes: The length of the circular cache is determined based on the rate matching method.
11. The method of claim 10, wherein, Determining the length of the circular buffer based on rate matching includes: The rate matching method is puncturing or repetition, and the length of the circular buffer is the length of the second bit sequence; or The rate matching method is shortening, and the length of the circular buffer is the initial transmission length.
12. The method according to any one of claims 1-11, characterized in that, If E0 is greater than or equal to the length N of the second bit sequence, or if K / E0 is less than or equal to a threshold and E0 is less than the length N of the second bit sequence, the length of the circular buffer is the length of the second bit sequence; or... K / E0 is greater than or equal to the threshold, and E0 is less than the length N of the second bit sequence. The length of the circular buffer is the transmission length of the initial transmission. Where E0 is the initial transmission length, K is the number of information bits in the bit sequence to be encoded, and the second bit sequence is obtained by polar code encoding the bit sequence to be encoded.
13. A communications device, characterized by Includes units or modules for implementing the method as described in any one of claims 1-12.
14. A communications device, characterized by The communication device includes at least one processor; wherein the at least one processor is configured to cause the communication device to perform the method of any one of claims 1-12.
15. A computer readable storage medium characterized by: The computer-readable storage medium stores computer instructions or programs that, when executed, cause the computer to perform the method as described in any one of claims 1-12.
16. A chip, characterized by The chip comprises at least one processor for executing computer instructions or programs which, when run, cause the chip to perform the method of any one of claims 1-12.
17. A computer program product, characterised in that, A computer program or programs which, when run by a computer, cause the method of any one of claims 1-12 to be performed.