Interleaving method and apparatuses

By generating target interleavers through predefined rules from base interleavers, the method addresses the adaptability and efficiency challenges in existing rate matching schemes, enhancing wireless communication system performance and reducing memory costs.

WO2025118443A1PCT designated stage expired Publication Date: 2025-06-12HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/084504
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-05
Filing Date
2024-03-28
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Existing rate matching schemes in wireless communication systems, particularly for Polar, LDPC, and Turbo codes, face challenges in adaptability and efficiency due to rigid interleaving methods, which can lead to suboptimal performance under varying channel conditions.

Method used

The method involves obtaining a base interleaver and generating target interleavers based on predefined rules such as extraction, modification, extension, and merging, allowing for customizable and adaptable rate matching interleaving. This approach reduces memory costs and enhances system performance by optimizing interleaving based on specific transmission conditions.

Benefits of technology

The proposed method provides flexible and efficient rate matching interleaving, improving overall system performance by adapting to different transmission scenarios and reducing memory requirements for storing multiple interleaver sequences.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024084504_12062025_PF_FP_ABST
    Figure CN2024084504_12062025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure provides a method and related products. The method includes: obtaining at least one base interleaver; generating at least one target interleaver based on the at least one base interleaver according to at least one pre-defined rule; performing rate matching interleaving on a first bit sequence by using one or more of the at least one target interleaver. In this way, customizable and adaptable rate matching interleaving can be provided, and memory cost in storing multiple interleaver sequences can be reduced. In addition, the use of target interleavers allows for effective rate matching interleaving, which can improve overall system performance.
Need to check novelty before this filing date? Find Prior Art

Description

INTERLEAVING METHOD AND APPARATUSES

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Provisional Application No. 63 / 606,211, filed on December 5, 2023. The disclosure of the above patent application is incorporated herein by reference in its entirety.TECHNICAL FIELD

[0003] The present disclosure relates to the field of wireless communication technologies, and in particular, to an interleaving method and an apparatus, a device, a system and a storage medium.BACKGROUND

[0004] Generally, source bits to be transmitted would be encoded into code bits in a communication system, to provide error correction capability against adversary channel conditions such as noise and interference. Rate matching would be performed after channel encoding, by either puncturing / shortening or repeating some code bits. The purpose of this operation is to obtain a code bit sequence of desired length for transmission over limited channel resources. Channel interleaving would be applied after channel encoding and rate matching by permuting the code bits. The purpose is to provide stable or superior performance under high-order modulation or in a fading channel. In practice, implementations of rate matching schemes, especially for Polar, LDPC, and Turbo codes, may involve code bit interleaving before bit selection.

[0005] This background information is provided to reveal information believed by the applicant to be of possible relevance to the present disclosure. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present disclosure.SUMMARY

[0006] In a first aspect, an embodiment of the present disclosure provides an interleaving method, including:

[0007] obtaining at least one base interleaver;

[0008] generating at least one target interleaver based on the at least one base interleaver according to at least one pre-defined rule;

[0009] performing rate matching interleaving on a first bit sequence by using one or more of the at least one target interleaver.

[0010] A transmitting device may obtain at least one base interleaver, generate at least one target interleaver based on the at least one base interleaver according to at least one pre-defined rule, and perform rate matching interleaving on a first bit sequence by using one or more of the at least one target interleaver. In this way, customizable and adaptable rate matching interleaving can be provided, and memory cost in storing multiple interleaver sequences can be reduced. In addition, the use of target interleavers allows for effective rate matching interleaving, which can improve overall system performance.

[0011] In a possible implementation of the first aspect, each of the at least one predefined rule includes at least one of: extraction, modification, extension and merging. In this way, additional flexibility and adaptability can be provided to the rate matching interleaving process.

[0012] In a possible implementation of the first aspect, one or more of the at least one target interleaver are generated according to one or more predefined rules including extraction, and

[0013] each of the one or more target interleaver is generated by extracting from one of the at least one base interleaver at least one element that satisfies a preset condition.

[0014] The use of extraction in generating target interleavers provides a flexible and efficient way to adapt the interleaving process to different scenarios and improve the overall effectiveness of the communication system.

[0015] In a possible implementation of the first aspect, the preset condition includes at least one of: a value of an element falling within a preset range, a value of an element being an odd value, or a value of an element being an even value.

[0016] In a possible implementation of the first aspect, one or more of the at least one target interleaver are generated according to one or more predefined rules including modification, and each of the one or more target interleavers is generated through modifying a rate matching interleaver sequence of one of the at least one base interleaver. The use of modification in generating target interleavers provides a flexible and efficient way to adapt the interleaving process to different scenarios and improve the overall effectiveness of the communication system.

[0017] In a possible implementation of the first aspect, the modifying a rate matching interleaver sequence of  one of the at least one base interleaver includes: performing a linear operation on a rate matching interleaver sequence of one of the at least one base interleaver. The use of linear operations in modifying the interleaver sequences enables customization and adaptation to meet specific communication system requirements effectively.

[0018] In a possible implementation of the first aspect, the modifying a rate matching interleaver sequence of one of the at least one base interleaver includes: performing a modulo operation on a rate matching interleaver sequence of one of the at least one base interleaver.

[0019] In a possible implementation of the first aspect, the modifying a rate matching interleaver sequence of one of the at least one base interleaver includes: permuting a binary representation of each element in the rate matching interleaver sequence of the base interleaver.

[0020] The use of permuting a binary representation in modifying the interleaver sequence provides flexibility in designing target interleavers that can effectively address the needs of the communication system.

[0021] In a possible implementation of the first aspect, the permuting a binary representation of each element in the rate matching interleaver sequence includes:

[0022] shifting the binary representation of each element in the rate matching interleaver sequence circularly by a predefined offset in a predefined order.

[0023] In a possible implementation of the first aspect, the permuting the binary representation of each element in the rate matching interleaver sequence includes:

[0024] dividing all elements in the rate matching interleaver sequence into a preset number of groups; and

[0025] swapping an order of the preset number of groups.

[0026] In a possible implementation of the first aspect, the permuting a binary representation of each element in the rate matching interleaver sequence includes:

[0027] reversing an order of elements in the rate matching interleaver sequence.

[0028] In a possible implementation of the first aspect, one or more of the at least one target interleaver are generated according to one or more predefined rules including extension, and each of the one or more target interleaver is generated by dividing an initial sequence into a preset number of sub-blocks and rearranging the sub-blocks according to a permutation rule defined by a rate matching interleaver sequence of one of the at least one base interleaver. The use of extension in generating target interleavers provides a flexible and efficient way to adapt the interleaving process to different scenarios and improve the overall effectiveness of the communication system.

[0029] In a possible implementation of the first aspect, one or more of the at least one target interleaver are  generated according to one or more predefined rules including merging, and each of the at least one target interleaver is generated by merging two or more of rate matching interleaver sequences obtained based on one or more of the at least one base interleaver. The use of merging in generating target interleavers provides a flexible and efficient way to adapt the interleaving process to different scenarios and improve the overall effectiveness of the communication system.

[0030] In a possible implementation of the first aspect, the at least one target interleaver includes multiple target interleavers, and at least two of the multiple target interleavers are associated with at least two preset transmission state conditions respectively, and the performing rate matching interleaving on the first bit sequence by using one or more of the at least one target interleaver includes:

[0031] in response to determining that transmission state information of the first bit sequence satisfies a preset transmission state condition of the at least two transmission condition, performing rate matching interleaving on the first bit sequence by using a target interleaver associated with the preset transmission state condition.

[0032] This approach allows for adaptability in the rate matching interleaving process based on the current transmission state conditions. By selecting the appropriate target interleaver corresponding to the matching transmission state condition, the rate matching interleaving can be optimized to better handle the specific requirements or characteristics of the current transmission state.

[0033] In a possible implementation of the first aspect, the transmission state information of the first bit sequence includes at least one of: rate information of the first bit sequence, length information of the first bit sequence, at least one rate matching method of the first bit sequence, a redundancy version of the first bit sequence or a transmission type of the first bit sequence; and

[0034] each of the at least two transmission state conditions is based on at least one of: a rate information threshold, a length information threshold, at least one rate matching method, a redundancy version, or a transmission type.

[0035] In a possible implementation of the first aspect, the rate information includes a code rate.

[0036] In a possible implementation of the first aspect, the length information includes at least one of: an information block length, a mother code length or a rate matching output sequence length.

[0037] In a possible implementation of the first aspect, the rate matching method includes at least one of: puncturing, shortening or repetition.

[0038] In a possible implementation of the first aspect, the transmission type includes retransmission or initial  transmission.

[0039] In a possible implementation of the first aspect, the first bit sequence is divided into multiple parts that do not overlap with each other, and rate matching interleaving is performed on each of the multiple parts by using a target interleaver associated with a preset transmission state condition that transmission information of the respective part satisfies, to obtain multiple rate matching interleaved parts from the multiple parts. By employing multiple rate matching interleavers to different non-overlapping parts of the code, the performance and efficiency of the rate matching process can be optimized by using different combinations of rate matching methods and interleavers for different code parts.

[0040] In a possible implementation of the first aspect, the method further includes:

[0041] writing each of multiple rate matching interleaved parts to a corresponding one of multiple buffers, where target interleavers used for rate matching interleaving the multiple parts have a one-to-one corresponding relationship with the multiple buffers; and

[0042] reading out code bits from each of the multiple buffer according to a corresponding rate matching method to obtain an output sequence where the corresponding rate matching method is determined according to a code rate of the first bit sequence.

[0043] By associating each of rate matching interleaved parts with a specific buffer and reading out each rate matching interleaved part according to a corresponding rate matching method, the method can adapt to different code rates and transmission strategies. In addition, the use of multiple buffers also allows for independent decoding of each redundancy version or transmission, which enhances the system’s reliability. Moreover, this approach enables the transmission of different code rates, lengths, and characteristics, making the system more adaptive to changing channel conditions.

[0044] In a possible implementation of the first aspect, the method further includes:

[0045] concatenating the multiple rate matching interleaved parts into a second bit sequence in a predefined order, where the second bit sequence includes multiple concatenated parts corresponding to the multiple rate matching interleaved parts one by one;

[0046] performing rate matching on each of the multiple concatenated parts of the second bit sequence sequentially according to a rate matching method of each of the multiple concatenated parts.

[0047] In a possible implementation of the first aspect, the performing rate matching on each of the multiple concatenated parts of the second bit sequence sequentially according to a rate matching method of each of the  multiple concatenated parts includes:

[0048] writing the second sequence into a buffer and reading out each of the multiple concatenated parts of the second sequence according to a rate matching method of the respective concatenated part.

[0049] By using a buffer, higher coding gain can be obtained by combining the code bits from different redundancy versions into a longer bit sequence, and using less repetition.

[0050] In a second aspect, an embodiment of the present disclosure provides an apparatus including various modules configured to execute the method according to the first aspect or any possible implementation of the first aspect.

[0051] In a third aspect, an embodiment of the present disclosure provides an apparatus including processing circuitry for executing the method according to the first aspect or any possible implementation of the first aspect.

[0052] In a fourth aspect, an embodiment of the present disclosure provides an encoder including the apparatus according to the second aspect, or the apparatus according to the third aspect.

[0053] In a fifth aspect, an embodiment of the present disclosure provides an electronic device including an encoder for executing the method according to the first aspect or any possible implementation of the first aspect.

[0054] In a sixth aspect, an embodiment of the present disclosure provides a computer-readable medium storing computer execution instructions which, when executed by a processor, cause the processor to execute the method according to the first aspect or any possible implementation of the first aspect.

[0055] In a seventh aspect, an embodiment of the present disclosure provides a computer program product including computer execution instructions which, when executed by a processor, cause the processor to execute the method according to the first aspect or any possible implementation of the first aspect.

[0056] The present disclosure provides an interleaving method and related products, where at least one base interleaver may be obtained, at least one target interleaver may be generated based on the at least one base interleaver according to at least one pre-defined rule, and rate matching interleaving may be performed on a first bit sequence by using one or more of the at least one target interleaver. In this way, customizable and adaptable rate matching interleaving can be provided, and memory cost in storing multiple interleaver sequences can be reduced. In addition, the use of target interleavers allows for effective rate matching interleaving, which can improve overall system performance.BRIEF DESCRIPTION OF DRAWINGS

[0057] Reference will now be made, by way of example, to the accompanying drawings which show example embodiments of the present disclosure.

[0058] FIG. 1 is a simplified schematic illustration of a communication system according to one or more embodiments of the present disclosure.

[0059] FIG. 2 is a schematic illustration of an example communication system according to one or more embodiments of the present disclosure.

[0060] FIG. 3 is a schematic illustration of a basic component structure of a communication system according to one or more embodiments of the present disclosure.

[0061] FIG. 4 illustrates a block diagram of a device in a communication system according to one or more embodiments of the present disclosure.

[0062] FIG. 5 is a schematic diagram of an example of a polar code according to one or more embodiments of the present disclosure.

[0063] FIG. 6 is a schematic diagram showing a sub-block interleaver pattern table reproduced from a 3GPP standard specification, with directions for puncturing and shortening marked.

[0064] FIG. 7 is a schematic diagram of an example of polar code rate matching according to one or more embodiments of the present disclosure.

[0065] FIG. 8 is a schematic diagram of an example of polar HARQ according one or more embodiments of the present disclosure.

[0066] FIG. 9 is a schematic diagram of an example of an encoding process according one or more embodiments of the present disclosure.

[0067] FIG. 10 is a schematic diagram of an example of an encoding process according one or more embodiments of the present disclosure.

[0068] FIG. 11 is a schematic diagram of an example of a polar transform matrix according one or more embodiments of the present disclosure.

[0069] FIG. 12 shows a schematic flowchart of an interleaving method according to one or more example embodiments of the present disclosure.

[0070] FIG. 13 is a schematic diagram illustrating a rate matching method according to one or more example  embodiments of the present disclosure.

[0071] FIG. 14 is a schematic diagram illustrating a rate matching method according to one or more example embodiments of the present disclosure.

[0072] FIG. 15 shows a schematic structural diagram of an apparatus according to one or more example embodiments of the present disclosure.DESCRIPTION OF EMBODIMENTS

[0073] In the following description, reference is made to the accompanying figures, which form part of the present disclosure, and which show, by way of illustration, specific aspects of embodiments of the present disclosure or specific aspects in which embodiments of the present disclosure may be used. It is understood that embodiments of the present disclosure may be used in other aspects and include structural or logical changes not depicted in the figures. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims.

[0074] In wireless communications, channel quality is constantly changing due to the fading effects at both fast and slow scale. Accordingly, channel coding has always been designed to adapt to the channel states. Modulation coding scheme (MCS) adaptation is a powerful method to combat varying channel states, in which the modulation order and code length and coding rate can be changed in real time. Therefore, it requires that a channel coding scheme can flexibly change the code length and code rate in a fine-grained way, and at the same time achieve good error correction performance in all possible configurations. This fine-grained flexibility of channel codes is one of the most challenging problem for engineers in this domain.

[0075] At the same time, the complexity of both encoding and decoding algorithms need to be sufficiently low. In hardware, complexity can be evaluated through measuring chip area and energy efficiency. They are related to algorithmic complexity, but are more closely related to hardware cost and battery life. Therefore, there exists a desire to reduce implementation complexity when designing coding schemes.

[0076] Future communication systems, such as so-called sixth-generation (6G) systems, may aim to support several challenging scenarios, including for example immersive communication, massive communication, and hyper reliable and low-latency communication. The KPIs that are related to channel coding include coding gain, reliability, throughput, latency and their tradeoffs. For example, the throughput target of 6G may reach above 1 Tbps, and the  energy efficiency target may decrease to 1 pJ / bit. Meanwhile, a coding scheme supporting flexible rate matching and IR-HARQ schemes is also beneficial. Accordingly, it is desirable yet challenging to design a code ensemble to fulfill all these KPIs and capabilities.

[0077] Referring to FIG. 1, as an illustrative example without limitation, a simplified schematic illustration of a communication system is provided. The communication system 100 comprises a radio access network 120. The radio access network 120 may be a next generation (e.g. sixth generation (6G) or later) radio access network, or a legacy (e.g. 5G, 4G, 3G or 2G) radio access network. One or more communication electronic devices (ED) 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j (generically referred to as 110) may be interconnected to one another or connected to one or more network nodes (170a, 170b, generically referred to as 170) in the radio access network 120. A core network 130 may be a part of the communication system and may be dependent or independent of the radio access technology used in the communication system 100. Also the communication system 100 comprises a public switched telephone network (PSTN) 140, the internet 150, and other networks 160.

[0078] FIG. 2 illustrates an example communication system 100. In general, the communication system 100 enables multiple wireless or wired elements to communicate data and other content. The purpose of the communication system 100 may be to provide content, such as voice, data, video, and / or text, via broadcast, multicast, groupcast, unicast, etc. The communication system 100 may operate by sharing resources, such as carrier spectrum bandwidth, between its constituent elements. The communication system 100 may include a terrestrial communication system and / or a non-terrestrial communication system. The communication system 100 may provide a wide range of communication services and applications (such as earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc. ) . The communication system 100 may provide a high degree of availability and robustness through a joint operation of a terrestrial communication system and a non-terrestrial communication system. For example, integrating a non-terrestrial communication system (or components thereof) into a terrestrial communication system can result in what may be considered a heterogeneous network comprising multiple layers. Compared to conventional communication networks, the heterogeneous network may achieve better overall performance through efficient multi-link joint operation, more flexible functionality sharing, and faster physical layer link switching between terrestrial networks and non-terrestrial networks.

[0079] The terrestrial communication system and the non-terrestrial communication system could be considered sub-systems of the communication system. In the example shown in FIG. 2, the communication system 100 includes  electronic devices (ED) 110a, 110b, 110c, 110d (generically referred to as ED 110) , radio access networks (RANs) 120a, 120b, a non-terrestrial communication network 120c, a core network 130, a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160. The RANs 120a, 120b include respective base stations (BSs) 170a, 170b, which may be generically referred to as terrestrial transmit and receive points (T-TRPs) 170a, 170b. The non-terrestrial communication network 120c includes an access node 172, which may be generically referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.

[0080] Any ED 110 may be alternatively or additionally configured to interface, access, or communicate with any T-TRP 170a, 170b and NT-TRP 172, the Internet 150, the core network 130, the PSTN 140, the other networks 160, or any combination of the preceding. In some examples, ED 110a may communicate an uplink and / or downlink transmission over a terrestrial air interface 190a with T-TRP 170a. In some examples, the EDs 110a, 110b, 110c, and 110d may also communicate directly with one another via one or more sidelink air interfaces 190b. In some examples, ED 110d may communicate an uplink and / or downlink transmission over a non-terrestrial air interface 190c with NT-TRP 172.

[0081] The air interfaces 190a and 190b may use similar communication technology, such as any suitable radio access technology. For example, the communication system 100 may implement one or more channel access methods, such as code division multiple access (CDMA) , space division multiple access (SDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , or single-carrier FDMA (SC-FDMA, also known as discrete Fourier transform spread OFDMA, DFT-s-OFDMA) in the air interfaces 190a and 190b. The air interfaces 190a and 190b may utilize other higher dimension signal spaces, which may involve a combination of orthogonal and / or non-orthogonal dimensions.

[0082] The non-terrestrial air interface 190c can enable communication between the ED 110d and one or multiple NT-TRPs 172 via a wireless link or simply a link. For some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs 110 and one or multiple NT-TRPs 172 for multicast transmission.

[0083] The RANs 120a and 120b are in communication with the core network 130 to provide the EDs 110a 110b, and 110c with various services such as voice, data, and other services. The RANs 120a and 120b and / or the core network 130 may be in direct or indirect communication with one or more other RANs (not shown) , which may or may not be directly served by core network 130, and may or may not employ the same radio access technology as RAN 120a, RAN 120b or both. The core network 130 may also serve as a gateway access between (i) the RANs  120a and 120b or EDs 110a 110b, and 110c or both, and (ii) other networks (such as the PSTN 140, the Internet 150, and the other networks 160) . In addition, some or all of the EDs 110a 110b, and 110c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of wireless communication (or in addition thereto) , the EDs 110a 110b, and 110c may communicate via wired communication channels to a service provider or switch (not shown) , and to the Internet 150. PSTN 140 may include circuit switched telephone networks for providing plain old telephone service (POTS) . Internet 150 may include a network of computers and subnets (intranets) or both, and incorporate protocols, such as Internet Protocol (IP) , Transmission Control Protocol (TCP) , User Datagram Protocol (UDP) . EDs 110a 110b, and 110c may be multimode devices capable of operation according to multiple radio access technologies, and incorporate multiple transceivers necessary to support such.

[0084] FIG. 3 illustrates another example of an ED 110 and a base station 170a, 170b and / or 170c. The ED 110 is used to connect persons, objects, machines, etc. The ED 110 may be widely used in various scenarios including, for example, cellular communications, device-to-device (D2D) , vehicle to everything (V2X) , peer-to-peer (P2P) , machine-to-machine (M2M) , machine-type communications (MTC) , internet of things (IoT) , virtual reality (VR) , augmented reality (AR) , mixed reality (MR) , metaverse, digital twin, industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobility, etc.

[0085] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred to) as a user equipment / device (UE) , a wireless transmit / receive unit (WTRU) , a mobile station, a fixed or mobile subscriber unit, a cellular telephone, a station (STA) , a machine type communication (MTC) device, a personal digital assistant (PDA) , a smartphone, a laptop, a computer, a tablet, a wireless sensor, a consumer electronics device, a smart book, a vehicle, a car, a truck, a bus, a train, or an IoT device, wearable devices (such as a watch, a pair of glasses, head mounted equipment, etc. ) , an industrial device, or an apparatus in (e.g. communication module, modem, or chip) or comprising the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to using other terms. The base station 170a and 170b is a T-TRP and will hereafter be referred to as T-TRP 170. Also shown in FIG. 3, a NT-TRP will hereafter be referred to as NT-TRP 172. Each ED 110 connected to T-TRP 170 and / or NT-TRP 172 can be dynamically or semi-statically turned-on (i.e., established, activated, or enabled) , turned-off (i.e., released, deactivated, or disabled) and / or configured in response to one of more of: connection availability and connection necessity.

[0086] The ED 110 includes a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas 204 may alternatively be panels. The transmitter 201 and the receiver 203 may be integrated, e.g. as a transceiver. The transceiver is configured to modulate data or other content for transmission by at least one antenna 204 or network interface controller (NIC) . The transceiver is also configured to demodulate data or other content received by the at least one antenna 204. Each transceiver includes any suitable structure for generating signals for wireless or wired transmission and / or processing signals received wirelessly or by wire. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals.

[0087] The ED 110 includes at least one memory 208. The memory 208 stores instructions and data used, generated, or collected by the ED 110. For example, the memory 208 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by one or more processing unit (s) (e.g., a processor 210) . Each memory 208 includes any suitable volatile and / or non-volatile storage and retrieval device (s) . Any suitable type of memory may be used, such as random access memory (RAM) , read only memory (ROM) , hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, on-processor cache, and the like.

[0088] The ED 110 may further include one or more input / output devices (not shown) or interfaces (such as a wired interface to the Internet 150 in FIG. 1) . The input / output devices or interfaces permit interaction with a user or other devices in the network. Each input / output device or interface includes any suitable structure for providing information to or receiving information from a user, and / or for network interface communications. Suitable structures include, for example, a speaker, microphone, keypad, keyboard, display, touch screen, etc.

[0089] The ED 110 includes the processor 210 for performing operations including those operations related to preparing a transmission for uplink transmission to the NT-TRP 172 and / or the T-TRP 170; those operations related to processing downlink transmissions received from the NT-TRP 172 and / or the T-TRP 170; and those operations related to processing sidelink transmission to and from another ED 110. Processing operations related to preparing a transmission for uplink transmission may include operations such as encoding, modulating, transmit beamforming, and generating symbols for transmission. Processing operations related to processing downlink transmissions may include operations such as receive beamforming, demodulating and decoding received symbols. Depending upon the embodiment, a downlink transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the downlink transmission (e.g. by detecting and / or decoding the  signaling) . An example of signaling may be a reference signal transmitted by the NT-TRP 172 and / or by the T-TRP 170. In some embodiments, the processor 210 implements the transmit beamforming and / or the receive beamforming based on the indication of beam direction, e.g. beam angle information (BAI) , received from the T-TRP 170. In some embodiments, the processor 210 may perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as operations relating to detecting a synchronization sequence, decoding and obtaining the system information, etc. In some embodiments, the processor 210 may perform channel estimation, e.g. using a reference signal received from the NT-TRP 172 and / or from the T-TRP 170.

[0090] Although not illustrated, the processor 210 may form part of the transmitter 201 and / or part of the receiver 203. Although not illustrated, the memory 208 may form part of the processor 210.

[0091] The processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory (e.g. in the memory 208) . Alternatively, some or all of the processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented using dedicated circuitry, such as a programmed field-programmable gate array (FPGA) , an application-specific integrated circuit (ASIC) , or a hardware accelerator such as a graphics processing unit (GPU) or an artificial intelligence (AI) accelerator.

[0092] The T-TRP 170 may be known by other names in some implementations, such as a base station, a base transceiver station (BTS) , a radio base station, a network node, a network device, a device on the network side, a transmit / receive node, a Node B, an evolved NodeB (eNodeB or eNB) , a Home eNodeB, a next Generation NodeB (gNB) , a transmission point (TP) , a site controller, an access point (AP) , a wireless router, a relay station, a terrestrial node, a terrestrial network device, a terrestrial base station, a base band unit (BBU) , a remote radio unit (RRU) , an active antenna unit (AAU) , a remote radio head (RRH) , a central unit (CU) , a distributed unit (DU) , a positioning node, among other possibilities. The T-TRP 170 may be a macro BS, a pico BS, a relay node, a donor node, or the like, or combinations thereof. The T-TRP 170 may refer to the forgoing devices or refer to apparatus (e.g. a communication module, a modem, or a chip) in the forgoing devices.

[0093] In some embodiments, the parts of the T-TRP 170 may be distributed. For example, some of the modules of the T-TRP 170 may be located remote from the equipment that houses the antennas 256 for the T-TRP 170, and may be coupled to the equipment that houses the antennas 256 over a communication link (not shown) sometimes known as front haul, such as common public radio interface (CPRI) . Therefore, in some embodiments, the term T- TRP 170 may also refer to modules on the network side that perform processing operations, such as determining the location of the ED 110, resource allocation (scheduling) , message generation, and encoding / decoding, and that are not necessarily part of the equipment that houses the antennas 256 of the T-TRP 170. The modules may also be coupled to other T-TRPs. In some embodiments, the T-TRP 170 may actually be a plurality of T-TRPs that are operating together to serve the ED 110, e.g. through the use of coordinated multipoint transmissions.

[0094] The T-TRP 170 includes at least one transmitter 252 and at least one receiver 254 coupled to one or more antennas 256. Only one antenna 256 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas 256 may alternatively be panels. The transmitter 252 and the receiver 254 may be integrated as a transceiver. The T-TRP 170 further includes a processor 260 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing a transmission for backhaul transmission to the NT-TRP 172, and processing a transmission received over backhaul from the NT-TRP 172. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. multiple input multiple output (MIMO) precoding) , transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. The processor 260 may also perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as generating the content of synchronization signal blocks (SSBs) , generating the system information, etc. In some embodiments, the processor 260 also generates an indication of beam direction, e.g. BAI, which may be scheduled for transmission by a scheduler 253. The processor 260 performs other network-side processing operations described herein, such as determining the location of the ED 110, determining where to deploy the NT-TRP 172, etc. In some embodiments, the processor 260 may generate signaling, e.g. to configure one or more parameters of the ED 110 and / or one or more parameters of the NT-TRP 172. Any signaling generated by the processor 260 is sent by the transmitter 252. Note that “signaling” , as used herein, may alternatively be called control signaling. Signaling may be transmitted in a physical layer control channel, e.g. a physical downlink control channel (PDCCH) , in which case the signaling may be known as dynamic signaling. Signaling transmitted in a downlink physical layer control channel may be known as Downlink Control Information (DCI) . Signaling transmitted in an uplink physical layer control channel may be known as Uplink Control Information (UCI) . Signaling transmitted in a sidelink physical layer control channel may be known as Sidelink Control Information (SCI) . Signaling may be included in a higher-layer (e.g.,  higher than physical layer) packet transmitted in a physical layer data channel, e.g. in a physical downlink shared channel (PDSCH) , in which case the signaling may be known as higher-layer signaling, static signaling, or semi-static signaling. Higher-layer signaling may also refer to Radio Resource Control (RRC) protocol signaling or Media Access Control –Control Element (MAC-CE) signaling.

[0095] The scheduler 253 may be coupled to the processor 260. The scheduler 253 may be included within or operated separately from the T-TRP 170. The scheduler 253 may schedule uplink, downlink, sidelink, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free (e.g., “configured grant” ) resources. The T-TRP 170 further includes a memory 258 for storing information and data. The memory 258 stores instructions and data used, generated, or collected by the T-TRP 170. For example, the memory 258 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by the processor 260.

[0096] Although not illustrated, the processor 260 may form part of the transmitter 252 and / or part of the receiver 254. Also, although not illustrated, the processor 260 may implement the scheduler 253. Although not illustrated, the memory 258 may form part of the processor 260.

[0097] The processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 258. Alternatively, some or all of the processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC.

[0098] Although the NT-TRP 172 is illustrated as a drone only as an example, the NT-TRP 172 may be implemented in any suitable non-terrestrial form, such as satellites and high altitude platforms, including international mobile telecommunication base stations and unmanned aerial vehicles, for example. Also, the NT-TRP 172 may be known by other names in some implementations, such as a non-terrestrial node, a non-terrestrial network device, or a non-terrestrial base station. The NT-TRP 172 includes a transmitter 272 and a receiver 274 coupled to one or more antennas 280. Only one antenna 280 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas may alternatively be panels. The transmitter 272 and the receiver 274 may be integrated as a transceiver. The NT-TRP 172 further includes a processor 276 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from  the ED 110, preparing a transmission for backhaul transmission to T-TRP 170, and processing a transmission received over backhaul from the T-TRP 170. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. MIMO precoding) , transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. In some embodiments, the processor 276 implements the transmit beamforming and / or receive beamforming based on beam direction information (e.g. BAI) received from the T-TRP 170. In some embodiments, the processor 276 may generate signaling, e.g. to configure one or more parameters of the ED 110. In some embodiments, the NT-TRP 172 implements physical layer processing, but does not implement higher layer functions such as functions at the medium access control (MAC) or radio link control (RLC) layer. As this is only an example, more generally, the NT-TRP 172 may implement higher layer functions in addition to physical layer processing.

[0099] The NT-TRP 172 further includes a memory 278 for storing information and data. Although not illustrated, the processor 276 may form part of the transmitter 272 and / or part of the receiver 274. Although not illustrated, the memory 278 may form part of the processor 276.

[0100] The processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 278. Alternatively, some or all of the processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC. In some embodiments, the NT-TRP 172 may actually be a plurality of NT-TRPs that are operating together to serve the ED 110, e.g. through coordinated multipoint transmissions.

[0101] The T-TRP 170, the NT-TRP 172, and / or the ED 110 may include other components, but these have been omitted for the sake of clarity.

[0102] One or more steps of the embodiment methods provided herein may be performed by corresponding units or modules, according to FIG. 4. FIG. 4 illustrates units or modules in a device, such as in the ED 110, in the T-TRP 170, or in the NT-TRP 172. For example, a signal may be transmitted or output by a transmitting unit or by a transmitting module. A signal may be received or input by a receiving unit or by a receiving module. A signal may be processed by a processing unit or a processing module. Other steps may be performed by an artificial intelligence  (AI) or machine learning (ML) module. The respective units or modules may be implemented using hardware, one or more components or devices that execute software, or a combination thereof. For instance, one or more of the units or modules may be a circuit such as an integrated circuit. Examples of an integrated circuit includes a programmed FPGA, a GPU, or an ASIC. For instance, one or more of the units or modules may be logical such as a logical function performed by a circuit, by a portion of an integrated circuit, or by software instructions executed by a processor. It will be appreciated that where the modules are implemented using software for execution by a processor for example, the modules may be retrieved by a processor, in whole or part as needed, individually or together for processing, in single or multiple instances, and that the modules themselves may include instructions for further deployment and instantiation.

[0103] While not shown, the transmitting module and the receiving module may be part of, or combined into, a transceiver module. A transceiver module may also be known as an interface module, or simply an interface, for inputting and outputting operations.

[0104] Additional details regarding the EDs 110, the T-TRP 170, and the NT-TRP 172 are known to those of skill in the art. As such, these details are omitted here.

[0105] The channel coding module in communications systems encode K source bits into N code bits to provide error correction capability against adversary channel conditions such as noise and interference. The code rate is R=K / N. In practice, the code rate R is selected according to channel quality.

[0106] Polar codes are capacity-achieving codes and thus a great breakthrough in coding theory. As code length approaches infinity, the synthesized channels (also known as subchannels, which are created by or associated with the polar code) become either noiseless or pure noise. The noiseless subchannels are utilized to transport information, and their proportion is proven to achieve the channel capacity defined by Shannon. The above-mentioned channel polarization phenomenon occurs under successive cancellation (SC) or SC-based decoding, which has a relatively low complexity.

[0107] Rate matching is performed after channel encoding, by either puncturing / shortening or repeating some code bits. The purpose of this operation is to obtain a code bit sequence of desired length for transmission over limited channel resources.

[0108] Channel interleaving is applied after channel encoding and rate matching by permuting the code bits. The purpose is to provide stable or superior performance under high-order modulation or in a fading channel.

[0109] Hybrid automatic repeat request (HARQ) is a mechanism to provide reliable wireless transmission. It  combines forward error correction (FEC) and automatic repeat request (ARQ) . In HARQ, the initial transmission is a FEC code word with means (such as CRC bits) to support error detection at the receiver. If a decoding error is detected, the receiver will send back a negative acknowledgment (NACK) signaling to inform the transmitter of the error, and request a retransmission. The retransmitted bits can be directly selected from the initially transmitted bits, or incrementally generated code bits which form a longer code word with the initially transmitted bits. The former approach is called chase-combining HARQ (CC-HARQ) and the latter approach is called incremental-redundancy HARQ (IR-HARQ) . Typically, IR-HARQ outperforms CC-HARQ with the additional coding gain from incremental redundancy.

[0110] Polar codes belong to the class of linear block codes. For a polar code of length N, its generator matrix is GN, and its encoding process is where is the binary information vector,  is the binary code vector. The N×N binary matrix where is the polarization kernel matrix, n=log2N, and is Kronecker product.

[0111] Typically, there are K information bits to be encoded into N code bits. Accordingly, the inequality K<N is given to obtain a code rate R=K / N<1. That implies only part of is used to carry information bits, and the rest are typically called frozen bits. Denote by I the information bit set (or information set) , and F the frozen bit set (or frozen set) , respectively. Sometimes, there is an additional PC bit set, denoted by P. The frozen bits are known (usually all zeros, but may also be other known values or sequences) before decoding, so they do not carry any payload information. The PC bits are parity-check bits generated from a subset of information bits. Therefore, the PC bits are known once the associated information bits are decoded. The decoding of polar codes attempts to recover all information bits.

[0112] The transmitted code length M may not always be the power of 2, i.e., M<N. In practice, puncturing and shortening are used to reduce transmitted code bits from N to M. For convenience, the present disclosure hereinafter refers to N as the mother code length, and M as the code length. In particular, punctured bits are non-transmitted bits unknown to the decoder, but shortened bits are non-transmitted bits known to the decoder (usually all zeros) .

[0113] An example of a polar code with N=8, K=4 is shown in a trellis graph as shown in FIG. 5. Each “butterfly” in the graph represents a polarization, i.e.,  In this example, the information set is I= {u4,u6, u7, u8} , and the frozen set is F= {u1, u2, u3, u5} .

[0114] Successive cancellation (SC) is the basic decoding algorithm for polar codes, where all the frozen bits  and information bits are decoded sequentially, i.e., bit by bit. The preceding bits are typically always decoded first.

[0115] Successive cancellation list (SCL) is an enhanced decoding algorithm for polar codes, where multiple (e.g., a number L) SC decoding instances are executed. Each instance is called a “decoding path” . When decoding each binary bit, both “0” and “1” branches are extended to each path, creating 2L paths. Then, all 2L paths are compared, where the most likely L paths are kept, and the least likely L paths are discarded (or pruned) . These path extension and pruning operations are performed during decoding of every information bit, until all information bits are decoded. At last, the most likely path is selected as the decoding output.

[0116] CRC-aided successive cancellation list (CA-SCL) works almost the same as SCL, except that in the last step, the most likely path that passes CRC check is selected as the decoding output.

[0117] Parity-check successive cancellation list (PC-SCL) works almost the same as SCL, except that when decoding parity-check (PC) bits, the parity check value of associated preceding bits is used as the bit decision result. PC bits may be considered a type of bit in addition to frozen bits and information bits.

[0118] Low Density Parity Check (LDPC) code is a channel coding scheme capable of achieving performance that approaches the Shannon limit, and furthermore features good overall performance and low complexity.

[0119] The LDPC code is encoded through a parity-check matrix. One class of LDPC code has a particular structure known as quasi-cyclic (QC) . In a QC-LDPC code, a shifting value of each block is designed to avoid a bad structure such as a short circle, and improve a code distance. Decoding algorithms for LDPC codes include Min-Sum (MS) and Belief Propagation (BP) . In terms of decoding performance, the BP decoding algorithm is better, but it has a large amount of information storage and a complex computation overhead, which is not convenient to hardware implementation. Therefore, Offset-MS and Normalized-MS decoding algorithms are used in realistic communication systems. An example LDPC code implementation extends the “1” in the basic graph (BG) by a square matrix, which is a cyclic shifted version of an identity matrix. The BG of QC-LDPC code can be defined by BG= (X, Y, F) , where X corresponds to a variable, Y corresponds to a check equation, and F is its edge connections. The Tanner graph is obtained after QC lifting with an expansion factor Zc. That is, a bipartite graph G= (V, C, E) , where V is a variable node, C is a check node, E is a connected edge, and a corresponding parity matrix column quantity N=|V|=Zc |X|. The quantity of rows of the check matrix M=|C|=Zc |Y|, and a quantity of non-zero elements of the check matrix is |E|=Z|F|.

[0120] In an example, LDPC payloads include information block lengths ranging from 1 to 8448. The LDPC code implementation includes two parity-check matrices: BG1 and BG2. The same base graph, lifted by different  lifting sizes, can adapt to a wide set of different code rates and lengths. This flexible implementation can be achieved, for example, by storing the Lifting Size and Shifting Value lists in the look-up tables, and then performing rate matching and IR-HARQ based on the tables.

[0121] In an example rate matching scheme for LDPC codes, a codeword before rate matching (referred as a mother codeword) includes three disjoint portions or parts, i.e., systematic bits, core parity check bits and extended parity check bits. Four different redundancy versions (RVs) including RV0, RV1, RV2 and RV3 are generated from the mother codeword after rate matching. In an initial transmission, RV0 is normally selected; in RV0, most of the systematic bits are included in the set of coded bits. Depending on the effective code rate, part of the core parity bits or all of the core parity check bits and extended parity bits are included in RV0. As a result, RV0 has the highest self-decodable ability among all RVs (i.e., RV0 can be self-decodable at highest code rate) . In a retransmission, the transmitter may select RV1, RV2 or RV3. In this particular example, only RV3 is self-decodable, while RV1 and RV2 are not self-decodable at high code rate. At some code rates, RV1 and RV2 may only include parity check bits, resulting in unsuccessful decoding at the receiver.

[0122] Rate-compatible polar coding is a desirable technology for wireless applications. In one example of polar code rate matching, a combination of puncturing, shortening and repetition is used together with a fixed reliability sequence to balance performance and complexity. In particular, subblock-wise interlacing and interleaving is used for both puncturing and shortening. The puncturing and shortening patterns are symmetric.

[0123] With mother code length N, and code length M, the specific rate matching scheme used is

[0124] Repetition, when M>N;

[0125] Puncturing, when K / M≤7 / 16;

[0126] Shortening, when K / M>7 / 16;

[0127] A subblock-wise interleaving is performed before puncturing and shortening. The interleaver partitions the length-N mother code into 32 subblocks of size N / 32 and interlaces them. An example interleaver scheme is shown in FIG. 6. FIG. 6 shows a sub-block interleaver pattern table reproduced from a 3GPP standard specification.

[0128] Since puncturing is performed from the 1st code bit, and shortening is performed from the last code bit, the rate matching module is efficiently implemented through a cyclic buffer. All mother code bits are placed in the cyclic buffer, and puncturing is done by selecting the bits in clockwise order, and shortening is done by selecting bits in counter-clockwise order. The cyclic buffer is illustrated in FIG. 7.

[0129] Another polar code rate matching example involves an incremental freezing HARQ method, where  transmissions of multiple short code words are supported. As more short codes are transmitted, the overall code length increases, and the overall code rate decreases.

[0130] In the first transmission, an (M1, K) polar code is constructed, encoded and transmitted. The code rate is R1=K / M1. Usually, the code rate is determined such that R1<C1, where C1 is the channel capacity of the first transmission. But in the case of faded channel or inaccurate channel estimation, there may be inequality R1>C1, and decoding will fail and a second transmission is required.

[0131] In the second transmission, K2 least reliable information bits are selected from the K information bits in the first transmission. In practice, K2 is chosen according to the estimated channel capacity of the second transmission. An (M2, K2) polar code is constructed accordingly and encoded and transmitted. However, if R2>C2, and decoding will fail again and a third transmission is required.

[0132] The third and fourth transmissions are constructed similarly, and so on.

[0133] At the receiver side, the decoder should always decode the last received code word, because it has the lowest code rate and thus the best chance of successful decoding. After the last transmission is correctly decoded, the corresponding information bits in all previous transmissions become known, and can be decoded as frozen bits with known values. This process is repeated as more code words are decoded, until all K bits in the first transmission is decoded. The term “incremental freezing” refers to the operations to additionally freeze some information bits in the previous transmissions once a later transmitted code word is decoded.

[0134] An example is illustrated in FIG. 8, where M1=M2=M3=M4=16, and K1=12, K2=6, K3=4, K4=3.

[0135] Parity-check (PC) polar codes may be used to improve minimum distance of polar codes. PC polar codes may also be used to support IR-HARQ. In the latter case, the PC bits are used to couple multiple retransmissions into a longer polar code with extra coding gain.

[0136] The PC functions used for IR-HARQ may be considered a special case, where some information bits are copied from the initial transmitted code block to a retransmitted code block. This one-to-one parity checking between the two shorter code blocks effectively couples the two code blocks into a longer code block.

[0137] For example, the initial transmission is a (M1=8, K=5) polar code, where {u0, u1, u2, u3, u4} is the information set, and {u5, u6, u7} is the frozen set. Its encoding process is illustrated in FIG. 9.

[0138] In the first retransmission, four additional code bits are transmitted. These four bits are coupled with the initially transmitted 8 bits to form a (M2=12, K=5) polar code. The coupling is achieved by copying the value of u4 to u8 during encoding, thus generating a PC function u4 + u8 = 0 (or equivalently u8 = u4) . As said, the largest index  in this PC function corresponds to the PC bit (here u8) . During decoding, u4 decoded as an information bit, while u8 is decoded as a PC bit using u8 = u4. With {u0, u1, u2, u3, u8} as the information set, {u4} as the PC set, and {u5, u6, u7, u9, u10, u11} as the frozen set, the encoding process is illustrated in FIG. 10.

[0139] In the second retransmission, the remaining four bits c12, c13, c14, c15 are transmitted to form a (M3=16, K=5) polar code. But this time no new PC bits are generated.

[0140] From the polar transform matrix point of view, the three transmissions with effective code lengths M1=8, M2=12, M3=16, are illustrated in FIG. 11.

[0141] Rate-compatible LDPC coding is also another desirable technology for wireless applications. LDPC rate matching may involve a combination of puncturing, shortening, and repetition used together with quasi-cyclic lifting based on a base graph (BG) and a set of shifting values. In particular examples, the lifting size Zc is grouped into eight sets according to where aj∈ {2, 3, 5, 7, 9, 11, 13, 15} and max (kj) ∈ {7, 7, 6, 5, 5, 5, 4, 4} . The lifting sizes derived from the same aj belong to the same set, and share the same shifting value. The shifting values for all the non-zero positions in the BG and for all groups of lifting sizes are stored in a single table. During the construction of a parity-check matrix, the lifting size Zc, is determined first, then the set index j of the lifting size is obtained, and finally the shifting value is obtained from the table.

[0142] In general, a practical rate matching scheme may need to specify the following parameters:

[0143] ● Repetition, puncturing and shortening patterns if the rate matching output length is pre-defined; the rate matching patterns can be specified by a rate matching interleaver;

[0144] ● The order of the code bits to be transmitted. Typically, a conceptual circular buffer is defined, and code bits are written into the circular buffer in a certain order, and read out according to a certain order. Usually, the writing order is specified by a rate matching interleaver, and the read-out order is sequential by ascending bit index.

[0145] Sometimes, to obtain higher coding gain under different code lengths and rates, and during multiple transmission opportunities, multiple interleavers need to be defined. In some cases, the multiple interleavers are derived from one or more base interleavers, defined in one or more tables. In some cases, multiple interleavers are defined for different rate matching methods, e.g., puncturing, shortening, or repetition. In some cases, code bits interleaved by the multiple interleavers are written to one or more circular buffer (s) .

[0146] Some embodiments of the present disclosure include one or more of the following features. Note that the following features can be separately adopted, or work together as a complete solution.

[0147] ● Multiple rate matching interleavers, rather than a single rate matching interleaver, are defined. For example, multiple tables are defined to describe these interleavers. The advantageous effect is more flexibility and thus better performance in a wide range of scenarios.

[0148] ● A rate matching interleaver can be modified from another base interleaver. To simplify the description of a rate matching scheme, optionally define only one single base interlaver, based on which multiple final interleavers are derived from, or modified from, according to different pre-defined rules.

[0149] ● Multiple base interleavers are defined, based on which multiple final interleavers are derived, according to a pre-defined rule. The advantageous effect is reduced memory cost in storing multiple interleaver sequences.

[0150] ● A single base interlaver is defined, based on which multiple final interleavers are derived, according to different pre-defined rules. The advantageous effect is further reduced memory cost in storing the interleaver sequence.

[0151] ● Based on different code lengths and rates, different interleavers may be adopted, or derived from one or more base interleaver (s) according to a pre-defined rule. The advantageous effect is more flexibility and thus better performance in a wide range of code lengths and rates.

[0152] ● Based on different rate matching methods, such as puncturing, shortening and repetition, different interleavers may be adopted. For example, one interleaver for puncturing, one interleaver for shortening and one interleaver for repetition. The advantageous effect is stable and superior performance when both puncturing and shortening will be employed for rate matching.

[0153] ● For different transmissions, e.g., initial transmission and retransmission (s) , or different redundancy versions, different interleavers may be adopted. For example, one interleaver is used for initial transmission, and another set of interleavers is used for retransmissions. For example, one interleaver is used for redundancy version 0 (RV0) , another interleaver is used for redundancy version 1 (RV1) , yet another interleaver is used for redundancy version 2 (RV2) , and yet another interleaver is used for redundancy version 3 (RV3) . The advantageous effect is good performance for all transmissions (or redundancy versions) and better self-decodability for each transmission (or redundancy version) .

[0154] ● Multiple rate matching interleavers can be employed to different parts of the code. This is a hybrid rate matching schemes. The code parts, along with their corresponding rate matching methods and interleavers, should be pre-defined.

[0155] ● For the aforementioned multiple interleavers, multiple circular buffers are defined. These circular buffers can be actually implemented as such, or can simply be a set of memory storage that is conceptually defined as a circular buffer for simple description. The code bits, or a subset of code bits, after being interleaved according to one interleaver, are written to a circular buffer. That is to say, the code bits, after being interleaved by different interleavers, are written into different circular buffers. The advantageous effect is more flexibility, and enabling per-transmission optimization.

[0156] ● For the aforementioned multiple interleavers, one single circular buffer is defined. The circular buffer can be actually implemented as such, or can simply be a set of memory storage that is conceptually defined as a circular buffer for simple description. The code bits, after being interleaved by different interleavers, are first concatenated into one bit sequence, and then written into the single circular buffer. The concatenation order may also be pre-defined. The advantageous effect is reduced description complexity.

[0157] Some embodiments of the present disclosure relate to multiple tables for the multiple interleavers.

[0158] FIG. 12 shows a schematic flowchart of an interleaving method according to one or more example embodiments of the present disclosure. The method may be implemented by an apparatus, such as a rate matching interleaving apparatus, a rate matching apparatus or other devices, such as a chip which has similar function. Optionally, the apparatus may be integrated into an encoder for encoding code bits to be transmitted by a transmitting device, such as a network device, a user equipment, an electronic device, which is not limited herein. As shown in FIG. 12, the method can include the following steps.

[0159] S1201, obtain at least one base interleaver.

[0160] In the embodiment, the transmitting device obtains at least one base interleaver. The base interleaver may be defined in advance and may be stored in the transmitting device. The at least one base interleaver may be of the same length or may be of different lengths, which is not limited here.

[0161] In a possible implementation, the base interleaver may include, but is not limited to: a triangular interleaver, a block interleaver, a subblock interleaver, a bit-reversed interleaver, a cyclic shift interleaver, a pseudo-random interleaver, or a quadratic permutation polynomials (QPP) interleaver.

[0162] In a possible implementation, the base interleaver may be defined by an integer vector.

[0163] For example, multiple rate matching interleavers, defined by integer vectors P1, P2, …, Pm, can be defined in multiple tables. For example, two interleavers of length 16 may be defined in Table I.

[0164] Table I: multiple length-16 interleavers

[0165] For example, two interleavers of length 32 can be defined in Table II.

[0166] Table II: multiple length-32 interleavers

[0167] In the above examples, the two interleavers are of the same length. In practice, they can be of different lengths too. For example, the first interleaver has length 16 (e.g., P1 from the first table) , and the second interleaver has length 32 (e.g., P2 from the first table) .

[0168] S1202, generate at least one target interleaver based on the at least one base interleaver according to at least one pre-defined rule.

[0169] In the embodiment, the transmitting device generates at least one target interleaver based on the at least one base interleaver according to at least one pre-defined rule. In a possible implementation, one or more target interleavers can be derived from one or more base interleavers, defined in one or more tables. The at least one target interleaver can be generated based on a single base interleaver or multiple base interleavers. In this way, it is not necessary for the transmitting device to store all the interleavers, thereby reducing memory cost in storing multiple interleaver sequences.

[0170] In a possible implementation, the at least one target interleaver can be generated based on a single base interleaver.

[0171] In a possible implementation, each of the at least one predefined rule includes at least one of: extraction, modification, extension and merging. By using these predefined rules, the target interleaver can be customized and optimized based on specific requirements, leading to more efficient and reliable transmission. In this way, additional flexibility and adaptability can be provided to the rate matching interleaving process.

[0172] Some embodiments of the present disclosure include methods to derive multiple full interleavers from multiple base interleavers.

[0173] Usually, an interleaver can be derived from a base interleaver. For example, a nested sequence design may be employed, such that a short interleaver sequence can be extracted from a long interleaver sequence by taking the elements that satisfy certain condition (s) .

[0174] In a possible implementation, one or more of the at least one target interleaver may be generated according to one or more predefined rules including extraction, and each of the one or more target interleaver may be generated by extracting from one of the at least one base interleaver at least one element that satisfies a preset condition. The extraction process involves selecting specific elements from the base interleaver that satisfy a preset condition, such as being within a certain value range or being odd or even. This process can be implemented using software or hardware algorithms that perform the extraction based on the predefined rules. By generating interleavers in this way, the system can create a larger set of interleavers without having to define each interleaver explicitly. This approach can save resources, especially when dealing with multiple interleavers of different lengths and configurations. The use of extraction in generating target interleavers provides a flexible and efficient way to adapt the interleaving process to different scenarios and improve the overall effectiveness of the communication system.

[0175] In a possible implementation, the preset condition may include at least one of: a value of an element falling within a preset range, a value of an element being an odd value, or a value of an element being an even value.

[0176] For example, the two sequences P1 and P2 from Table I can be extracted from the two sequences P1 and P2 from Table II, respectively, by taking the elements with values smaller than 16. This method can be generalized to taking elements with values within a certain range, such as larger than 15 and smaller than 32. Other interleaver sequence extracting methods can also be employed, such as taking the odd values, or even values.

[0177] In a possible implementation, one or more of the at least one target interleaver may be generated according to one or more predefined rules including modification, and each of the one or more target interleavers may be generated through modifying a rate matching interleaver sequence of one of the at least one base interleaver to obtain a rate matching interleaver sequence of the respective target interleaver. By modifying the rate matching interleaver sequences based on predefined rules, it is possible to tailor the interleavers to address specific transmission conditions, data rates, error correction needs, or other factors that may impact transmission performance. The use of modification in generating target interleavers provides a flexible and efficient way to adapt the interleaving process to different scenarios and improve the overall effectiveness of the communication system.

[0178] Some embodiments of the present disclosure include methods to modify an interleaver sequence into another interleaver sequence.

[0179] To simplify the description of a rate matching scheme, define only one single base interleaver, based on which multiple final interleavers are derived from, or modified from, according to different pre-defined rules.

[0180] In a possible implementation, the transmitting device may perform a linear operation on a rate matching interleaver sequence of one of the at least one base interleaver. The linear operation may include at least one of: scalar multiplication, addition, subtraction, matrix multiplication or bitwise operation. The above linear operations can be used individually or in combination to modify the rate matching interleaver sequence of the base interleaver according to predefined rules. The use of linear operations in modifying the interleaver sequences enables customization and adaptation to meet specific communication system requirements effectively.

[0181] For example, an offset value can be added to a base interleaver to generate a new interleaver:

[0182] P2= (P1+N) , where N is the length of P1, or any power-of-2 integer.

[0183] Take the interleaver sequence P1= [0, 1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] from Table I for example, the new interleaver sequence will be P2= [16, 17, 18, 20, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31] .

[0184] By adding different offset values, multiple different interleaver sequences may be obtained. For example, the offset values can be multiples of the length of P1, e.g., N, 2N, 3N, 4N, 5N, 6N, 7N, 8N, etc.

[0185] For example, if P3= (P1+2N) , where N is the length of P1:

[0186] P3= [24, 25, 26, 28, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] .

[0187] In a possible implementation, the transmitting device may perform a modulo operation on a rate matching interleaver sequence of one of the at least one base interleaver. The transmitting device may take the modulo of each or part of the elements of the rate matching interleaver sequence with a specified value.

[0188] For example, a rate matching interleaver sequence of one of the at least one base interleaver is [i0, i1, i2, …, iN-1] . The transmitting device may perform a modulo operation on the sequence. If the interleaver length stays the same, the modified interleaver can be [j0, j1, j2, …, jN-1] , where jn=mod (in+B, N) , B is an integer and N is a positive integer. If the interleaver length is shortened, for example, to N / 2, (to interleave a shorter code) , the modified interleaver can be [j0, j1, j2, …, jN / 2-1] , where jm= in such that mod (n, 2) ==1 and m= (n-1)  / 2.

[0189] In a possible implementation, the transmitting device may permute a binary representation of each element in the rate matching interleaver sequence of the base interleaver.

[0190] The use of permuting a binary representation in modifying the interleaver sequence provides flexibility in designing target interleavers that can effectively address the needs of the communication system. The permutation may involve rearranging code bits within the binary representation of each element in an interleaver sequence.  Permuting the binary representation of the elements can introduce a form of scrambling or reordering of the information encoded in the interleaver sequence.

[0191] In a possible implementation, the transmitting device may shift the binary representation of each element in the rate matching interleaver sequence circularly by a predefined offset in a predefined order. The circular shifting operation may involve moving the bits of the binary representation of each element in a circular manner, where bits that shift off one end reappear at the other end. This operation can be performed according to a predefined offset value and a specific order of shifting.

[0192] In a possible implementation, the transmitting device may divide bits of binary representation of all elements in the rate matching interleaver sequence into a preset number of groups, and may swap an order of the preset number of groups. The transmitting device may organize bits of binary representation of the elements into distinct groups and then rearrange the order of these groups.

[0193] In a possible implementation, the transmitting device may reverse an order of bits of binary representation of elements in the rate matching interleaver sequence.

[0194] In some other examples, a rate matching interleaver sequence can be modified from another sequence by permuting the binary representation of each element.

[0195] For example, the binary representation of the integer x is There are log2N bits if the integer x is an element from a length-N interleaver sequence. These log2N bits may be permuted and then converted back to decimal representation to obtain a new integer. This may be performed with all N elements in the sequence to obtain a new sequence. The new sequence is used for rate matching interleaving.

[0196] In the above example, the original sequence can be an ascending ordered sequence [0, 1, 2, …, N-1] . The permutation of the binary representation can be

[0197] ● Any cyclic shift of for example, for N=1024,  can be leftward cyclic shifted 3 times to obtain

[0198] ● Groupwise permutation of for example, for N=512,  can be divided into 3 groups and and The latter two groups can be swapped to obtain

[0199] ● Reversal order of for example, for N=1024,  can be reversed to obtain

[0200] In a possible implementation, one or more of the at least one target interleaver may be generated according  to one or more predefined rules including extension, and each of the one or more target interleaver may be generated by dividing an initial sequence into a preset number of sub-blocks and rearranging the sub-blocks according to a permutation rule defined by a rate matching interleaver sequence of one of the at least one base interleaver. The target interleaver may be generated by dividing an initial sequence into a preset number of sub-blocks and rearranging these sub-blocks based on a permutation rule. In this way, the communication system can efficiently generate target interleavers that adapt to different data lengths and interleaver requirements. This flexibility enhances the effectiveness of the system in organizing and transmitting data, resulting in improved performance and reliability.

[0201] In some other examples, a longer sequence can be extended from a shorter sequence according to certain pre-defined rules. Take the two sequences P1 and P2 from Table II for example. The length-8192 sequence [0, 1, 2, …, 8190, 8191] can be divided into 32 subblocks, and each subblock will have length 256, and denoted as below:

[0202] B0= [0, 1, 2, …, 255]

[0203] B1= [256, 1, 2, …, 511]

[0204] …

[0205] B31= [7396, 1, 2, …, 8191]

[0206] According to P1 in Table II, a length-8192 rate matching interleaver sequence can be derived as:

[0207] Similarly, according to P2 in Table II, a length-8192 rate matching interleaver sequence can be derived as:

[0208] In general, a short interleaver sequence can be extended to arbitrary length according to the above rule. Specifically, a long sequence of ascending order [0, 1, …, N-1] can be divided into N / B subblocks, each of length B. The i-th subblock is denoted by Bi, with indices [i×B, i×B+1, … i×B+B-1] . Then the subbblocks [B0, B1, B2, …, B31] can be re-arranged to a longer interleaver sequence [BP (0) , BP (1) , BP (2) , …, BP (31) ] according to a short interleaver sequence P.

[0209] In a possible implementation, one or more of the at least one target interleaver may be generated according to one or more predefined rules including merging, and each of the at least one target interleaver may be generated  by merging two or more of rate matching interleaver sequences obtained based on one or more of the at least one base interleaver. The use of merging in generating target interleavers provides a flexible and efficient way to adapt the interleaving process to different scenarios and improve the overall effectiveness of the communication system.

[0210] Some embodiments of the present disclosure include methods to derive multiple full interleavers from single base interleavers.

[0211] To simplify the description of a rate matching scheme, only one single base interleaver can be defined based on which multiple final interleavers are derived, according to a combination of different pre-defined rules.

[0212] For example, in addition to the interleaver extension method introduced above, another simple interleaver extension method can be used:

[0213] A combination of interleaver sequence extraction, modification, extension and merging can be used to generate new interleaver sequences. Any of the above-mentioned techniques can be combined.

[0214] In some other examples, several short interleaver sequences can be merged into a single longer interleaver sequences.

[0215] For example, a combination of sequence modification and merging is shown below:

[0216] P12= [P1, (P1+N) ] , where N is the length of P1;

[0217] Take the sequence P1= [0, 1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] from Table I for example, the resulting extended P12= [0, 1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31] .

[0218] For another example, an interleaver sequence may be generated by a combination of extraction and merging as below:

[0219] P21= [P2, even, P1, odd] , where P2, even is obtained by extracting elements with even values from a base interleaver P2 and P1, odd is obtained by extracting elements with odd values from another base interleaver P1.

[0220] Take the sequences P1= [0, 1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] and P2= [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15] from Table I for example, the resulting sequence P21=  [0, 8, 4, 12, 2, 10, 6, 14, 1, 3, 5, 7, 9, 11, 13, 15] .

[0221] S1203, perform rate matching interleaving on a first bit sequence by using one or more of the at least one target interleaver.

[0222] In the embodiment, the transmitting device may perform rate matching interleaving on the first bit sequence by using one or more of the at least one target interleaver. When there are multiple target interleavers, the transmitting device may perform rate matching interleaving on the first bit sequence by using one or more of the  multiple target interleavers.

[0223] The transmitting device may obtain at least one base interleaver, generate at least one target interleaver based on the at least one base interleaver according to at least one pre-defined rule, and perform rate matching interleaving on a first bit sequence by using one or more of the at least one target interleaver. In this way, customizable and adaptable rate matching interleaving can be provided, and memory cost can be reduced in storing multiple interleaver sequences. In addition, the use of target interleavers allows for effective rate matching interleaving, which can improve overall system performance.

[0224] In a possible implementation, the at least one target interleaver may include multiple target interleavers, and at least two of the multiple target interleavers may be associated with at least two preset transmission state conditions respectively. When transmission state information of the first bit sequence satisfies a preset transmission state condition of the at least two transmission condition, the transmitting device may perform rate matching interleaving on the first bit sequence by using a target interleaver associated with the preset transmission state condition. In a possible implementation, the transmission state information of the first bit sequence may include at least one of: rate information of the first bit sequence, length information of the first bit sequence, at least one rate matching method of the first bit sequence, a redundancy version of the first bit sequence or a transmission type of the first bit sequence. Each of the at least two transmission state conditions may be based on at least one of: a rate information threshold, a length information threshold, at least one rate matching method, a redundancy version, or a transmission type.

[0225] In a possible implementation, the rate information includes a code rate. In a possible implementation, the length information may include at least one of: an information block length, a mother code length or a rate matching output sequence length. In a possible implementation, the rate matching method may include at least one of: puncturing, shortening or repetition. In a possible implementation, the transmission type may include retransmission or initial transmission.

[0226] In this way, different interleavers can be adopted based on different transmission state conditions. This approach allows for adaptability in the rate matching interleaving process based on the current transmission state conditions. By selecting the appropriate target interleaver corresponding to the matching transmission state condition, the rate matching interleaving can be optimized to better handle the specific requirements or characteristics of the current transmission state.

[0227] Some embodiments of the present disclosure relate to using multiple full interleavers for different code  lengths and rates.

[0228] Based on different code lengths and rates, different interleavers may be adopted, or derived from one or more base interleaver (s) according to a pre-defined rule.

[0229] For example, one rate matching interleaver P1 may lead to better performance in terms of coding gain or other metrics for shorter codes, and another rate matching interleaver P2 may lead to better performance for longer codes. A length threshold may be pre-defined to let the system choose which interleaver is adopted.

[0230] ● The threshold can be code rate threshold Eth, and if R<Rth, then rate matching interleaver P1 may be selected; otherwise the rate matching interleaver P2 may be selected.

[0231] ● The threshold can be information block length threshold Kth, and if K<Kth, then rate matching interleaver P1 may be selected; otherwise the rate matching interleaver P2 may be selected.

[0232] ● The threshold can be mother code length threshold Nth, and if M<Mth, then rate matching interleaver P1 may be selected; otherwise the rate matching interleaver P2 may be selected.

[0233] ● The threshold can be rate matching output sequence length threshold Eth, and if E<Eth, then rate matching interleaver P1 may be selected; otherwise the rate matching interleaver P2 may be selected.

[0234] In addition, multiple thresholds rather than one threshold can be employed, in which case more than two rate matching interleavers needs to be defined.

[0235] Some embodiments of the present disclosure relate to using multiple full interleavers for different rate matching methods.

[0236] Based on different rate matching methods, such as puncturing, shortening and repetition, different interleavers may be adopted. For example, one interleaver for puncturing, one interleaver for shortening and one interleaver for repetition.

[0237] For example, one rate matching interleaver P1 may lead to better performance in terms of coding gain or other metrics when the rate matching method is puncturing, and another rate matching interleaver P2 may lead to better performance when the rate matching method is shortening.

[0238] Note that a combination of code length, code rates and rate matching methods can be used to determine which rate matching interleaver to be selected.

[0239] For example, if the (mother) code length is smaller than a threshold, and puncturing is used, then the rate matching interleaver P1 may be selected; else if the (mother) code length is larger than a threshold, and shortening is used, then the rate matching interleaver P2 may be selected; otherwise, the rate matching interleaver P0 may be  selected.

[0240] Table III can be used to specify the selection of rate matching interleavers.

[0241] Table III: selection of multiple interleavers based on code length and rate matching method

[0242] Some embodiments of the present disclosure relate to using multiple full interleavers for different transmissions (or redundancy versions) .

[0243] For different transmissions, e.g., initial transmission and retransmission (s) , or different redundancy versions, different interleavers may be adopted. One benefit may be that the performance for the initial transmission may be optimized, but the rate matching interleaving for subsequent transmissions may be simplified.

[0244] For example, one interleaver is used for initial transmission, and another interleaver is used for retransmissions. For example, one interleaver P0 is used for redundancy version 0 (RV0) , another interleaver P1 is used for redundancy version 1 (RV1) , redundancy version 2 (RV2) , and redundancy version 3 (RV3) . Table IV can be used in an embodiment.

[0245] Table IV: selection of multiple interleavers based on redundancy version

[0246] For example, one interleaver is used for initial transmission, and another set of interleavers is used for retransmissions. For example, one interleaver P0 is used for redundancy version 0 (RV0) , another interleaver P1 is used for redundancy version 1 (RV1) , yet another interleaver P2 is used for redundancy version 2 (RV2) , and yet another interleaver P3 is used for redundancy version 3 (RV3) . Table V can be used in an embodiment.

[0247] Table V: selection of multiple interleavers based on redundancy version

[0248] The interleaver used for each redundancy version can either be a final interleaver, or a base interleaver based on which a final interleaver is derived from.

[0249] In a possible implementation, the first bit sequence may be divided into multiple parts that do not overlap with each other, and rate matching interleaving may be performed on each of the multiple parts by using a target interleaver associated with a preset transmission state condition that transmission information of the respective part satisfies, to obtain multiple rate matching interleaved parts from the multiple parts. The transmitting device may perform rate matching interleaving on different parts of the first bit sequence by using different target interleaver, according to the transmission information of respective part. Dividing the sequence into parts allows for more targeted and efficient rate matching interleaving. Instead of applying a uniform interleaving method to the entire sequence, the system can adapt the interleaving strategy to the specific needs of each part, improving overall efficiency.

[0250] Some embodiments of the present disclosure relate to a hybrid rate matching scheme.

[0251] Multiple rate matching interleavers can be employed to different non-overlapping parts of the code. This may be referred to as a hybrid rate matching scheme. The code parts, along with their corresponding rate matching methods and interleavers, may be pre-defined.

[0252] The code parts can be defined by their bit indices, or simply by the starting and ending positions if the code part is continuous on the code word.

[0253] Table VI can be used in embodiments where the codeword is divided into two parts.

[0254] Table VI: selection of multiple interleavers based on code parts

[0255] Table VII below can be used in embodiments where the codeword is divided into four parts.

[0256] Table VII: selection of multiple interleavers based on code parts

[0257] In some cases, the rate matching scheme and interleaver may be further dependent on some other factors such as mother code rate or code rate for initial transmission. For example, the code rate of a code part determines the rate matching method (e.g., puncturing or shortening) . Based on the rate matching method, an interleaver can be  selected. In this case, Table VIII can be used.

[0258] Table VIII: selection of multiple interleavers based on code parts and rate matching method

[0259] The rate matching interleaving may be focused on adjusting the data rate to match the requirements of the transmission medium. It optimizes the data rate for efficient transmission over the channel and ensures compatibility with the specific characteristics of the communication system. The rate matching interleaving may take place after an encoding stage, preparing the data for transmission by adjusting the rate to match the requirements of the channel or transmission medium. In a possible implementation, bit selection may be performed on a rate matching interleaved bit sequence to determine which code bits from the interleaved sequence will be transmitted and / or how many time the code bit in the interleaved sequence will be transmitted.

[0260] Some embodiments of the present disclosure are represented in the form of example pseudo codes to show the rate matching of a particular code.

[0261] A particular example is illustrated as follows.

[0262] Rate matching interleaving

[0263] The bits input to the rate matching interleaver are the coded bits d0, d1, d2, ..., d2N-1. The coded bits d0, d1, d2, ..., d2N-1 are divided into two sub-sequences d0, d1, d2, ..., dN-1 and dN, dN+1, dN+2, ..., d2N-1.

[0264] The first sub-sequence d0, d1, d2, ..., dN-1 is interleaved into d′0, d′1, d′2, ..., d′N-1. The interleaver Jv is generated as follows:

[0265] where the sub-block interleaver pattern P (i) is given by Table IX.

[0266] Table IX: Sub-block interleaver pattern P (i)

[0267] The second sub-sequence dN, dN+1, dN+2, ..., d2N-1 is not interleaved.

[0268] Bit selection

[0269] The bit sequence after the sub-block interleaver d′0, d′1, d′2, ..., d′N-1, dN, dN+1, dN+2, ..., d2N-1 is written into a circular buffer of length M. If repetition or puncturing is selected as the rate matching scheme for the first transmission, M=2N; otherwise if shortening is selected, M=2E0, where E0 is the rate matching output sequence length for the first transmission. The circular buffer stores a bit sequence y0, y1, y2, ..., yM-1.

[0270] If repetition or puncturing is selected, the bit sequence y0, y1, y2, ..., yM-1 is generated as follows.

[0271] Else if shortening is selected, the bit sequence y0, y1, y2, ..., yM-1 is generated as follows.

[0272] where BitRev (x) is obtained by reversing the binary representation of the integer x into  then represent it in decimal representation.

[0273] The bit sequence y0, y1, y2, ..., yM-1 is read out from the circular buffer for transmission according to a rate matching method.

[0274] The above descriptions mainly determine the following rate matching parameters:

[0275] ● Number of rate matching interleavers;

[0276] ● Specific rate matching interleaver sequences, which can be a set of base sequences, based on which the final rate matching interleaver sequences are generated;

[0277] ● Specific conditions in which a rate matching interleaver sequence will be selected;

[0278] ● Specific methods (may be an index from a limited set of methods) with which a rate matching interleaver is applied or implemented.

[0279] These parameters can either be pre-defined in standard specifications, or signaled using Radio Resource Control (RRC) messages or UCI control information.

[0280] The transmitting device may perform the bit selection on a rate matching interleaved bit sequence by using a buffer or multiple buffers.

[0281] In a possible implementation, one or more buffers may be defined for the rate matching process. The buffer, which can be a circular buffer, is a data structure that allows efficient storage and retrieval of elements in a circular manner. The interleaved code bits are written into the buffer, and a segment of the bit sequence may be sequentially read out as the fourth bit sequence.

[0282] In a possible implementation, the transmitting device may write each of multiple rate matching interleaved parts to a corresponding one of multiple buffers, where target interleavers used for rate matching interleaving the multiple parts have a one-to-one corresponding relationship with the multiple buffers, and the transmitting device may read out code bits from each of the multiple buffer according to a corresponding rate matching method to obtain an output sequence where the corresponding rate matching method is determined according to a code rate of the first bit sequence.

[0283] Some embodiments of the present disclosure relate to using multiple circular buffers.

[0284] For the aforementioned multiple interleavers, multiple circular buffers are defined. The circular buffers can be actually implemented as such, or can simply be a set of memory storage that is conceptually defined as a circular buffer for simple description. The code bits, or a subset of code bits, after being interleaved according to one interleaver, are written to a circular buffer. That is to say, the code bits, after being interleaved by different interleavers, are written into different circular buffers.

[0285] These circular buffers can be separately read out. This means that even after reading out all the bits in a circular buffer, the transmitter can proceed to transmit repetition bits in the same circular buffer.

[0286] Typically, one circular buffer can be associated to one redundancy version or one transmission. The benefit is that each redundancy version or transmission is self-sufficient or self-decodable. With the help of the independent circular buffer, the length for each redundancy version or transmission is also quite flexible.

[0287] An example is that a code word is divided into two parts as in Table VIII, and the interleaver is selected accordingly.

[0288] For the first half of the code word, puncturing is always selected. Specifically, blockwise puncturing can be adopted. For example, the code word is divided into 32 subblocks, and thus P0 can be a length-32 base interleaver to be employed to extend to a length-N / 2 full interleaver using the method described before.

[0289] For the second half of the codeword, the rate matching interleaver P1 is designed for puncturing, and the rate matching interleaver P2 is designed for shortening. The selection between puncturing and shortening depends on the code rate of the initial transmission (corresponding to the second half of the codeword) . If the code rate is lower than a threshold, then puncturing is selected; otherwise shortening is selected. For example, the interleaver for puncturing can be [N / 2, N / 2+1, …, N-1] that yields a sequential puncturing pattern; and the interleaver for shortening can be [BitRev (N-1) , BitRev (N-2) , …, BitRev (N / 2+1) , BitRev (N / 2) ] that yields a bit-reversal shortening, where BitRev (x) is obtained by reversing the binary representation of the integer x into  then represent it in decimal representation.

[0290] The first half of the code word is written into the first circular buffer according to a first length-N / 2 interleaver derived from P0. The second half of the code word is written into the second circular buffer according to either an interleaver for puncturing, which is derived from P1, or an interleaver for shortening, which is derived from P2.

[0291] For the first transmission (or redundancy version) , the bits in the second circular buffer are read out until  all E0 bits are read out for transmission. For the second transmission (or redundancy version) , the bits in the first circular buffer is read out until all E1 bits are read out for transmission.

[0292] The scheme is illustrated in FIG. 13. FIG. 13 is a schematic diagram illustrating a rate matching method according to one or more example embodiments of the present disclosure.

[0293] By associating each rate matching interleaved parts with a specific buffer and reading out each rate matching interleaved part according to a corresponding rate matching method, the method can adapt to different code rates and transmission strategies. In addition, the use of multiple buffers also allows for independent decoding of each redundancy version or transmission, which enhances the system’s reliability. Moreover, this approach enables the transmission of different code rates, lengths, and characteristics, making the system more adaptive to changing channel conditions.

[0294] In a possible implementation, the transmitting device may concatenate the multiple rate matching interleaved parts into a second bit sequence in a predefined order, where the second bit sequence includes multiple concatenated parts corresponding to the multiple rate matching interleaved parts one by one, and the transmitting device may perform rate matching on each of the multiple concatenated parts of the second bit sequence sequentially according to a rate matching method of each of the multiple concatenated parts.

[0295] In a possible implementation, the transmitting device may write the second sequence into a buffer and reading out each of the multiple concatenated parts of the second sequence according to a rate matching method of the respective concatenated part.

[0296] Some embodiments of the present disclosure relate to using a single circular buffer.

[0297] For the aforementioned multiple interleavers, one single circular buffer is defined. The circular buffer can be actually implemented as such, or can simply be a set of memory storage that is conceptually defined as a circular buffer for simple description. The code bits, after being interleaved by different interleavers, are first concatenated into one longer bit sequence, and then written into the single circular buffer. The concatenation order may also be pre-defined.

[0298] The circular buffer is jointly read out. This means that after reading out all the bits for the first transmission (or redundancy version) , the transmitter will continue to transmit the remaining bits in circular buffer (which may be intended for other transmissions, or from other redundancy versions) .

[0299] The benefit of using one circular buffer instead of multiple circular buffers is the potential for obtaining higher coding gain by combining the bits from different redundancy versions into a longer code word, and using less  repetition.

[0300] By using a buffer, higher coding gain can be obtained by combining the code bits from different redundancy versions into a longer bit sequence, and using less repetition.

[0301] An example is that a code word is divided into two parts as in Table VIII, and the interleaver is selected accordingly.

[0302] For the first half of the code word, puncturing is always selected. Specifically, blockwise puncturing can be adopted. For example, the code word is divided into 32 subblocks, and thus P0 can be a length-32 base interleaver to be employed to extend to a length-N / 2 full interleaver using the method described before.

[0303] For the second half of the codeword, the rate matching interleaver P1 is designed for puncturing, and the rate matching interleaver P2 is designed for shortening. The selection between puncturing and shortening depends on the code rate of the initial transmission (corresponding to the second half of the codeword) . If the code rate is lower than a threshold, then puncturing is selected; otherwise shortening is selected. For example, the interleaver for puncturing can be [N / 2, N / 2+1, …, N-1] that yields a sequential puncturing pattern; and the interleaver for shortening can be [BitRev (N-1) , BitRev (N-2) , …, BitRev (N / 2+1) , BitRev (N / 2) ] that yields a bit-reversal shortening, where BitRev (x) is obtained by reversing the binary representation of the integer x into  then represent it in decimal representation.

[0304] The first half of the code word is written into the circular buffer according to a first length-N / 2 interleaver derived from P0. The second half of the code word is written into the circular buffer right after the first half, according to either an interleaver for puncturing, which is derived from P1, or an interleaver for shortening, which is derived from P2.

[0305] For the first transmission (or redundancy version) , the bits in the circular buffer are read out until all E0 bits are read out for transmission (can continue to read all the remaining bits in the circular buffer) . Similarly, for the second transmission (or redundancy version) , the bits in the circular buffer is read out, starting from a different starting position, until all E1 bits are read out for transmission.

[0306] The scheme is illustrated in FIG. 14. FIG. 14 is a schematic diagram illustrating a rate matching method according to one or more example embodiments of the present disclosure

[0307] The present disclosure provides an interleaving method, including: obtaining at least one base interleaver; generating at least one target interleaver based on the at least one base interleaver according to at least one pre- defined rule; performing rate matching interleaving on a first bit sequence by using one or more of the at least one target interleaver. In this way, customizable and adaptable rate matching interleaving can be provided, and memory cost can be reduced in storing multiple interleaver sequences. In addition, the use of target interleavers allows for effective rate matching interleaving, which can improve overall system performance.

[0308] FIG. 15 shows a schematic structural diagram of an apparatus according to one or more example embodiments of the present disclosure. The apparatus may be a rate matching interleaving apparatus, a rate matching apparatus or other devices, such as a chip which has similar function, or installed in or applied to a chip, such as an encoder, in the transmitting device or any other equipment, module, circuit or unit that can implement the steps in above method embodiments. As shown in FIG. 15, the apparatus 1500 may include:

[0309] an obtaining module 1510, configured to obtain at least one base interleaver;

[0310] a processing module 1520, configured to:

[0311] generate at least one target interleaver based on the at least one base interleaver according to at least one pre-defined rule;

[0312] perform rate matching interleaving on a first bit sequence by using one or more of the at least one target interleaver.

[0313] In a possible implementation, each of the at least one predefined rule includes at least one of: extraction, modification, extension and merging.

[0314] In a possible implementation, one or more of the at least one target interleaver are generated according to one or more predefined rules including extraction, and

[0315] each of the one or more target interleaver is generated by extracting from one of the at least one base interleaver at least one element that satisfies a preset condition.

[0316] In a possible implementation, the preset condition includes at least one of: a value of an element falling within a preset range, a value of an element being an odd value, or a value of an element being an even value.

[0317] In a possible implementation, one or more of the at least one target interleaver are generated according to one or more predefined rules including modification, and each of the one or more target interleavers is generated through modifying a rate matching interleaver sequence of one of the at least one base interleaver.

[0318] In a possible implementation, the processing module 1520 is configured to perform a linear operation on a rate matching interleaver sequence of one of the at least one base interleaver.

[0319] In a possible implementation, the processing module 1520 is configured to perform a modulo operation  on a rate matching interleaver sequence of one of the at least one base interleaver.

[0320] In a possible implementation, the processing module 1520 is configured to permute a binary representation of each element in the rate matching interleaver sequence of the base interleaver.

[0321] In a possible implementation, the processing module 1520 is configured to shift the binary representation of each element in the rate matching interleaver sequence circularly by a predefined offset in a predefined order.

[0322] In a possible implementation, the processing module 1520 is configured to:

[0323] divide bits of binary representation of all elements in the rate matching interleaver sequence into a preset number of groups; and

[0324] swap an order of the preset number of groups.

[0325] In a possible implementation, the processing module 1520 is configured to reverse an order of bits of binary representation elements in the rate matching interleaver sequence.

[0326] In a possible implementation, one or more of the at least one target interleaver are generated according to one or more predefined rules including extension, and each of the one or more target interleaver is generated by dividing an initial sequence into a preset number of sub-blocks and rearranging the sub-blocks according to a permutation rule defined by a rate matching interleaver sequence of one of the at least one base interleaver.

[0327] In a possible implementation, one or more of the at least one target interleaver are generated according to one or more predefined rules including merging, and each of the at least one target interleaver is generated by merging two or more of rate matching interleaver sequences obtained based on one or more of the at least one base interleaver.

[0328] In a possible implementation, the at least one target interleaver includes multiple target interleavers, and at least two of the multiple target interleavers are associated with at least two preset transmission state conditions respectively, and where the processing module 1520 is configured to:

[0329] in response to determining that transmission state information of the first bit sequence satisfies a preset transmission state condition of the at least two transmission condition, perform rate matching interleaving on the first bit sequence by using a target interleaver associated with the preset transmission state condition.

[0330] In a possible implementation, the transmission state information of the first bit sequence includes at least one of: rate information of the first bit sequence, length information of the first bit sequence, at least one rate matching method of the first bit sequence, a redundancy version of the first bit sequence or a transmission type of the first bit sequence; and

[0331] each of the at least two transmission state conditions is based on at least one of: a rate information threshold, a length information threshold, at least one rate matching method, a redundancy version, or a transmission type.

[0332] In a possible implementation, the rate information includes a code rate.

[0333] In a possible implementation, the length information includes at least one of: an information block length, a mother code length or a rate matching output sequence length.

[0334] In a possible implementation, the rate matching method includes at least one of: puncturing, shortening or repetition.

[0335] In a possible implementation, the transmission type includes retransmission or initial transmission.

[0336] In a possible implementation, the first bit sequence is divided into multiple parts that do not overlap with each other, and rate matching interleaving is performed on each of the multiple parts by using a target interleaver associated with a preset transmission state condition that transmission information of the respective part satisfies, to obtain multiple rate matching interleaved parts from the multiple parts.

[0337] In a possible implementation, the processing module 1520 is configured to:

[0338] write each of multiple rate matching interleaved parts to a corresponding one of multiple buffers, where target interleavers used for rate matching interleaving the multiple parts have a one-to-one corresponding relationship with the multiple buffers; and

[0339] read out code bits from each of the multiple buffer according to a corresponding rate matching method to obtain an output sequence where the corresponding rate matching method is determined according to a code rate of the first bit sequence.

[0340] In a possible implementation, the processing module 1520 is configured to

[0341] concatenate the multiple rate matching interleaved parts into a second bit sequence in a predefined order, where the second bit sequence includes multiple concatenated parts corresponding to the multiple rate matching interleaved parts one by one;

[0342] perform rate matching on each of the multiple concatenated parts of the second bit sequence sequentially according to a rate matching method of each of the multiple concatenated parts.

[0343] In a possible implementation, the processing module 1520 is configured to write the second sequence into a buffer and reading out each of the multiple concatenated parts of the second sequence according to a rate matching method of the respective concatenated part.

[0344] It should be understood by a person skilled in the art that, the relevant description of the above modules in the possible implementations of the present disclosure may be understood with reference to the relevant description of the interleaving method in the possible implementations of the present disclosure. The technical effect achieved by the above apparatus is similar as that achieved by the above possible method implementations, which is not repeated herein.

[0345] An embodiment of the present disclosure provides an apparatus including processing circuitry for executing any of the above methods. It should be understood that the apparatus can execute the steps in the above method embodiments, which will not be repeated here.

[0346] An embodiment of the present disclosure provides an encoder including the apparatus described above with reference to FIG. 15 or the apparatus including processing circuitry for executing any of the above methods as described above.

[0347] An embodiment of the present disclosure provides an electronic device including an encoder for executing any of the above methods

[0348] An embodiment of the present disclosure provides a wireless communication apparatus which includes a processor and a memory. The memory is storing instructions that cause the processor to perform any of the above methods.

[0349] An embodiment of the present disclosure provides a wireless communication system, including a transmitting device and a receiving device. The transmitting device is configured to execute the steps in any of the above methods.

[0350] An embodiment of the present disclosure provides a computer-readable medium storing computer execution instructions which, when executed by a processor, cause the processor to execute any of the above methods.

[0351] An embodiment of the present disclosure provides a computer program product including computer execution instructions which, when executed by a processor, cause the processor to execute any of the above methods.

[0352] The present disclosure encompasses various embodiments, including not only method embodiments, but also other embodiments such as apparatus embodiments and embodiments related to non-transitory computer readable storage media. Embodiments may incorporate, individually or in combinations, the features disclosed herein.

[0353] Although this disclosure refers to illustrative embodiments, this is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other  embodiments of the disclosure, will be apparent to persons skilled in the art upon reference to the description.

[0354] Features disclosed herein in the context of any particular embodiments may also or instead be implemented in other embodiments. Method embodiments, for example, may also or instead be implemented in apparatus, system, and / or computer program product embodiments. In addition, although embodiments are described primarily in the context of methods and apparatus, other implementations are also contemplated, as instructions stored on one or more non-transitory computer-readable media, for example. Such media could store programming or instructions to perform any of various methods consistent with the present disclosure.

[0355] Although the present disclosure describes methods and processes with steps in a certain order, one or more steps of the methods and processes may be omitted or altered as appropriate. One or more steps may take place in an order other than that in which they are described, as appropriate.

[0356] Note that the expression “at least one of A or B” , as used herein, is interchangeable with the expression “A and / or B” . It refers to a list in which you may select A or B or both A and B. Similarly, “at least one of A, B, or C” , as used herein, is interchangeable with “A and / or B and / or C” or “A, B, and / or C” . It refers to a list in which you may select: A or B or C, or both A and B, or both A and C, or both B and C, or all of A, B and C. The same principle applies for longer lists having a same format.

[0357] Although the present disclosure is described, at least in part, in terms of methods, a person of ordinary skill in the art will understand that the present disclosure is also directed to the various components for performing at least some of the aspects and features of the described methods, be it by way of hardware components, software or any combination of the two. Accordingly, the technical solution of the present disclosure may be embodied in the form of a software product. A suitable software product may be stored in a pre-recorded storage device or other similar non-volatile or non-transitory computer readable medium, including DVDs, CD-ROMs, USB flash disk, a removable hard disk, or other storage media, for example. The software product includes instructions tangibly stored thereon that enable a processing device (e.g., a personal computer, a server, or a network device) to execute examples of the methods disclosed herein. The machine-executable instructions may be in the form of code sequences, configuration information, or other data, which, when executed, cause a machine (e.g., a processor or other processing device) to perform steps in a method according to examples of the present disclosure.

[0358] The present disclosure may be embodied in other specific forms without departing from the subject matter of the claims. The described example embodiments are to be considered in all respects as being only illustrative and not restrictive. Selected features from one or more of the above-described embodiments may be combined to create  alternative embodiments not explicitly described, features suitable for such combinations being understood within the scope of this disclosure.

[0359] All values and sub-ranges within disclosed ranges are also disclosed. Also, although the systems, devices and processes disclosed and shown herein may include a specific number of elements / components, the systems, devices and assemblies could be modified to include additional or fewer of such elements / components. For example, although any of the elements / components disclosed may be referenced as being singular, the embodiments disclosed herein could be modified to include a plurality of such elements / components. The subject matter described herein intends to cover and embrace all suitable changes in technology.

[0360] Although embodiments have been described above with reference to the accompanying drawings, those of skill in the art will appreciate that variations and modifications may be made without departing from the scope thereof as defined by the appended claims.

[0361] Acronyms, Abbreviations, and Initialisms

Claims

1.An interleaving method, comprising:obtaining at least one base interleaver;generating at least one target interleaver based on the at least one base interleaver according to at least one pre-defined rule;performing rate matching interleaving on a first bit sequence by using one or more of the at least one target interleaver.2.The method according to claim 1, wherein each of the at least one predefined rule comprises at least one of: extraction, modification, extension and merging.3.The method according to claim 2, wherein one or more of the at least one target interleaver are generated according to one or more predefined rules comprising extraction, andeach of the one or more target interleaver is generated by extracting from one of the at least one base interleaver at least one element that satisfies a preset condition.4.The method according to claim 3, wherein the preset condition comprises at least one of: a value of an element falling within a preset range, a value of an element being an odd value, or a value of an element being an even value.5.The method according to claim 2, wherein one or more of the at least one target interleaver are generated according to one or more predefined rules comprising modification, and each of the one or more target interleavers is generated through modifying a rate matching interleaver sequence of one of the at least one base interleaver.6.The method according to claim 5, wherein the modifying a rate matching interleaver sequence of one of the at least one base interleaver comprises: performing a linear operation on a rate matching interleaver sequence of one of the at least one base interleaver.7.The method according to claim 5 or 6, wherein the modifying a rate matching interleaver sequence of one of the at least one base interleaver comprises: performing a modulo operation on a rate matching interleaver sequence of one of the at least one base interleaver.8.The method according to any one of claims 5 to 8, wherein the modifying a rate matching interleaver sequence of one of the at least one base interleaver comprises: permuting a binary representation of each element in the rate matching interleaver sequence of the base interleaver.9.The method according to claim 8, wherein the permuting a binary representation of each element in the rate matching interleaver sequence comprises:shifting the binary representation of each element in the rate matching interleaver sequence circularly by a predefined offset in a predefined order.10.The method according to claim 8, wherein the permuting the binary representation of each element in the rate matching interleaver sequence comprises:dividing bits of binary representation of all elements in the rate matching interleaver sequence into a preset number of groups; andswapping an order of the preset number of groups.11.The method according to claim 8, wherein the permuting a binary representation of each element in the rate matching interleaver sequence comprises:reversing an order of bits of binary representation of elements in the rate matching interleaver sequence.12.The method according to claim 2, wherein one or more of the at least one target interleaver are generated according to one or more predefined rules comprising extension, and each of the one or more target interleaver is generated by dividing an initial sequence into a preset number of sub-blocks and rearranging the sub-blocks according to a permutation rule defined by a rate matching interleaver sequence of one of the at least one base interleaver.13.The method according to claim 2, wherein one or more of the at least one target interleaver are generated according to one or more predefined rules comprising merging, and each of the at least one target interleaver is generated by merging two or more of rate matching interleaver sequences obtained based on one or more of the at least one base interleaver.14.The method according to any one of claims 2 to 13, wherein the at least one target interleaver comprises multiple target interleavers, and at least two of the multiple target interleavers are associated with at least two preset transmission state conditions respectively, and the performing rate matching interleaving on the first bit sequence by using one or more of the at least one target interleaver comprises:in response to determining that transmission state information of the first bit sequence satisfies a preset transmission state condition of the at least two transmission condition, performing rate matching interleaving on the first bit sequence by using a target interleaver associated with the preset transmission state condition.15.The method according to claim 14, wherein the transmission state information of the first bit sequence  comprises at least one of: rate information of the first bit sequence, length information of the first bit sequence, at least one rate matching method of the first bit sequence, a redundancy version of the first bit sequence or a transmission type of the first bit sequence; andeach of the at least two transmission state conditions is based on at least one of: a rate information threshold, a length information threshold, at least one rate matching method, a redundancy version, or a transmission type.16.The method according to claim 15, wherein the rate information comprises a code rate.17.The method according to claim 15, wherein the length information comprises at least one of: an information block length, a mother code length or a rate matching output sequence length.18.The method according to any one of claims 15 to 17, wherein the rate matching method comprises at least one of: puncturing, shortening or repetition.19.The method according to any one of claims 15 to 18, wherein the transmission type comprises retransmission or initial transmission.20.The method according to any one of claims 14 to 19, wherein the first bit sequence is divided into multiple parts that do not overlap with each other, and rate matching interleaving is performed on each of the multiple parts by using a target interleaver associated with a preset transmission state condition that transmission information of the respective part satisfies, to obtain multiple rate matching interleaved parts from the multiple parts.21.The method according to claim 20, further comprising:writing each of multiple rate matching interleaved parts to a corresponding one of multiple buffers, wherein target interleavers used for rate matching interleaving the multiple parts have a one-to-one corresponding relationship with the multiple buffers; andreading out code bits from each of the multiple buffer according to a corresponding rate matching method to obtain an output sequence wherein the corresponding rate matching method is determined according to a code rate of the first bit sequence.22.The method according to claim 20, further comprising:concatenating the multiple rate matching interleaved parts into a second bit sequence in a predefined order, wherein the second bit sequence comprises multiple concatenated parts corresponding to the multiple rate matching interleaved parts one by one;performing rate matching on each of the multiple concatenated parts of the second bit sequence sequentially according to a rate matching method of each of the multiple concatenated parts.23.The method according to claim 22, wherein the performing rate matching on each of the multiple concatenated parts of the second bit sequence sequentially according to a rate matching method of each of the multiple concatenated parts comprises:writing the second sequence into a buffer and reading out each of the multiple concatenated parts of the second sequence according to a rate matching method of the respective concatenated part.24.An apparatus, comprising:an obtaining module, configured to obtain at least one base interleaver;a processing module, configured to:generate at least one target interleaver based on the at least one base interleaver according to at least one pre-defined rule;perform rate matching interleaving on a first bit sequence by using one or more of the at least one target interleaver.25.The apparatus according to claim 24, wherein each of the at least one predefined rule comprises at least one of:extraction, modification, extension and merging.26.The apparatus according to claim 25, wherein one or more of the at least one target interleaver are generated according to one or more predefined rules comprising extraction, andeach of the one or more target interleaver is generated by extracting from one of the at least one base interleaver at least one element that satisfies a preset condition.27.The apparatus according to claim 26, wherein the preset condition comprises at least one of: a value of an element falling within a preset range, a value of an element being an odd value, or a value of an element being an even value.28.The apparatus according to claim 25, wherein one or more of the at least one target interleaver are generated according to one or more predefined rules comprising modification, and each of the one or more target interleavers is generated through modifying a rate matching interleaver sequence of one of the at least one base interleaver.29.The apparatus according to claim 28, wherein the processing module is configured to perform a linear operation on a rate matching interleaver sequence of one of the at least one base interleaver.30.The apparatus according to claim 28 or 29, wherein the processing module is configured to perform a modulo operation on a rate matching interleaver sequence of one of the at least one base interleaver.31.The apparatus according to any one of claims 28 to 30, wherein the processing module is configured to  permute a binary representation of each element in the rate matching interleaver sequence of the base interleaver.32.The apparatus according to claim 31, wherein the processing module is configured to shift the binary representation of each element in the rate matching interleaver sequence circularly by a predefined offset in a predefined order.33.The apparatus according to claim 31, wherein the processing module is configured to:divide all elements in the rate matching interleaver sequence into a preset number of groups; andswap an order of the preset number of groups.34.The apparatus according to claim 31, wherein the processing module is configured to reverse an order of elements in the rate matching interleaver sequence.35.The apparatus according to claim 25, wherein one or more of the at least one target interleaver are generated according to one or more predefined rules comprising extension, and each of the one or more target interleaver is generated by dividing an initial sequence into a preset number of sub-blocks and rearranging the sub-blocks according to a permutation rule defined by a rate matching interleaver sequence of one of the at least one base interleaver.36.The apparatus according to claim 25, wherein one or more of the at least one target interleaver are generated according to one or more predefined rules comprising merging, and each of the at least one target interleaver is generated by merging two or more of rate matching interleaver sequences obtained based on one or more of the at least one base interleaver.37.The apparatus according to any one of claims 25 to 36, wherein the at least one target interleaver comprises multiple target interleavers, and at least two of the multiple target interleavers are associated with at least two preset transmission state conditions respectively, and wherein the processing module is configured to:in response to determining that transmission state information of the first bit sequence satisfies a preset transmission state condition of the at least two transmission condition, perform rate matching interleaving on the first bit sequence by using a target interleaver associated with the preset transmission state condition.38.The apparatus according to claim 37, wherein the transmission state information of the first bit sequence comprises at least one of: rate information of the first bit sequence, length information of the first bit sequence, at least one rate matching method of the first bit sequence, a redundancy version of the first bit sequence or a transmission type of the first bit sequence; andeach of the at least two transmission state conditions is based on at least one of: a rate information threshold, a length information threshold, at least one rate matching method, a redundancy version, or a transmission type.39.The apparatus according to claim 38, wherein the rate information comprises a code rate.40.The apparatus according to claim 38, wherein the length information comprises at least one of: an information block length, a mother code length or a rate matching output sequence length.41.The apparatus according to any one of claims 38 to 40, wherein the rate matching method comprises at least one of: puncturing, shortening or repetition.42.The apparatus according to any one of claims 38 to 41, wherein the transmission type comprises retransmission or initial transmission.43.The apparatus according to any one of claims 37 to 42, wherein the first bit sequence is divided into multiple parts that do not overlap with each other, and rate matching interleaving is performed on each of the multiple parts by using a target interleaver associated with a preset transmission state condition that transmission information of the respective part satisfies, to obtain multiple rate matching interleaved parts from the multiple parts.44.The apparatus according to claim 43, wherein the processing module is configured to:write each of multiple rate matching interleaved parts to a corresponding one of multiple buffers, wherein target interleavers used for rate matching interleaving the multiple parts have a one-to-one corresponding relationship with the multiple buffers; andread out code bits from each of the multiple buffer according to a corresponding rate matching method to obtain an output sequence wherein the corresponding rate matching method is determined according to a code rate of the first bit sequence.45.The apparatus according to claim 43, wherein the processing module is configured toconcatenate the multiple rate matching interleaved parts into a second bit sequence in a predefined order, wherein the second bit sequence comprises multiple concatenated parts corresponding to the multiple rate matching interleaved parts one by one;perform rate matching on each of the multiple concatenated parts of the second bit sequence sequentially according to a rate matching method of each of the multiple concatenated parts.46.The apparatus according to claim 45, wherein the processing module is configured to write the second sequence into a buffer and reading out each of the multiple concatenated parts of the second sequence according to a rate matching method of the respective concatenated part.47.An apparatus, comprising a processing circuitry for executing the method according to any one of claims 1  to 23.48.An encoder, comprising the apparatus according to any one of claims 24 to 46 or the apparatus according to claim 47.49.A computer-readable storage medium storing computer execution instructions which, when executed by a processor, cause the processor to execute the method according to any one of claims 1 to 23.50.A computer program product including computer execution instructions which, when executed by a processor, cause the processor to execute the method according to any one of claims 1 to 23.

Citation Information

Patent Citations

  • Method and device for velocity matching

    CN101895374A

  • Interleaver determination method, device, equipment and storage medium

    CN108880757A

  • Method and apparatus for mapping uplink control information for channel state information feedback

    US20220007359A1