Systems and methods for uplink control in wireless communications systems

By using coefficient vectors and correlation metrics to configure precoding matrices for improved channel estimation, the complexity and latency issues in MIMO wireless systems are addressed, enhancing communication efficiency and maintaining system performance.

WO2025241112A1PCT designated stage Publication Date: 2025-11-27HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/094733
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-22
Publication Date
2025-11-27

AI Technical Summary

Technical Problem

MIMO techniques and higher carrier frequencies increase the complexity of controlling communications in wireless systems, leading to increased power consumption and latency, which mitigates or negates performance gains.

Method used

A method involving obtaining coefficient vectors based on channel state information, selecting communication devices using a correlation metric, and sending uplink control parameters to configure precoding matrices for improved channel estimation and communication efficiency.

Benefits of technology

Enhances communication efficiency by reducing complexity and latency, thereby maintaining or improving system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024094733_27112025_PF_FP_ABST
    Figure CN2024094733_27112025_PF_FP_ABST
Patent Text Reader

Abstract

A method includes: obtaining respective coefficient vectors determined according to at least one basis matrix, each coefficient vector associated with channel state information for a corresponding communication device of a plurality of communication devices; receiving respective uplink request; and sending uplink control parameters to a first communication device in a first group of the communication devices, the first group of communication devices selected using a correlation metric based on the coefficient vectors corresponding to each communication device in the first group.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEMS AND METHODS FOR UPLINK CONTROL IN WIRELESS COMMUNICATIONS SYSTEMSFIELD

[0001] The specification relates generally to wireless communications systems, and more particularly to systems and methods for uplink control in wireless communications systems.BACKGROUND

[0002] Multiple-input multiple-output (MIMO) techniques can be used in wireless communications systems to increase the performance of such systems, e.g., by increasing data throughput or the like. Using higher carrier frequencies (e.g., at or above 10 GHz) and / or wider channels (e.g., channel widths of 2 GHz or more) can also increase system performance. However, MIMO techniques and the above-mentioned frequency attributes can also increase the complexity of controlling communications between devices in such systems. The increased complexity can lead to increased power consumption and / or communications latency, mitigating or negating the performance gains noted above.SUMMARY

[0003] According to aspects of the present disclosure, a method is provided, including: obtaining respective coefficient vectors determined according to at least one basis matrix, each coefficient vector associated with channel state information for a corresponding communication device of a plurality of communication devices; receiving at least one uplink request; and sending uplink control parameters to a first communication device in a first group of the communication devices, the first group of communication devices selected using a correlation metric based on the coefficient vectors corresponding to each communication device in the first group.

[0004] In some embodiments, the method further includes: sending the at least one basis matrix to the first communication device.

[0005] In some embodiments, the uplink control parameters include, for a first communication device:

[0006] (i) the coefficient vector of each other communication device of the first group, and (ii) a precoding command to configure the first communication device to: reconstruct channel estimates corresponding to each other communication device of the first group, using the at least one basis matrix and the coefficient vectors of the other communication devices, and generate a precoding matrix based on the reconstructed channel estimates.

[0007] In some embodiments, the uplink control parameters for the first communication device further include: an index corresponding to an order of the communication devices in the first group; and the precoding command further configures the first communication device to generate the precoding matrix based on the reconstructed channel estimates and the index.

[0008] In some embodiments, sending the at least one basis matrix includes sending, to the first communication device, at least one of a plurality of cluster basis matrices, each cluster basis matrix determined based on channel estimate data associated with a set of the plurality of communication devices; and the uplink control parameters for the first communication device further include: an identifier of one of the cluster basis matrices for each of the other communication devices in the first group.

[0009] In some embodiments, the uplink control parameters are selected based on a graph representing correlation metrics for a first pair and at least one further pair of the plurality of communication devices.

[0010] In some embodiments, the at least one basis matrix includes a plurality of cluster basis matrices, each cluster basis matrix based on channel estimate data associated with a set of the plurality of communication devices; and the correlation metric is based on the coefficient vectors corresponding to each communication device in the first group, and on the plurality of cluster basis matrices.

[0011] In some embodiments, the method further includes: receiving channel estimate data; and determining the at least one basis matrix based on the channel estimate data.

[0012] According to further aspects of the present disclosure, a non-transitory computer-readable storage medium storing computer-executable instructions that, when executed by a processor of an apparatus, cause the apparatus to perform the above method (s) .

[0013] According to further aspects of the present disclosure, a computer program is provided that, when executed by an apparatus, causes the apparatus to perform the above method (s) .

[0014] According to further aspects of the present disclosure, an apparatus is provided, including: a communications interface; and a processor configured to: obtain respective coefficient vectors determined according to at least one basis matrix, each coefficient vector associated with channel state information for a corresponding communication device of a plurality of communication devices; receive at least one uplink request; and send uplink control parameters to a first communication device in a first group of the communication devices, the first group of communication devices selected using a correlation metric based on the coefficient vectors corresponding to each communication device in the first group.

[0015] In some embodiments, the processor is further configured to: send the at least one basis matrix to the first communication device.

[0016] In some embodiments, the uplink control parameters include, for a first communication device: (i) the coefficient vector of each other communication device of the first group, and (ii) a precoding command to configure the first communication device to: reconstruct channel estimates corresponding to each other communication device of the first group, using the at least one basis matrix and the coefficient vectors of the other communication devices, and generate a precoding matrix based on the reconstructed channel estimates.

[0017] In some embodiments, the uplink control parameters for the first communication device further include: an index corresponding to an order of the communication devices in the first group; and wherein the precoding command further configures the first communication device to generate the precoding matrix based on the reconstructed channel estimates and the index.

[0018] In some embodiments, the processor is configured to send the at least one basis matrix by sending, to the first communication device, at least one of a plurality of cluster basis matrices, each cluster basis matrix determined based on channel estimate data associated with a set of the plurality of communication devices; and the uplink control parameters for the first communication device further include: an identifier of one of the cluster basis matrices for each of the other communication devices in the first group.

[0019] In some embodiments, the uplink control parameters are selected based on a graph representing correlation metrics for a first pair and at least one further pair of the plurality of communication devices.

[0020] In some embodiments, the at least one basis matrix includes a plurality of cluster basis matrices, each cluster basis matrix based on channel estimate data associated with a set of the plurality of communication devices; and the correlation metric is based on the coefficient vectors corresponding to each communication device in the first group, and on the plurality of cluster basis matrices.

[0021] In some embodiments, the processor is further configured to: receive channel estimate data; and determine the at least one basis matrix based on the channel estimate data.

[0022] According to further aspects of the present disclosure, a method is provided including: receiving a channel sounding command; sending a reference signal; receiving uplink control parameters; and transmitting data according to a precoding matrix generated based on channel estimate data reconstructed from the uplink control parameters.

[0023] In some embodiments, the method further includes: receiving at least one basis matrix. The precoding matrix is generated based on the uplink control parameters and the at least one basis matrix.

[0024] In some embodiments, the precoding matrix is generated based on channel estimate data reconstructed from the uplink control parameters.

[0025] In some embodiments, the uplink control parameters include: a coefficient vector of at least one communication device of a group of communication devices.

[0026] In some embodiments, the method further includes: reconstructing a channel estimate corresponding to the at least one other communication device of the group, using the coefficient vector. The precoding matrix is based on the reconstructed channel estimate.

[0027] According to further aspects of the present disclosure, a non-transitory computer-readable storage medium storing computer-executable instructions that, when executed by a processor of an apparatus, cause the apparatus to perform the above method (s) .

[0028] According to further aspects of the present disclosure, a computer program is provided that, when executed by an apparatus, causes the apparatus to perform the above method (s) .

[0029] According to further aspects of the present disclosure, an apparatus is provided, including: a communications interface; and a processor configured to: receive a channel sounding command; send a reference signal; receive uplink control parameters; and transmit data according to a precoding matrix generated based on channel estimate data reconstructed from the uplink control parameters.

[0030] In some embodiments, the processor is further configured to: receive at least one basis matrix. The precoding matrix is generated based on the uplink control parameters and the at least one basis matrix.

[0031] In some embodiments, the precoding matrix is generated based on channel estimate data reconstructed from the uplink control parameters.

[0032] In some embodiments, the uplink control parameters include: a coefficient vector of at least one communication device of a group of communication devices.

[0033] In some embodiments, the processor is further configured to: reconstruct a channel estimate corresponding to the at least one other communication device of the group, using the coefficient vector. The precoding matrix is based on the reconstructed channel estimate.

[0034] BRIEF DESCRIPTIONS OF THE DRAWINGS

[0035] Embodiments are described with reference to the following figures.

[0036] FIG. 1 is a diagram of a communications system.

[0037] FIG. 2 is a diagram of another communications system.

[0038] FIG. 3 is a diagram of certain components of wireless communications apparatuses in communication systems.

[0039] FIG. 4 is a diagram of a communications apparatus.

[0040] FIG. 5 is a diagram of an apparatus.

[0041] FIG. 6 is a diagram illustrating multiple input multiple-output (MIMO) technology.

[0042] FIG. 7 is a diagram illustrating an example channel estimation process.

[0043] FIG. 8 is a flowchart of a method of uplink control in wireless communications systems.

[0044] FIG. 9 is a diagram illustrating an example performance of block 805 of the method of FIG. 8.

[0045] FIG. 10 is a diagram illustrating a further example performance of block 805 of the method of FIG. 8.

[0046] FIG. 11 is a diagram illustrating example channel estimation definitions deployed via block 805 of the method of FIG. 8.

[0047] FIG. 12 is a diagram illustrating an example performance of block 830 of the method of FIG. 8.

[0048] FIG. 13 is a diagram illustrating an example performance of block 835 of the method of FIG. 8.

[0049] FIG. 14 is a diagram illustrating an example performance of blocks 850 and 855 of the method of FIG. 8.DETAILED DESCRIPTION

[0050] Referring to FIG. 1, as an illustrative example, a simplified schematic illustration of a communication system is provided. The communication system 100 may comprise a radio access network (RAN) 120. The RAN 120 may be a future generation radio access network, or a legacy (e.g. 5th generation (5G) , 4th generation (4G) , 3rd generation (3G) or 2nd generation (2G) ) radio access network. In some implementations, future radio access refers to a future generation air interface standard or set of standards, which may comprise both terrestrial networks (TNs) and non-terrestrial networks (NTNs) , as described below. 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 RAN 120. An ED 110 may also be referred to herein as a communication device or a user equipment (UE) . A core network (CN) 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. The communication system 100 may also comprise a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160.

[0051] In general, the communication system 100 enables communication by and / or between multiple wireless or wired elements. The communication system 100 may 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, among its constituent elements.

[0052] The communication system 100 may provide a wide range of communication services and applications including enhanced Mobile Broadband (eMBB) services, ultra-reliable low-latency communication (URLLC) services, massive machine type communication (mMTC) services, integrated sensing and communication (ISAC) , immersive communication, massive communication, Hyper reliable and low-latency communication, ubiquitous connectivity, integrated artificial intelligence (AI) and communication, and other services that can be provided by a future generation communication system. The communication system 100 may provide other services and applications such as earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc.

[0053] The communication system 100 may include a terrestrial communication system (or network) and / or a non-terrestrial communication system (or network) . 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 a heterogeneous network comprising multiple layers. 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. The terrestrial communication system and the non-terrestrial communication system could be considered sub-systems of the communication system 100.

[0054] FIG. 2 illustrates another example of the communication system 100. As described earlier, the communication system 100 may include EDs 110a, 110b, 110c, 110d, a RAN 120a, a RAN 120b, and one or more of a CN 130, a PSTN 140, the Internet 150, and other networks 160. In addition, the communication system 100 may also include a non-terrestrial network (NTN) 120c. The RANs 120a, 120b may include respective network nodes 170a, 170b such as base stations (BSs) 170a, 170b, which may be generically referred to as terrestrial network (TN) devices or terrestrial transmit and receive points (T-TRPs) 170a, 170b (generically referred to as 170) . As referred to herein, the terms “TRP” and “base station” may be used interchangeably unless explicitly noted otherwise in a given example or section. For brevity, this disclosure may primarily refer to base station; however, absent an explicit limitation, references to TRP are merely non-limiting instances of interchangeable use. The T-TRPs 170a, 170b may be base stations mounted on a building or tower. In one implementation, the NTN 120c includes a RAN node such as base station 172, which may be generically referred to as an NTN device, a non-terrestrial node, a non-terrestrial network device, a non-terrestrial base station, or a non-terrestrial transmit and receive point (NT-TRP) 172.

[0055] In some implementations, the NT-TRP 172 is not attached to the ground, for example, in the case of an airborne base station. An airborne base station may be implemented using communication equipment supported or carried by a flying device. For example, a flying device may include an airborne platform (e.g. a blimp or an airship) , balloon, drone (e.g. quadcopter) , and other types aerial vehicles. In some implementations, an airborne base station may be supported or carried by an unmanned aerial system (UAS) or an unmanned aerial vehicle (UAV) , such as a drone. An airborne base station may be a moveable or mobile base station that can be flexibly deployed in different locations to meet network demand. A satellite base station is another example of a non-terrestrial base station. A satellite base station may be implemented using communication equipment supported or carried by a satellite. A satellite base station may also be referred to as an orbiting base station. High altitude platforms is yet another example of a non-terrestrial base station, including international mobile telecommunication base stations.

[0056] As referred to herein, and unless specified otherwise, a “TRP” may also refer to a T-TRP or a NT-TRP, a “T-TRP” may also refer to a “TN TRP” , and a “NT-TRP” may also refer to a “NTN TRP” . The NTN 120c may be considered to be a radio access network, with operational aspects in common with the RANs 120a, 120b. The NTN 120c may include at least one NTN device and at least one corresponding terrestrial network device. The at least one NTN device may function as a transport layer device and the at  least one corresponding terrestrial network device may function as a RAN node, which communicates with the ED 110 via the non-terrestrial network device. In addition, there may be a NTN gateway on the ground (i.e., referred as a terrestrial network device) also functioning as a transport layer device to communicate with both the NTN device and the RAN node. The RAN node may communicate with the ED 110 via the NTN device and the NTN gateway. In some implementations, the NTN gateway and the RAN node may be located in the same device.

[0057] A base station (also referred to as TRP as stated above) 170 may be a network element in a radio access network responsible for radio transmission and reception in one or more cells to or from the user equipment (e.g., EDs 110) . The base station 170 may be known by other names in some implementations, such as 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 positioning node, among other possibilities. The base station 170 may be a macro base station (BS) , a pico BS, a relay node, a donor node, or the like, or combinations thereof. When a base station 170 performs (or is configured to perform) a method described herein, it may be interpreted as the base station, one or more modules (or units) in the base station, a circuit or chip, or a combination thereof, may perform the method. For example, the circuit or chip may include a modem chip, also referred to as a baseband chip, a system on chip (SoC) including a modem core, system in package (SIP) ) , and the like, and may be responsible for one or more communication functions in the base station.

[0058] The EDs 110a-110d and TRPs 170a-170b, 172 are examples of communication equipment that can be configured to implement some or all of the operations and / or embodiments described herein. The T-TRP 170a forms part of the RAN 120a, which may include other TRPs, and / or other devices. Also, the TRP 170b forms part of the RAN 120b, which may include other TRPs, and / or devices. Each TRP 170a, 170b may transmit and / or receive wireless signals within a particular geographic region or area, sometimes referred to as a “cell” or “coverage area” . The TRPs 170a-170b may be responsible for allocating and  / or configuring resources and transmission and / or reception in a set of cells. A cell may be a radio network object that can be uniquely identified from a cell identification that is broadcasted over a geographical region or area from base stations associated with the cell. A cell can operate in either a frequency division duplex (FDD) or time division duplex (TDD) mode. A cell may also refer to the carrier frequencies within the downlink (DL)  / uplink (UL) carrier bandwidth resources of a single standalone carrier or a component carrier in a carrier aggregation mode. A cell may be further divided into cell sectors, and a base station 170a-170b may, for example, employ multiple transceivers to provide service to multiple sectors. In some implementations, there may be established pico or femto cells where the radio access technology supports such. In some implementations, multiple transceivers could be used for each cell, for example using multiple-input multiple-output (MIMO) technology. The number of RANs 120a-120b shown is exemplary only. Any number of RANs may be contemplated when devising the communication system 100.

[0059] Any base station may be a single element, as shown, or multiple elements, distributed in the corresponding RAN, or otherwise. In some implementations, a plurality of RAN nodes coordinate to assist the ED 110 in implementing radio access, and different RAN nodes separately implement different functions of the base station. For example, the RAN node may be a central unit (CU) , a distributed unit (DU) , a CU-control plane (CP) , a CU-user plane (UP) , or a radio unit (RU) etc. The CU and the DU may be separately deployed, or may be included in a same element (i.e., a baseband unit (BBU) ) . The RU may be included in a radio frequency device or a radio frequency unit (i.e., a remote radio unit (RRU) , an active antenna unit (AAU) , or a remote radio head (RRH) ) . In different systems, the CU (or the CU-CP and the CU-UP) , the DU, or the RU may also have other names, but a person skilled in the art may understand the meanings thereof. For example, in an open radio access network (ORAN) system, a CU may also be referred to as an open CU (O-CU) , a DU may also be referred to as an open DU (O-DU) , and a CU-CP may also be referred to as an open CU-CP (O-CU-CP) . The CU-UP may also be referred to as an open CU-UP (O-CU-UP) , and the RU may also be referred to as an open RU (O-RU) . Any one of the CU (or the CU-CP, the CU-UP) , the DU, and the RU may be implemented by using a software module, a hardware module, or a combination of a software module and a hardware module.

[0060] Further, communication (s) between different devices / apparatuses in various embodiments of this application may refer to direct communication between different devices / apparatuses (that is, no forwarding is required by another device / apparatuses) , or may refer to communication (s) between different devices / apparatuses via another device / apparatus (that is, forwarding is required by another device / apparatus) . Alternatively, it may refer to that a functional unit inside the device / apparatus uses another functional unit in the device / apparatus to communicate with another device / apparatus. In other words, “sending (or transmitting) information to... (an ED or a base station) ” in this application may be understood as that a destination endpoint of the information is an ED or a base station. It may include sending / transmitting information directly or indirectly to an ED or a base station. Similarly, “receiving information from... (an ED or a base station) ” may be understood as that a source endpoint of the information is an ED or a base station, and may include directly or indirectly receiving information from an ED or a base station. Necessary processing such as format conversion, digital-to-analog conversion, amplification, and filtering may be performed on the information between the source endpoint that sends the information and the destination endpoint. However, the destination endpoint may understand valid information from the source endpoint. Similar descriptions in this application may be understood similarly. Details are not described herein again. In the present disclosure, the terms “send” and “transmit” may be used interchangeably in embodiments of this application.

[0061] An 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) , 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.

[0062] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred to but not limited to) as a user equipment (UE) or a user device or a terminal device, a wireless transmit / receive unit (WTRU) , a mobile station, a fixed or mobile subscriber unit, a cellular telephone, a station (STA) , a 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. module, modem, or chip) or comprising the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to using other terms. When an ED 110 performs (or is configured to perform) a method described herein, it may be interpreted as the ED, one or more module (or units) in the ED, a circuit or chip, or a combination thereof, may perform the method. For example, the circuit or chip may include a modem chip, also referred to as a baseband chip, a system on chip (SoC) including a modem core, or system in package (SIP) ) , and the like, and may be responsible for one or more communication functions in the ED.

[0063] Each ED 110 connected to TRPs 170a-170b, and / or TRPs 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.

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

[0065] An air interface (e.g., 190a, 190b, 190c) generally includes a number of components and associated parameters that collectively specify how a transmission is to be sent and / or received over a wireless communications link between two or more communicating devices such as ED and base station. For example, an air interface may include one or more components defining the waveform (s) , frame structure (s) , multiple access scheme (s) , protocol (s) , coding scheme (s) and / or modulation scheme (s) for conveying information (e.g., data) over a wireless communications link. The air interfaces 190a and 190b may use similar communication technology, such as any suitable radio access technology.

[0066] 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.

[0067] The TRPs 170a-170b, 172 may communicate with one another over one or more air interfaces 190e, 190f using wireless communication links (e.g., radio frequency (RF) , microwave, infrared (IR) , etc. ) or wired communication links. The air interfaces 190e, 190f may utilize any suitable radio access technology, and may be substantially similar to the air interfaces 190a, 190c over which the EDs 110a-110d communicate with one or more of the TRP 170a-170b, 172 or they may be substantially different. For example, the communication system 100 may implement one or more channel access methods, such as code division multiple access (CDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , or single-carrier FDMA (SC-FDMA) .

[0068] The RANs 120a and 120b are in communication with the CN 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 CN 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 CN 130, and may or may not employ the same radio access technology as RAN 120a, RAN 120b or both. The CN 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.

[0069] In addition, the communication system 100 may comprise a sensing agent (not shown) to manage the sensed data from ED 110 and / or any one of TRPs 170 a-170b, 172. In one implementation, the sensing agent may be part of any one of TRPs 170 a-b, 172. In another implementation, the sensing agent is a separate node that can communicate with the CN 130 and / or the RAN 120 (e.g., any one of TRPs 170 a-b, 172) .

[0070] FIG. 3 illustrates an example of an apparatus 310 wirelessly communicating with apparatus 320 in a communication system (e.g., the communication system 100) . The apparatus 310 may be an electronic device (e.g. an ED 110) . The apparatus 320 may be a network node (e.g. network node 170) such as T-TRP 170 or a NT-TRP 172. Although there is only one apparatus 310, and one apparatus 320 shown in FIG. 3, the number of apparatus 310 and / or 320 could be one or more. For example, one ED 110 may be served by only one T-TRP 170 (or one NT-TRP 172) , by more than one T-TRP 170 (or more than one NT-TRP 172) . One ED 110 may be served by one or more T-TRP 170 and one or more NT-TRP 172. Similarly, one T-TRP 170 (or one NT-TRP172) may serve one or more ED 110.

[0071] The apparatus 310 includes at least one processor 210. Only one processor 210 is illustrated to avoid congestion in the drawing. The apparatus 310 may further include 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. The apparatus 310 can include, in some examples, an antenna array including a plurality of independently controllable antenna elements. For example, the apparatus 310 can include a 4x4 array of antenna elements, for a total of 16 independently controllable antennas. The array of antennas of the apparatus 310 can have a wide variety of other configurations with different numbers and arrangements of antenna elements in other examples.

[0072] 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. The apparatus 310 may include at least one memory 208. Only the transmitter 201, receiver 203, processor 210, memory 208, and antenna 204 is illustrated for simplicity, but the apparatus 310 may include one or more other components. In present disclosure, the transceiver (or transmitter 201 and / or receiver203) may be viewed as an interface circuit.

[0073] The memory 208 stores instructions used to perform operations described herein. The memory 208 may also stores data used, generated, or collected by the apparatus 310. 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 processor 210.

[0074] The apparatus 310 may further include one or more input / output devices (not shown) or interfaces. 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.

[0075] The processor 210 may perform (or control the apparatus 310 to perform) operations (or methods) described herein as being performed by the apparatus 310. For example, the processor 210 performs or controls the apparatus 310 to perform receiving transport blocks (TBs) , using a resource for decoding of one of the received TBs, releasing the resource for decoding of another of the received TBs, and / or receiving configuration information configuring a resource. In detail, the operation may include those operations related to preparing a transmission for UL transmission to the apparatus 320; those operations related to processing DL transmissions received from the apparatus 320; and those operations related to processing SL transmission to and from another apparatus 310. Processing operations related to preparing a transmission for UL transmission may include operations such as encoding, modulating, transmit beamforming, and generating symbols for transmission. Processing operations related to  processing DL transmissions may include operations such as receive beamforming, demodulating and decoding received symbols. Processing operations related to processing SL transmissions may include operations such as transmit / receive beamforming, modulating / demodulating and encoding / decoding symbols. Depending upon the embodiment, a DL transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the DL transmission (e.g. by detecting and / or decoding the signaling) . An example of signaling may be a reference signal transmitted by the apparatus 320. In some implementations, 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 apparatus 320. In some implementations, 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 implementations, the processor 210 may perform channel estimation, e.g. using a reference signal received from the apparatus 320.

[0076] 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. 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) .

[0077] The apparatus 320 includes one or more processors 260 (only one processor 260 is illustrated to in the figure) . The apparatus 320 may further include 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. The apparatus 320, in some examples, can include an array of antenna elements, such as a 16x16 array, for a total of 256 independently controllable antennas. The apparatus 320 can include arrays of antennas with a wide variety of other configurations, with different numbers and arrangements of antenna elements in other examples. For example, in another embodiment the apparatus 320 can include an array of 32x32 antenna elements, for a total of 1024 antennas 256. 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 apparatus 320 may further include at least one memory 258. The apparatus 320 may further include scheduler 253. Only the transmitter 252, receiver 254, processor 260, memory 258, antenna 256 and scheduler 253 are illustrated for simplicity, but the apparatus 320 may include one or more other components. In present disclosure, the transceiver (or transmitter 252 and / or receiver254) may be viewed as an interface circuit.

[0078] In some implementations, the parts of the apparatus 320 may be distributed. For example, some of the modules of the apparatus 320 may be located remote from the equipment that houses the antennas 256 for the apparatus 320 (thereby also can be viewed as one of more nodes) , 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 implementations, the term  apparatus 320 may also refer to nodes on the network side that perform processing operations, such as determining the location of the apparatus 310, resource allocation (scheduling) , message generation, and encoding / decoding, and that are not necessarily part of the equipment that houses the antennas 256 of the apparatus 320. The nodes may also be coupled to other apparatuses 320. In some implementations, the apparatus 320 may actually be a plurality of nodes that are operating together to serve the apparatus 310, e.g. through the use of coordinated multipoint transmissions, or the use of the ORAN system as described above.

[0079] The processor 260 performs operations including those related to: preparing a transmission for DL transmission to the apparatus 310, processing an UL transmission received from the apparatus 310, preparing a transmission for backhaul transmission to another apparatus 320, and processing a transmission received over backhaul from another apparatus 320. Processing operations related to preparing a transmission for DL 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 UL 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 DL synchronization, such as generating the content of synchronization signal blocks (SSBs) , generating the system information, etc. In some implementations, the processor 260 also generates an indication of beam direction, e.g. BAI, which may be scheduled for transmission by a scheduler 253 which will be described below. In some implementations, the processor 276 implements the transmit beamforming and / or receive beamforming based on beam direction information (e.g. BAI) received from another apparatus 320. The processor 260 performs other network side processing operations described herein, such as determining the location of the apparatus 310, determining where to deploy another apparatus 320, etc. In some implementations, the processor 260 may generate signaling, e.g. to configure one or more parameters of the apparatus 310 and / or one or more parameters of another apparatus 320. Any signaling generated by the processor 260 is sent by the transmitter 252. In some implementations, the apparatus 320 implements physical layer processing. In some implementations, the apparatus 320 may implement higher layer functions such as functions at the medium access control (MAC) or radio link control (RLC) layer in addition to physical layer processing. The apparatus 320 may further comprise scheduler 253 coupled to the processor 260 or integrated in the processor 260. The scheduler 253 may be included within or operated separately from the apparatus 320. The scheduler 253 may schedule UL, DL, SL, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free (e.g., “configured grant” ) resources.

[0080] The apparatus 320 may further include a memory 258 storing instructions used to perform operations described herein. The memory 258 may also store data used, generated, or collected by the apparatus 320. 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.

[0081] 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. 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.

[0082] The apparatus 320 and / or the apparatus 310 may include other components, but these have been omitted for the sake of clarity.

[0083] Note that “signaling” , as used herein, may alternatively be called control signaling, control message, control information, or message for simplicity. Signaling between a base station (e.g., the TRP 170a-b, 172) and a UE or sensing device (e.g., ED 110) , or signaling between a different UE or sensing device (e.g., between ED 110a and ED 110b) may be carried in physical layer signaling (also called as dynamic signaling) , which is transmitted in a physical layer control channel. For DL, the physical layer signaling may be known as downlink control information (DCI) which is transmitted in a physical downlink control channel (PDCCH) . For UL, the physical layer signaling may be known as uplink control information (UCI) which is transmitted in a physical uplink control channel (PUCCH) . For SL, signaling between different UEs or sensing devices (e.g., between ED 110a and ED110b) may be known as SL control information (SCI) which is transmitted in a physical sidelink control channel (PSCCH) . Signaling may be carried in a higher layer (e.g., higher than physical layer) signaling, which is transmitted in a physical layer data channel, e.g. in a physical downlink shared channel (PDSCH) for downlink signaling, in a physical uplink shared channel (PUSCH) for uplink signaling, and in a physical sidelink shared channel (PSSCH) for SL signaling. Higher layer signaling may also be called static signaling, or semi-static signaling. Higher layer signaling may be radio resource control (RRC) protocol signaling or media access control -control element (MAC-CE) signaling. Signaling may be included in a combination of physical layer signaling and higher layer signaling.

[0084] It should be noted that in present application, “information” , when different from “message” , may be carried in one single message, or be carried in more than one separate message.

[0085] FIG. 4 illustrates an example of an apparatus 410. The apparatus 410 may be a communication device or an apparatus implemented in a communication device such as ED 110 or TRPs 170a-170b, 172. For example, the apparatus implemented in a communication device may be an integrated circuit, which in some contexts may be known by other colloquial names, such as chip, modem, modem chip, baseband chip, or baseband processor. In some implementations, one or more integrated circuits can be packaged into a system-on-chip, a system-in-package, or a multi-chip module. The apparatus may comprise one or more integrated circuits or comprise one or more integrated circuits and other discrete components. In some implementations, the apparatus 410 may be a module in ED 110, or apparatus 310. In some implementations, the apparatus 410 may be a module in one of TRPs 170a-170b, 172, or apparatus 320.

[0086] In an example, the apparatus 410 may include one or more processors  / processor cores 411, and an interface circuit 412. The apparatus 410 may further include a memory 413. The one or more processors  / processor cores 411 are configured to process signals and execute one or more communication protocols. The memory 413 is configured to store at least a part of corresponding computer program instructions and / or data. In an example, the one or more processors (or processor cores) 411 execute the computer program instructions stored in the memory 413 to implement related operations (for example, inputting, outputting, receiving, and transmitting) in the foregoing method embodiments. In some implementations, the memory 413 being configured to store the corresponding computer program instructions and / or data may mean that the memory 413 is configured to store all of the corresponding computer program instructions and / or data for execution by the one or more processors  / processor cores 411. In some implementations, the memory 413 being configured to store the corresponding computer program instructions and / or data may mean that the memory 413 is configured to store a part of the corresponding computer program instructions and / or data. For example, the part of the corresponding computer program instructions and / or data include computer program instructions and / or data that need to be currently executed by the one or more processors  / processor cores 411. Thus, the memory 413 may store different parts of computer program instructions and / or data for a plurality times for the one or more processors (or processor cores) 411 to perform related operations in the foregoing method embodiments. As a communication interface, the interface circuit 412 is configured to implement communication with another component. For example, the interface circuit 412 may communicate a signal with other apparatus / system such as a radio frequency processing apparatus, or processor system. Optionally, to reduce a load of the processor core, a baseband signal processing circuit 414 may be also disposed to implement processing of at least a part of baseband signals, including signal demodulation, modulation, encoding, decoding, or the like.

[0087] The apparatus 410 may be the processor 210 (or 260) in the apparatus 310 (or 320) , in some embodiments, or may be included in processor 210 (or 260) in the apparatus 310 (or 320) in some embodiments. The apparatus 410 may be or include a baseband chip. In some implementations, the apparatus 410 may be independently packaged into a chip. In some implementations, the apparatus 310 (or 320) includes different types of chips. The apparatus 410 may be packaged into a processor chip (for example, an SoC chip or an SIP chip) with the different types of chips. In some implementations, the apparatus 410 may be packaged into a chip with some or all of circuits of a radio frequency processing system that may further included in the apparatus 310 (or 320) .

[0088] FIG. 5 illustrates example apparatus 510. The apparatus 510 may include corresponding modules or units configured to implement methods and / or embodiments described herein. In some implementations, the apparatus 510 includes a processing unit 512 and a communication unit 513. Optionally, the apparatus 510 may further include a storage unit 514 configured to store apparatus program code (or instructions) and / or data.

[0089] The apparatus 510 may be an ED side apparatus, for example, an ED 110 or a module in an ED, or a circuit or a chip responsible for a communication function in an ED 110. In some implementations, the apparatus 510 may be implemented as the apparatus 310, accordingly, the processing unit 512 is implemented as the processor 210, the communication unit 513 is implemented as the transmitter 201 and / or the receiver 203, and the storage unit 511 is implemented as the memory 208.

[0090] The apparatus 510 may be a base station side apparatus, for example, a base station 170 or a module in a base station 170, or a circuit or a chip responsible for a communication function in a base station. In some implementations, the apparatus 510 may be implemented as the apparatus 320, and accordingly, the processing unit 512 is implemented as the processor 260 (the scheduler 253 may also be included) , the communication unit 513 is implemented as the transmitter 252 and / or the receiver 254, and the storage unit 511 is implemented as the memory 258.

[0091] In some implementations, when the apparatus 510 is an ED 110 or a module in an ED 110, a function of the apparatus 510 may be implemented by one or more processors. Specifically, the processor may include a modem chip, or an SoC chip or an SIP chip that includes a modem core. A function of the communication unit 513 may be implemented by a transceiver circuit.

[0092] In some implementations, when the apparatus 510 is a circuit or a chip that is responsible for a communication function in a ED 110, for example, a modem chip, an SoC chip or an SIP chip that includes a modem core, a function of the processing unit 512 may be implemented by a circuit system that is in the chip and that includes one or more processors or processor cores. A function of the communication unit 513 may be implemented by an interface circuit or a data transceiver circuit on the foregoing chip.

[0093] It may be understood that division into the units in the foregoing apparatus is merely logical function division. Each function may correspond to one functional unit, or two or more functions may be integrated into one functional unit. In actual implementation, all or some of the units may be integrated into one physical entity, or may be distributed in different physical entities. In addition, the foregoing functional units may be implemented in a form of hardware, may be implemented in a form of software, or may be implemented in a form of a combination of hardware and software. Whether a function is performed in a form of hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.

[0094] In an example, a functional unit in any one of the foregoing apparatuses may be configured as one or more integrated circuits for implementing the foregoing methods, for example, one or more application-specific integrated circuits (application-specific integrated circuits, ASICs) , one or more central processing units (central processing units, CPUs) , one or more microprocessors (microcontroller units, MCUs) , one or more digital signal processors (digital signal processors, DSP) , one or more field programmable gate arrays (field programmable gate arrays, FPGAs) , or a combination of at least two of these integrated circuit forms.

[0095] In an example, the storage unit 511 may include a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, and / or a register.

[0096] A processor, a processor system, an application processor, a baseband processor, a processor circuit, or a processor core may be collectively referred to as a processor. The processor may include one or a combination of a central processing unit (CPU) , a digital signal processor (DSP) , a microprocessor unit (MPU) , a microcontroller (microcontroller unit, MCU) , a graphics processing unit (GPU) , a field programmable gate array (FPGA) , an artificial intelligence processor (AI processor) , or a neural network processing unit (NPU) .

[0097] The memory may include one or more of the following storage media: a random access memory (RAM) , a static random access memory (SRAM) , a dynamic random access memory (DRAM) , a phase-change memory (PCM) , a resistive random access memory (ReRAM) , a magnetoresistive random access memory (MRAM) , a ferroelectric random access memory (FRAM) , a cache, a register, a read-only memory (ROM) , a flash memory, an erasable programmable read-only memory (EPROM) , a hard disk, and the like. In an example, the computer program instructions used to execute the foregoing embodiments may be stored in a non-volatile memory, for example, at least a part of the memory 1060 (for example, one or more of a ROM, a flash memory, an EPROM, or a hard disk) . When the terminal runs, a part or all of corresponding computer program instructions may be loaded to a memory that has a higher transmission speed with the processor, for example, at least a part of the memory 1036 and / or the memory 10312 (for example, one or more of a RAM, an SRAM, a DRAM, a PCM, a RERAM, an MRAM, a FRAM, a cache, or a register) , so that the processor executes the computer program instructions to perform the steps in the foregoing method embodiments.

[0098] Referring to FIG. 6, multiple input multiple-output technology (sometimes simply referred to as MIMO) allows an antenna array having multiple antennas to perform enhanced signal transmissions and receptions, which can result in higher data transmission rates. The above ED 110 and T-TRP 170, and / or NT-TRP may use MIMO to communicate over physical layer wireless resources. MIMO utilizes multiple antennas at a transmit apparatus and / or receive apparatus to transmit and / or receive data in a same physical layer resource block over multiple parallel wireless signals. MIMO may involve beamforming parallel wireless signals for reliable multipath transmission of data in the resource block. MIMO may involve bonding parallel wireless signals that transport different data, effectively increasing the data rate of the data carried in a resource block.

[0099] In recent years, a MIMO wireless communication system with the above T-TRP 170 and / or NT-TRP 172 configured with a large number of antennas (known as a large-scale MIMO or massive MIMO, for example) , such as the arrays of antenna elements mentioned above in connection with the apparatuses 310 and 320, has gained wide attention from academia and industry. In a large-scale MIMO system, the T-TRP 170 and / or NT-TRP 172 are generally configured with more than ten antennas (e.g., 128 or 256 antennas) , and serve dozens of EDs 110 (e.g., 40 communication devices 110) . By having a  large number of antennas, the T-TRP 170 and / or NT-TRP 172 can increase the degree of spatial freedom of wireless communications, improve data transmission rate, spectrum efficiency and power efficiency, and mitigate or largely eliminate interference between cells. Using the degree of spatial freedom provided by the large number of antennas, the T-TRP 170 and / or NT-TRP 172 of each cell can communicate with many EDs 110 in the cell on the same frequency resource at the same time (that is, on the same time-frequency resource) , thus greatly increasing the spectrum efficiency of the system. By having a large number of antennas, the T-TRP 170 and / or NT-TRP 172 also enable each ED 110 to have better spatial directivity for uplink and downlink transmissions. This can further result in a reduction of transmission power at one or more of the T-TRP 170, the NT-TRP 172, and the ED 110, thus improving overall power efficiency in the system.

[0100] MIMO technology may include single-user MIMO (SU-MIMO) , where signals on multiple spatial layers are transmitted to a given ED 110, and multiple-user MIMO (MU-MIMO) , where multiple spatial layers are transmitted to multiple EDs 110.

[0101] A MIMO system may include a receive apparatus (ED 110 for a downlink transmission, T-TRP 170 or NT-TRP 172 for an uplink transmission, for example) connected to one or more receive (RX) antennas, and a transmit apparatus (T-TRP 170 or NT-TRP 172 for a downlink transmission, or ED 110 for an uplink transmission, for example) connected to one or more transmit (TX) antennas. For instance, a plurality of RX antennas may form an antenna array in which the plurality of RX antennas are arranged in a line at even intervals, which may be known as a uniform linear array (ULA) .

[0102] FIG. 6 is an example of a channel model of a MIMO system. A transmit apparatus ( “transmitter” in FIG. 6) is connected to four TX antennas, x1, x2, x3, and x4, and a receive apparatus ( “receiver” in FIG. 6) is connected to four RX antennas, y1, y2, y3, and y4. A transmission channel may be formed between each TX antenna and RX antenna pair. For example, a signal transmitted through x1 may be received by y2 through channel h21. A signal transmitted through x3 may be received by y1 through channel h13. The channels h11 through h44 will be understood by those skilled in the art based on the examples given above.

[0103] In a MIMO system, to implement functions such as system synchronization, channel information feedback, and data transmission, channel estimation needs to be performed on an UL channel or a DL channel. Channel estimation refers to the process of reconstructing or restoring received signals to compensate for signal distortion caused by channel fading and noise. In channel estimation, a reference signal sent by a transmitting apparatus may be used to track a change in the time domain and / or frequency domain of a channel, so as to reconstruct or restore a received signal. The reference signal may also be referred to as a pilot signal, a reference sequence or the like, and is described as a reference signal in the following for ease of understanding. The reference signal comprises, for example, a channel state information-reference signal (CSI-RS) , a sounding reference signal (SRS) , and a demodulation reference signal (DMRS) .

[0104] The CSI-RS is mainly used for DL channel estimation. For example, a receiving apparatus (i.e. a UE such as an ED 110) may perform channel estimation based on a CSI-RS sent by a transmitting apparatus (i.e. a base station 170) , to feedback channel state information (CSI) based on a channel estimation result. The CSI may include related information such as a channel quality indicator (CQI) , a precoding matrix indicator (PMI) , a layer indicator (LI) , and a rank indicator (RI) . The CSI is used to reconstruct or precode the DL channel.

[0105] Referring to FIG. 7, in some implementations, a process in which the base station obtains CSI may include: sending, by the base station, a reference signal to the UE; obtaining, by the UE, an estimated CSI value according to the received reference signal, selecting, by the UE, a precoding vector from a codebook according to the estimated CSI value, and feedback, by the UE, the index of the precoding vector to the base station; the base station determines a CSI reconstruction value with reference to the index of the precoding vector. The CSI reconstruction value can be a CSI closest to the true value of the CSI that can be obtained by the base station.

[0106] While the use of large-scale MIMO techniques involving hundreds or thousands of antennas at base stations can lead to significant performance gains over systems with smaller-scale MIMO techniques (or lacking MIMO implementations) , the channel space and antenna populations in such systems can also introduce significant computational complexity in channel estimation, transmission and reception parameter selection, and the like. Computing and transmitting control information for such systems may therefore introduce sufficient latency, power consumption, or the like, to negate some or all of the potential performance gains arising from the deployment of large-scale MIMO techniques.

[0107] For example, the control actions undertaken in a large-scale MIMO system, e.g., by a BS 170, can include grouping UEs 110 for use of the same UL resources, e.g., such that two or more grouped UEs 110 transmit content and / or other data to a BS 170 using the same time and frequency resources. The grouping function can involve determining correlations between channel conditions for pairs of UEs 110. If the channel conditions observed in association with a given pair of UEs 110 are poorly correlated (e.g., have a correlation metric below a configurable threshold) , transmissions from those UEs 110 may be unlikely to interfere with one another, and the UEs 110 can therefore use the same time-frequency resource.

[0108] Computing correlation metrics between one or more pairs of UEs 110 (e.g., between each possible pair of UEs 110 in a plurality of UEs 110 that have requested uplink resources) can include collecting channel estimates (e.g., CSI) for each UE 110, at the BS 170. As will be understood by those skilled in the art, the channel estimate for a given UE 110 may be represented as a matrix H that represents a transformation between a signal as transmitted, and a received version of that signal, the transformation having been imposed by various factors in the RF environment of the BS 170 and UEs 110 (e.g., physical obstructions, RF-reflective surfaces, noise, and the like) .

[0109] The size of the channel estimate matrix obtained in association with a given UE 110 in a large-scale MIMO system can be significant, e.g., due to the bandwidth assessed (e.g., a multi-GHz frequency range such as the 10-14 GHz) and / or the large population of antennas at either or both of the BS  170 and the UE 110. Determining correlation metrics for multiple pairs of large channel estimate matrices can be computationally intensive, and may result in increased power consumption, network latency, or the like.

[0110] Another example control action undertaken in a large-scale MIMO system is the selection or generation of one or more precoding matrices, e.g., for use by UEs 110 in uplink transmissions. Determining precoding matrices for the UEs 110 to use can be based on the above-mentioned channel estimates, and therefore may also involve a significant computational burden. Further, the size of a precoding matrix (e.g., the dimensions of the precoding matrix, the number of values contained therein, or the like) can increase with the antenna population and / or available channel bandwidth. Thus, managing large-scale MIMO systems may involve the use of large precoding matrices, and sending precoding matrices to UEs 110 can consume sufficient air interface resources to introduce undesirable latency to the network.

[0111] As discussed below, the systems and methods described herein may mitigate the computational complexity and / or latency impacts of controlling large-scale MIMO installations, including those using wide channel spaces. The systems and methods set out herein provide mechanisms for performing the UE grouping task (which may also be referred to as “pairing” , although it will be understood that groups of UEs 110 for this purpose need not be limited to groups of two) based on low-dimensionality channel estimates, rather than “full” or “raw” CSI data. The grouping mechanisms set out below may thereby reduce the computational complexity involved in system control, and thus may improve system performance. As also discussed below, the generation and / or selection of precoding matrices can be performed at the UEs 110 (e.g., instead of at the BS 170) , which may mitigate or avoid the need to transmit potentially large precoding matrices to the UEs 110. The generation and / or selection of precoding matrices can be based on channel estimates reconstructed from low-dimensionality representations thereof, which can mitigate the airtime involved in sending channel estimates to the UEs 110 for use in precoding matrix determination.

[0112] Turning to FIG. 8, a method 800 for uplink control for wireless communications systems is illustrated. The method 800 is described below in conjunction with its performance in the communication system 100, e.g., as set out above in connection with FIG. 1 and FIG. 2. As indicated in FIG. 8, certain blocks of the method 800 can be performed at the BS 170 side, and other blocks can be performed at the UE 110 side. In some embodiments, the blocks of the method 800 labelled “Base Station 170” can be performed by the receiver of the UL transmissions, and the blocks of the method 800 labelled “Communication Device 110” can be performed by the sender of the UL transmissions. In this embodiment, the Communication Device 110 may also be regarded as UE 110.

[0113] At block 805, the BS 170 is configured to deploy at least one channel estimation definition to the devices 110. In some examples, the deployment of the channel estimation definition (s) can be performed later in the method 800, e.g., at or before the transmission of uplink control parameters at block 840. The channel estimation definitions include data that facilitates the generation of sparse channel  estimates by either or both or the UEs 110 and the BS 170, and / or the generation of compact representations of those sparse channel estimates. The data to facilitate generation of sparse channel estimates can include a basis matrix including vectors that account for much, but not necessarily all, of the variation observed in channel conditions between the UEs 110 and the BS 170. A channel estimation definition can also include, in some examples, a reference signal placement scheme, such as a matrix defining the content of reference signals to be sent by the UEs 110 and / or the BS 170. The reference signal placement scheme can also be used by the receiver of such reference signals (e.g., the BS 170 and / or the UEs 110) to generate channel estimate data.

[0114] The BS 170 can be configured to periodically obtain updated channel estimation definition (s) , e.g., independently from the performance of the method 800. In other words, the timing according to which the BS 170 obtains updated channel estimation definition (s) need not depend on the timing of any portion of the method 800. When updated channel estimation definition (s) are obtained at the BS 170, the BS 170 can determine whether to deploy the updated channel estimation definition (s) to the UEs 110, e.g., by multicasting or broadcasting the updated channel estimation definition (s) to the UEs 110. For example, the BS 170 can determine whether a threshold time period has elapsed since the previous deployment of channel estimation definition (s) (e.g., since the previous performance of block 805) . When the time period elapsed since the previous deployment does not exceed the threshold, the BS 170 may delay deploying updated channel estimation definition (s) . When the time period elapsed since the previous deployment does exceed the threshold, the BS 170 can initiate a performance of block 805.

[0115] Certain example channel estimation definitions are discussed below with reference to FIG. 9, FIG. 10, and FIG. 11. Referring to FIG. 9, in some examples the channel estimation definition deployed at block 805 includes a common basis matrix and a common reference signal placement matrix. The BS 170, for example, can generate the common basis matrix and a common reference signal placement matrix when the system 100 is deployed, and / or can refresh the common basis matrix and a common reference signal placement matrix periodically during operation of the system 100. The BS 170 can, for example, transmit reference signals to the UEs 110 according to any suitable reference placement scheme (e.g., according to a random pilot placement scheme) . In some examples, the BS 170 can transmit reference signals using respective subsets of an antenna array of the BS 170, according to a configurable reference signal sequence.

[0116] In response to each reference signal, the UEs 110a, 110b, and 110c (and / or any other UEs 110 in receipt of the reference signals) can generate and send respective channel estimates 900-1, 900-2, and 900-3 to the BS 170. The channel estimates can include raw CSI data, in some examples, and may be vectorized prior to transmission to the BS 170. As will be apparent to those skilled in the art, the BS 170 can also receive additional CSI data samples 900 beyond the three samples illustrated in FIG. 9. That is, the BS 170 can receive further CSI data samples 900 from other UEs 110, and / or the BS 170 can receive additional CSI data samples 900 from the UEs 110a, 110b, and 110c. The BS 170 is configured to combine the received CSI data samples 900 into a matrix 904, e.g., a rectangular matrix having a number of  columns equal to the number of raw CSI samples 900 received. The number of rows of the matrix 904 may be large (e.g., thousands of rows) .

[0117] The BS 170 can then be configured to decompose the combined raw CSI data (that is, the matrix 904 shown in FIG. 4) to obtain an initial basis matrix. For example, the BS 170 can perform a compact Singular Value Decomposition (SVD) operation on the matrix 904. As shown in FIG. 9, the decomposition produces an initial basis matrix 908 with the same number of rows as the matrix 904, but with a predetermined number (e.g., set in configuration data maintained at the BS 170) of columns that may be smaller than the column count of the matrix 904. For example, the initial basis matrix 908 may include about eighty columns, although a wide variety of other sizes are also contemplated for the matrix 908. In other words, the initial basis matrix 908 contains a subset of basis vectors corresponding to the combined CSI data received from the UEs 110. The basis vectors account for a substantial portion of the variability observed in channel conditions across the population of UEs 110 that sent CSI data samples 900. The decomposition operation shown in FIG. 9 can also yield transformation matrices 912 (e.g., referred to as Σ in the case of SVD-based decomposition) and 916 (e.g., referred to as V*in the case of SVD-based decomposition) . The matrices 912 and 916 may be discarded in some examples.

[0118] The BS 170 can be configured to determine a reference signal placement scheme, e.g., defining the content of reference signals used for UL and / or DL channel sounding. The determination of a reference signal placement scheme can be performed, for example, by performing a pivoted QR factorization on the initial basis matrix 908. The BS 170 can, based on the positions of the pivot columns (which in this example, are equal in number to the predetermined number of columns of the basis matrix 908) in a transposed version of the basis matrix 908, generate a reference placement matrix 920. The matrix 920 includes a number of columns equal to the number of rows of the matrices 904 and 908, and a number of rows equal to the above-mentioned predetermined number (e.g., eighty as mentioned in the example above) . Further, the reference placement matrix 920 is sparsely populated, e.g., with each row containing only a single “1” value, the remaining values being zero.

[0119] The BS 170 can further be configured to determine a compact basis matrix from the initial basis matrix 908 and the reference placement matrix 920. For example, the compact common basis can be computed as the product of the reference placement matrix 920 by the initial basis matrix 908. The compact basis matrix 924 can be a square matrix with a rank equal to the predetermined number noted earlier (e.g., equal to the number of rows of the matrix 920, and to the number of columns of the matrix 908) . The compact basis matrix 924, together with the reference placement matrix 920, can be used by either or both of the UEs 110 and the BS 170 to efficiently generate sparse channel estimation data, and in some cases regenerate (as discussed further below) substantially complete channel estimation data from sparse channel estimation data. In some implementations, the matrices 908, 920, and 924 can be stored at the BS 170, e.g., in the memory 258. In some examples, the BS 170 can discard the matrix 908 after determining the matrices 920 and 924, and can therefore store the matrices 920 and 924 while omitting the  matrix 908. The compact basis matrix 924 and the reference placement matrix 920 can form the channel estimation definitions deployed at block 805.

[0120] In some implementations, the channel estimation definitions deployed at block 805 can include, instead of or in addition to the compact basis matrix 924 and the reference placement matrix 920 mentioned above, a plurality of cluster-specific basis matrices and reference placement matrices. For example, turning to FIG. 10, a given UE 110 can store the matrices 920 and 924, e.g., in the memory, upon receipt from the BS 170. The BS 170 can be configured to determine cluster-specific channel estimation definitions by sending one or more reference signals 1000, according to the placement scheme defined by the matrix 920. Each UE 110 receiving a reference signal can retrieve the matrix 920, e.g., from the memory 208, and generate CSI data 1004 (e.g., raw CSI data) based on the reference signal 1000 and the reference placement matrix 920. The UE 110 can further retrieve the compact basis matrix 924, e.g., from the memory 208, and determine a coefficient vector 1008, for example as a product of the CSI data 1004 and the basis matrix 924. The coefficient vector 1008 can have the same dimensions as the CSI data 1004, but processing of the coefficient vector 1008 may be simplified relative to processing of the CSI data 1004.

[0121] The above process can be repeated for a plurality of reference signals, e.g., employing different subsets of the antennas of the BS 170, different resource blocks, or the like. The UE 110 can therefore generate a set 1012 of coefficient vectors 1008, e.g., representing channel conditions at successive points in time (that is, from successive reference signals broadcast by the BS 170) . The UE 110 can implement a Dynamic Mode Decomposition (DMD) process or another suitable mode-extraction process, based on the set 1012 of coefficient vectors 1008. The measurements represented by the set 1012 of coefficient vectors 1008 may present spatial and / or temporal patterns in channel conditions. Certain patterns, e.g., due to their limited transience, or the like, may have limited impact on data exchanges between the UEs 110 and the BS 170. Other patterns, however, may be sufficiently persistent in time, and / or have sufficient magnitude, to perceptibly impact data exchanges. The mode-extraction process seeks to identify patterns in the coefficient vectors 1008 with magnitude and / or persistence in time sufficient to justify computational expenditures for adapting channel usage by the BS 170 and the UEs 110 to those patterns.

[0122] To implement a DMD process, an apparatus (e.g., a UE 110; in other examples, the BS 170 can also implement a DMD process, as discussed further below) can generate two matrices 1016 and 1016’ from the set 1012, representing successive time windows. For example, the matrix 1016 can represent an initial window (e.g., encompassing the first one hundred samples of a 101-sample set –it will be understood that these numbers are purely illustrative) and the matrix 1016’ can represent a subsequent window (e.g., encompassing the second through 101st sample of the set 1012) . The DMD process seeks to determine a linear transformation, e.g., in the form of a mode matrix 1020, that transforms the matrix 1016 to the matrix 1016’a nd thus defines the above-mentioned patterns.

[0123] The UE 110 can then be configured to perform an SVD operation on the matrix 1016, and to truncate the resulting components of the matrix 1016, to retain a predetermined number of modes. That is, the UE 110 can compute: X = UΣVH          (equation 1)

[0124] In equation 1, X is the matrix 1016, and U, Σ, and VH are the components of the matrix 1016 obtained via SVD. The client device is then configured to compute the decomposition of the matrix 1020 on to the column space of UH according to the projection

[0125] In equation 2, G is the matrix 1020 (not yet determined) . The UE 110 can then be configured to compute the eigen decomposition of the above projection, as:

[0126] In equation 3,  is the eigenvectors and Λ is the eigenvalues of  (and also of G itself, i.e., the matrix 1020) . The UE 110 is then configured to determine the eigenvectors of the matrix 1020 as:

[0127] The UE 110 is then configured to determine the matrix 1020 based on the eigenvectors Ψ and eigenvalues Λ, as follows: G=ΨΛΨ-1             (equation 5)

[0128] The above process can be repeated for a plurality of other sensing perspectives, e.g., other time-frequency resources, other antenna subsets, or the like. The UE 110 can therefore generate a plurality of mode matrices 1020, e.g., the example matrices 1020-1, 1020-2, and 1020-3 shown in FIG. 10. The UE 110 can be configured to vectorize the matrices 1020 to vectors 1024-1, 1024-2, and 1024-3, combine the vectors 1024 row-wise into a matrix 1028, and compress the matrix 1028 to a feature matrix 1032, for example, by performing a column-wise Fast Fourier Transform (FFT) and retaining a predetermined portion of the frequency components determined via FFT. The matrix 1032 can therefore have the same number of columns as the matrix 1028, but each column may contain fewer elements than the corresponding column of the matrix 1028.

[0129] Each UE 110 can perform the process set out above, and thus the BS 170 can receive a plurality of matrices 1032, each corresponding to a particular UE 110. As shown in FIG. 11, the BS 170 can decompress each matrix 1032 (e.g., via an inverse FFT operation) , and generate a feature vector 1100 from the decompressed matrix. The BS 170 can be configured to cluster the feature vectors 1100, according to any suitable clustering mechanism. By clustering the feature vectors 1100, the BS 170 can assign each UE 110 to a given cluster with other UEs 110 that observed substantially similar channel conditions.

[0130] In the example illustrated in FIG. 11, the BS 170 can apply spectral clustering to the feature vectors 1100. For example, the BS 170 can generate a graph, with each vector 1100 corresponding to a node 1104 of the graph (e.g., nine nodes 1104-1 through 1104-9 are shown in FIG. 6, corresponding to nine UEs 110) . The 170 can compute a similarity metric (e.g., based on a Gaussian kernel, a Euclidean distance, or the like) between the vectors 1100 corresponding to each pair of UEs 110. The graph includes connections or links between the nodes 1104, also referred to as edges. An example edge 1108 is shown in FIG. 11, connecting the nodes 1104-1 and 1104-6. The edges can be generated and / or weighted based on the above-mentioned similarity metric.

[0131] The BS 170 can be configured to determine the graph Laplacian matrix for the graph shown in FIG. 11, and to determine the eigenvectors of the graph Laplacian matrix. The BS 170 can further generate a feature vector for each node 1104, based on the corresponding vector 1100 and the determined eigenvectors. The BS 170 can then be configured to apply k-means clustering or any other suitable clustering mechanism to assign the feature vectors to a predefined number of clusters.

[0132] FIG. 11 illustrates, in dashed lines surrounding subsets of the nodes 1104, an example set of three clusters 1112-1, 1112-2, and 1112-3 resulting from spectral clustering of the nodes 1104. The BS 170 can be configured to determine a compact basis matrix 1116, and a reference signal placement matrix 1120, for each cluster 1112. In the illustrated example, the BS 170 determines compact basis matrices 1116-1 to 1116-3 and reference placement matrices 1120-1 to 1120-3. The matrices 1116 and 1120 can be generated according to process described in connection with FIG. 9, operating on channel estimation data from the specific UEs 110 associated with a given cluster (e.g., instead of operating on channel estimation data from all the UEs 110) . For example, the BS 170 can also receive the coefficient vectors 1008 from the UEs 110, for use in generating the basis matrices 1116 and reference placement matrices 1120. In other examples, the BS 170 can regenerate (regeneration may also be referred to as reconstruction) coefficient vectors and generate the cluster-specific basis matrices 1116 and reference placement matrices 1120 based on one or more coefficient vectors 1008 received from the UE along with the mode matrices 1020.

[0133] The BS 170 can thus generate, and in some examples store in the memory 258 or another suitable location, the “common” compact basis matrix 924 and reference placement matrix 920 (e.g., common indicating that the matrices 920 and 924 are not cluster-specific) , as well as a plurality of cluster-specific basis matrices 1116 and reference placement matrices 1120. The BS 170 can maintain a list of which UEs 110 are currently members of which cluster. UEs 110 can periodically be assigned to different clusters, e.g., in response to physical movement of the UE 110.

[0134] Returning to FIG. 8, the channel estimate definitions deployed at block 805 can therefore include any one or more of the common basis matrix 924 and reference placement matrix 920, and / or the cluster-specific definitions. In some examples, the BS 170 can deploy the common basis matrix 924 and reference placement matrix 920 to all UEs 110. The BS 170 can further deploy one of the cluster-specific definitions to each UE 110, according to the cluster to which that UE 110 is assigned. In other examples, the BS 170 can deploy the common definition to all UEs 110, and also provide each UE 110 with the  cluster-specific definition corresponding to the cluster of that UE 110, as well as at least one additional cluster-specific definition. For example, based on historical performances of the method 800, the BS 170 can select certain cluster-specific channel estimation definitions to provide to UEs 110 in a given cluster 1112. If UEs 110 in the cluster 1112-2 are frequently grouped with UEs 110 in the cluster 1112-3, for instance, the BS 170 can provide UEs in the cluster 1112-2 with the cluster-specific definition including the matrices 1116-2 and 1120-2, as well as the cluster-specific definition including the matrices 1116-3 and 1120-3.

[0135] In other examples, the BS 170 can provide each UE 110 with the common definition, and every cluster-specific definition. In still further examples, the BS 170 can provide each UE 110 with the common definition (e.g., the matrices 920 and 924) , and the cluster-specific definition for any cluster having a population of UEs 110 that exceeds a threshold (e.g., more than ten UEs 110 assigned to the cluster) .

[0136] Each UE 110 can, at block 810, receive the channel estimation definition (s) deployed by the BS 170 at block 805. For example, each UE 110 can receive and store the channel estimation definition (s) in the memory 208, or any other suitable component for subsequent access. At block 813, one or more UEs 110 can send a transmission request (which may also be referred to as an uplink request) to the BS 170. The UE 110 can, for example, execute one or more local applications (e.g., a voice call application or the like) that involve the transmission of various data (e.g., voice content) to the BS 170 for delivery to a destination. The UE 110 can therefore, e.g., according to a schedule communicated to the UEs 110 by the BS 170, request resources to transmit such data.

[0137] At block 815, the BS 170 is configured to receive the one or more transmission requests (one or more uplink requests) mentioned above from one or more of the UEs 110 connected to the BS 170. Each transmission request (uplink request) , e.g., received at the BS 170 over the PUSCH, can include an identifier of the corresponding UE 110 (e.g., a MAC address or the like) . Each transmission request (uplink request) can also include an indication of a volume of data the UE 110 intends to transmit, and / or a requested length of airtime. The one or more transmission requests (uplink requests) can include other attributes in some examples, such as quality of service (QoS) parameters or the like.

[0138] The BS 170 can therefore obtain, via block 815, a list of UEs 110 seeking to make uplink transmissions. As discussed below in connection with blocks 820 and 830, the BS 170 is configured to obtain at least one coefficient vector corresponding to each UE 110 identified in the above list. The coefficient vector for a given UE 110 is associated with channel state information for that UE 110. The BS 170 can use the coefficient vector (s) to group (e.g., pair) UEs 110 for uplink transmissions, and can also provide the coefficient vector (s) or data representing the coefficient vector (s) to the UEs 110 for use in computing precoding matrices and / or other uplink control information.

[0139] At block 820, the BS 170 can be configured to send channel sounding command (s) to one or more of the UEs 110 associated with the transmission requests received at block 815. A channel sounding command sent to a given UE can include a command for that UE 110 to transmit one or more sounding  reference signals (SRS) to the BS 170, e.g., according to the reference placement matrix 920 or the reference placement matrix 1120 corresponding to the cluster to which the UE 110 was assigned. In some examples, the BS 170 can transmit a channel sounding command to every UE 110 that sent a transmission request at block 813 (that is, at respective performances of block 813 for each relevant UE 110) . In other examples, the BS 170 can send channel sounding commands to a subset of the UEs 110 that sent transmission requests at block 813 (e.g., at the most recent instance of block 813) . The BS 170 can determine which subset of UEs 110 to send channel sounding commands to based on, for example, an elapsed time since a previous channel sounding operation was performed for the UEs 110. For example, if a UE 110 performed a channel sounding operation with the BS 170 recently (e.g., less than a threshold time period ago) , the BS 170 may omit that UE 110 from the subset to receive channel sounding commands. The BS 170 can use the results of the previous channel sounding operation for that UE 110.

[0140] At block 825, the UE 110 (e.g., each UE 110 that receives a channel sounding command sent by the BS 170 at block 820) is configured to transmit one or more reference signals according to the channel sounding command. At block 830, the BS 170 is configured to receive the reference signal (s) transmitted by one or more UEs 110 at block 825 (e.g., at a distinct performance of block 825 for each UE 110) , and to generate one or more coefficient vectors for the one or more UE 110. The generation of coefficient vectors at the BS 170 can be performed substantially as described above in connection with FIG.

[0141] 10. For example, the BS 170 can receive a plurality of reference signals from a given UE 110, e.g., corresponding to different resource blocks and / or at different times. For each reference signal received at the BS 170, the BS 170 can generate channel estimate data (e.g., “raw” CSI data) based on the corresponding reference placement matrix (e.g., the matrix 920) . Based on the channel estimate data and a corresponding basis matrix (e.g., the matrix 924) , the BS 170 can generate a coefficient vector. The BS 170 can also generate a mode matrix for each UE 110, based on the set of reference signals received from that UE 110.

[0142] Turning to FIG. 12, an example performance of block 830 is illustrated, in which the BS 170 receives reference signals from three UEs 110, corresponding to the nodes 1104-4, 1104-9, and 1104-8 of the graph described earlier. The BS 170 is configured, at block 830, to generate respective coefficient vectors 1208-4, 1208-8, and 1208-9 based on the above reference signals. Although four coefficient vectors are illustrated in FIG. 12 for each of the three example UEs 110, it will be understood that a wide variety of other numbers of coefficient vectors 1208 can be generated, from other numbers of UEs 110, and that the same number of coefficient vectors 1208 need not be generated for each UE 110. The BS 170 can also, as shown in the example of FIG. 12, generate mode matrices 1220-4, 1220-8, and 1220-9 from the coefficient vectors 1208.

[0143] Returning to FIG. 8, at block 835 the BS 170 is configured to assign the UEs 110 that sent UL requests received by the BS 170 at block 815 to one or more groups. The groups determined at block 835 each include UEs 110 with UL channel conditions that are weakly correlated. In other words, the UEs 110 within a given group are sufficiently uncorrelated that those UEs 110 may transmit data to the BS 170  using the same resources without interference, or without sufficient interference to negatively impact communications performance. To determine groups for the UEs 110, the BS 170 can determine one or more correlation metrics. For example, the BS 170 can determine a pairwise correlation metric for each pair of UEs 110 from which coefficient vectors were obtained at block 830. Turning to FIG. 13, three example correlation metrics 1300-1, 1300-2, and 1300-3 are illustrated, corresponding to three pairwise correlations determined by the BS 170 for the three UEs 110 discussed in connection with FIG. 12. The correlation metric 1300-1 indicates a correlation between coefficient vectors 1208-4 and 1208-8, the correlation metric 1300-2 indicates a correlation between coefficient vectors 1208-4 and 1208-9, and the correlation metric 1300-3 indicates a correlation between coefficient vectors 1208-8 and 1208-9. The use of coefficient vectors 1208 for the determination of correlation metrics 1300, rather than full channel estimate matrices, may significantly reduce the computational complexity of the correlation task at the BS 170.

[0144] The correlation metrics 1300 can be computed by the BS 170 in according to a variety of mechanisms. For example, each correlation metric 1300 can be the dot product of the corresponding two coefficient vectors, e.g.,  where R is the correlation metric 1300. The BS 170 can further perform a normalization on R. In other examples, the correlation metric 1300 can be the L2 norm of the difference between coefficient vectors 1208, i.e., ‖ci-cj‖2, where ci and cj are respective coefficient vectors 1208 (e.g., a vector 1208-4 and a vector 1208-9) . The correlation metrics 1300 can be determined based on particular coefficient vectors 1208, e.g., corresponding to a specific time and / or frequency resource, or can be determined based on a combined representation of the set of coefficient vectors 1208 from the pair of UEs 110.

[0145] When the correlation metric 1300 corresponding to a pair of UEs 110 is below a threshold (e.g., a configurable threshold stored at the BS 170 or otherwise accessible to the BS 170) , the pair of UEs 110 may be grouped together for uplink control. When the correlation metric 1300 is above the threshold, the UEs 110 may be placed in separate groups. Thus, each correlation metric 1300 can be compared to the threshold, and groups of UEs can be assembled accordingly. In other examples, the BS 170 can construct a graph (e.g., a fully connected graph) with each node corresponding to a UE 110, and with the connections or edges between nodes weighted according to the correlation metrics. The BS 170 can then perform a graph traversal operation, e.g., to determine a path through at least a portion of the graph that minimizes the sum of correlation metrics represented by the edges between the traversed nodes. The BS 170 can also apply a limit, for example, to the correlation metric between any two nodes, such that an edge with a correlation metric above a threshold is not included in the path. The nodes traversed by the resulting path can be a group. The BS 170 can repeat the graph traversal beginning from any of the remaining nodes (e.g., nodes that have not yet been assigned to a group) .

[0146] Certain coefficient vectors 1208 are generated using different basis matrices from other coefficient vectors 1208. For example, the coefficient vectors 1208-4 and 1208-9 correspond to UEs 110 in the same cluster 1112-2 (as seen in FIG. 11) , and are therefore generated using the same basis matrix 1116- 2.The coefficient vectors 1208-8 correspond to a UE 110 in a different cluster (e.g., the cluster 1112-3 in this example) , and may therefore use a different basis. As shown in FIG. 13, the BS 170 can generate correlation metrices for pairs of UEs 110 from different cluster based on the coefficient vectors and also on the cluster-specific basis matrices 1116. For example, the correlation metric 1300-1 can be based on the coefficient vectors 1208-8 and 1208-9, as well as the cluster-specific basis matrices 1116-2 and 1116-3. The BS 170 can generate a correlation metric for a pair of UEs 110 from different clusters according to:

[0147] In equation 6 above, R is the correlation metric, ci and cj are coefficient vectors of the two UEs 110, and Ul and Um are the cluster-specific matrices 1116 corresponding to the UEs 110. The product of the cluster-specific matrices 1116 can be pre-computed and stored at the BS 170, e.g., for each pair of cluster-specific matrices 1116, which may reduce the computational load associated with determining correlation metrics.

[0148] When the BS 170 has completed the performance of block 835, any remaining UEs 110 that have not been grouped (e.g., UEs 110 with channel conditions too correlated with other UEs 110) , for example, can be transferred to a separate subsystem (e.g., of the BS 170) for handling via single-user MIMO mechanisms. The group (s) determined at block 835 each include two or more UEs 110. The UEs 110 in at least one group (e.g., in each group) may be ordered according to a sequence. For example, in the case of a graph traversal approach to grouping, as set out above, the sequence can be determined from the graph traversal..

[0149] At block 840, the BS 170 is configured to send uplink control parameters to at least one UE 110 in at least one of the groups determined at block 835. In some examples, the BS 170 is configured to send uplink control parameters to every UE 110 in each group determined at block 835. The uplink control parameters provided by the BS 170 to each UE 110 enable the UE 110 to generate and / or select a precoding matrix. Precoding matrix generation involves the use of channel estimate data, and the uplink control parameters therefore also include sufficient information for each UE 110 to regenerate channel estimate data, without necessarily including full channel estimate data.

[0150] The BS 170 can be configured to multicast the uplink control parameters to at least one UE 110 in a given group. The uplink control parameters can include, for example, a sequence of UE 110 identifiers (e.g., MAC addresses, or the like) . The sequence can, in other words, both identify the UEs 110 in the group, and indicate an order of those UEs 110 (e.g., as determined during the grouping task at block 835, as described above) . The uplink control parameters can also include scheduling data, e.g., specifying the time period (s) and or frequency resources for use by the UEs 110 in the group. The uplink control parameters can also include a cluster identifier for each UE 110, which indicates the appropriate basis matrix to employ for regenerating channel estimate data for that UE 110. The uplink control parameters can also include at least one coefficient vector for each UE 110. For example, the uplink control parameters can include a plurality of coefficient vectors 1208 for each UE 110, each corresponding to a given resource. The uplink control parameters can further include a mode matrix 1220 for the UE 110.

[0151] The uplink parameters can also include a precoding command to configure a UE 110 that receives the precoding command to reconstruct a channel estimate (e.g., a matrix H) for each other UE 110 in the same group determined at block 835, and generate a precoding matrix based on the reconstructed channel estimates. The channel estimates are reconstructed using at least one basis matrix, e.g., as deployed by the BS 170 at block 805. The precoding command can, for example, instruct the UE 110 which precoding generation and / or selection algorithm to employ.

[0152] The UEs 110 can be configured to acknowledge the uplink control parameters, e.g., via the PUCCH. At block 845, the BS 170 can be configured to determine whether any UEs 110 remain to be grouped and provided with uplink control parameters. For example, the BS 170 can be configured to determine whether any of the UEs 110 have failed to acknowledge the uplink control parameters sent at block 840. When the determination at block 845 is affirmative, the BS 170 can repeat the performance of block 835 for any remaining UEs 110. When the determination at block 845 is negative, the BS 170 can proceed to await transmitted data (e.g., also referred to as content) . In other examples, block 845 can be omitted, and a UE 110 that was not assigned to a group at block 835 may send a further transmission request, e.g., to be processed at the BS 170 in a subsequent performance of the method 800.

[0153] At block 850, each UE 110 is configured to receive the uplink control parameters, and reconstruct channel estimates for the UEs 110 in the same group. In some examples, the UE 110 is configured to reconstruct channel estimates on a per-resource basis. For example, the UE 110 can determine a channel estimate as follows:

[0154] In equation 7, “i” is an index value corresponding to a particular UE 110,  is a cluster-specific basis matrix 1116 corresponding to that UE 110, Gi is the mode matrix 1220 corresponding to that UE 110, and is the coefficient vector for that UE 110 included in the uplink control parameters (e.g., at which channel sounding occurred) , with the index “t” being a target radio resource unit. The index  is a radio resource unit index, e.g., an index of the resource element for which the channel sounding task of blocks 825 and 830 was performed for the determination of the channel coefficient vector of the UE 110. At block 855, the UE 110 is configured to generate a precoding matrix based on the reconstructed channel estimates.

[0155] Referring to FIG. 14, an example performance of blocks 850 and 855 is illustrated, in which the BS 170 transmits uplink control parameters 1400 to a UE 110-8 (e.g., corresponding to the node 1104-8 introduced in FIG. 11) . The uplink control parameters 1400 include, among other information, coefficient vectors 1208-4, 1208-8, and 1208-9, corresponding to each of the UEs 110 in the same group as the UE 110-8 (including the UE 110-8 itself) . The uplink control parameters 1400 also include the mode matrices 1220 corresponding to each UE 110 in the group. Using the coefficient vectors 1208, the mode matrices 1220, and the cluster-specific basis matrices 1116-2 and 1116-3, the UE 110 is configured to reconstruct channel estimates 1404-4, 1404-8, and 1404-9, corresponding to the three UEs 110 in the group.  Based on the reconstructed channel estimates 1404, the UE 110 is configured to generate a precoding matrix 1408. As will be understood by those skilled in the art, other UE 110 in the group also reconstructs the above channel estimates, and different UE 110 in the group thus independently generates the precoding matrix 1408, while mitigating the need for the BS 170 to transmit the precoding matrix 1408 to each UE 110 in the group.

[0156] The above process can be repeated for other target resource units (e.g., resulting in the generation of multiple precoding matrices at each UE 110) . In other examples, the computational complexity of the precoding generation task at the UEs 110 at block 855 can be reduced, by omitting the mode matrices 1220 from the uplink control parameters. In such examples, the BS 170 can compute a combined coefficient vector as follows:

[0157] In equation 8 above, T is the set of target resource units for use in the uplink operation (s) specified by the uplink control parameters, and wi is a weighting coefficient for the t-th radio unit of the i-th UE 110. Once the BS 170 computes the combined coefficient vector, the uplink control parameters can include the combined coefficient vector, and omit the mode matrices. Each UE 110 can reconstruct an average channel estimate over all the target resource units, as follows:

[0158] In such implementations, the uplink control parameters can be simplified (omitting the mode matrices) , and computation at the UEs 110 can also be simplified.

[0159] At block 860, the UE 110 can transmit data according to the precoding matrix from block 855 and the scheduling data in the uplink control parameters. At block 865, the BS 170 can receive the data transmitted by the UE 110, and handle the data accordingly, e.g., by transmitting the data to another node in the network for delivery to a destination. The BS 170 may then return to block 815, and the UE 110 may return to block 813.

[0160] As will be understood by those skilled in the art, the determination of UE groups at block 835 using coefficient vectors instead of complete channel state information may reduce the computational complexity of the grouping task, e.g., due to the reduced dimensionality of the coefficient vectors relative to CSI. Further, providing a UE 110 with uplink control parameters that are sufficient for the UE 110 to determine a precoding matrix (in some examples, for a group of UEs 110 to each determine a jointly optimized precoding matrix) may reduce the consumption of airtime for sending precoding matrices from the BS 170 to the UE (s) 110, and may therefore reduce latency in the network.

[0161] In the present disclosure, the terms “a” , “an” and “one” are defined to mean “at least one” , that is, these terms do not exclude a plural number of items, unless stated otherwise.

[0162] In the present disclosure, terms such as “substantially” , “generally” and “about” , which modify a value, condition or characteristic of a feature of an exemplary embodiment, should be understood  to mean that the value, condition or characteristic is defined within tolerances that are acceptable for the proper operation of this exemplary embodiment for its intended application.

[0163] In the present disclosure, unless stated otherwise, the terms “connected” and “coupled” , and derivatives and variants thereof, refer herein to any structural or functional connection or coupling, either direct or indirect, between two or more elements. For example, the connection or coupling between the elements can be acoustical, mechanical, optical, electrical, thermal, logical, or any combinations thereof.

[0164] In the present disclosure, expressions such as “match” , “matching” and “matched” , including variants and derivatives thereof, are intended to refer herein to a condition in which two or more elements are either the same or within some predetermined tolerance of each other. That is, these terms are meant to encompass not only “exactly” or “identically” matching the two elements but also “substantially” , “approximately” or “subjectively” matching the two or more elements, as well as providing a higher or best match among a plurality of matching possibilities.

[0165] In the present disclosure, the expression “based on” is intended to mean “based at least partly on” , that is, this expression can mean “based solely on” or “based partially on” , and so should not be interpreted in a limited manner. More particularly, the expression “based on” could also be understood as meaning “depending on” , “representative of” , “indicative of” , “associated with” or similar expressions.

[0166] In the present disclosure, the terms "system" and "network" may be used interchangeably in embodiments of this application. "At least one" means one or more, and "a plurality of" means two or more. The term "and / or" describes an association relationship of associated objects, and indicates that three relationships may exist. For example, A and / or B may indicate the following three cases: Only A exists, both A and B exist, and only B exists, where A and B may be singular or plural. The character " / " usually indicates an "or" relationship between associated objects. "At least one of the following items (pieces) " or a similar expression thereof indicates any combination of these items, including a single item (piece) or any combination of a plurality of items (pieces) . For example, "at least one of A, B, or C" includes A, B, C, A and B, A and C, B and C, or A, B, and C, and "at least one of A, B, and C" may also be understood as including A, B, C, A and B, A and C, B and C, or A, B, and C. In addition, unless otherwise specified, ordinal numbers such as "first" and "second" in embodiments of this application are used to distinguish between a plurality of objects, and are not used to limit a sequence, a time sequence, priorities, or importance of the plurality of objects.

[0167] A person skilled in the art should understand that embodiments of this application may be provided as a method, an apparatus (or system) , computer-readable storage medium, or a computer program product. Therefore, this application may use a form of a hardware-only embodiment, a software-only embodiment, or an embodiment with a combination of software and hardware. Moreover, this application may use a form of a computer program product that is implemented on one or more computer-usable storage media (including but not limited to a disk memory, an optical memory, and the like) that include computer-usable program code.

[0168] This application is described with reference to the flowcharts and / or block diagrams of the method, the device (system) , and the computer program product according to this application. It should be understood that computer program instructions may be used to implement each process and / or each block in the flowcharts and / or the block diagrams and a combination of a process and / or a block in the flowcharts and / or the block diagrams. The computer program instructions may be provided for a general-purpose computer, a dedicated computer, an embedded processor, or a processor of another programmable data processing device to generate a machine, so that the instructions executed by the computer or the processor of the another programmable data processing device generate an apparatus for implementing a specific function in one or more procedures in the flowcharts and / or in one or more blocks in the block diagrams.

[0169] The computer program instructions may alternatively be stored in a computer-readable memory that can indicate a computer or another programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate an artifact that includes an instruction apparatus. The instruction apparatus implements a specific function in one or more procedures in the flowcharts and / or in one or more blocks in the block diagrams.

[0170] The computer program instructions may alternatively be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, so that computer-implemented processing is generated. Therefore, the instructions executed on the computer or the another programmable device provide steps for implementing a specific function in one or more procedures in the flowcharts and / or in one or more blocks in the block diagrams.

[0171] It is clear that a person skilled in the art can make various modifications and variations to this application without departing from the scope of this application. This application is intended to cover these modifications and variations of this application provided that they fall within the scope of protection defined by the following claims and their equivalent technologies.

Claims

1.A method comprising:obtaining respective coefficient vectors determined according to at least one basis matrix, each coefficient vector associated with channel state information for a corresponding communication device of a plurality of communication devices;receiving at least one uplink request; andsending uplink control parameters to a first communication device in a first group of the communication devices, the first group of communication devices selected using a correlation metric based on the coefficient vectors corresponding to each communication device in the first group.2.The method of claim 1, further comprising: sending the at least one basis matrix to the first communication device.3.The method of claim 2, wherein the uplink control parameters include, for a first communication device:(i) the coefficient vector of each other communication device of the first group, and(ii) a precoding command to configure the first communication device to:reconstruct channel estimates corresponding to each other communication device of the first group, using the at least one basis matrix and the coefficient vectors of the other communication devices, andgenerate a precoding matrix based on the reconstructed channel estimates.4.The method of claim 3, wherein the uplink control parameters for the first communication device further include:an index corresponding to an order of the communication devices in the first group; and wherein the precoding command further configures the first communication device to generate the precoding matrix based on the reconstructed channel estimates and the index.5.The method of any one of claims 2 to 4, wherein sending the at least one basis matrix includes sending, to the first communication device, at least one of a plurality of cluster basis matrices, each cluster basis matrix determined based on channel estimate data associated with a set of the plurality of communication devices; andwherein the uplink control parameters for the first communication device further include: an identifier of one of the cluster basis matrices for each of the other communication devices in the first group.6.The method of any one of claims 1 to 5, wherein the uplink control parameters are selected based on a graph representing correlation metrics for a first pair and at least one further pair of the plurality of communication devices.7.The method of any one of claims 1 to 6, wherein the at least one basis matrix includes a plurality of cluster basis matrices, each cluster basis matrix based on channel estimate data associated with a set of the plurality of communication devices; andwherein the correlation metric is based on the coefficient vectors corresponding to each communication device in the first group, and on the plurality of cluster basis matrices.8.The method of any one of claims 1 to 7, further comprising:receiving channel estimate data; anddetermining the at least one basis matrix based on the channel estimate data.9.An apparatus, comprising:a communications interface; anda processor configured to:obtain respective coefficient vectors determined according to at least one basis matrix, each coefficient vector associated with channel state information for a corresponding communication device of a plurality of communication devices;receive at least one uplink request; andsend uplink control parameters to a first communication device in a first group of the communication devices, the first group of communication devices selected using a correlation metric based on the coefficient vectors corresponding to each communication device in the first group.10.The apparatus of claim 9, wherein the processor is further configured to: send the at least one basis matrix to the first communication device.11.The apparatus of claim 10, wherein the uplink control parameters include, for a first communication device:(i) the coefficient vector of each other communication device of the first group, and(ii) a precoding command to configure the first communication device to:reconstruct channel estimates corresponding to each other communication device of the first group, using the at least one basis matrix and the coefficient vectors of the other communication devices, andgenerate a precoding matrix based on the reconstructed channel estimates.12.The apparatus of claim 11, wherein the uplink control parameters for the first communication device further include:an index corresponding to an order of the communication devices in the first group; and wherein the precoding command further configures the first communication device to generate the precoding matrix based on the reconstructed channel estimates and the index.13.The apparatus of any one of claims 10 to 12, wherein the processor is configured to send the at least one basis matrix by sending, to the first communication device, at least one of a plurality of cluster basis matrices, each cluster basis matrix determined based on channel estimate data associated with a set of the plurality of communication devices; andwherein the uplink control parameters for the first communication device further include: an identifier of one of the cluster basis matrices for each of the other communication devices in the first group.14.The apparatus of any one of claims 9 to 13, wherein the uplink control parameters are selected based on a graph representing correlation metrics for a first pair and at least one further pair of the plurality of communication devices.15.The apparatus of any one of claims 9 to 14, wherein the at least one basis matrix includes a plurality of cluster basis matrices, each cluster basis matrix based on channel estimate data associated with a set of the plurality of communication devices; andwherein the correlation metric is based on the coefficient vectors corresponding to each communication device in the first group, and on the plurality of cluster basis matrices.16.The apparatus of any one of claims 9 to 15, wherein the processor is further configured to:receive channel estimate data; anddetermine the at least one basis matrix based on the channel estimate data.17.An apparatus, configured to perform the method according to any one of claims 1 to 8.18.A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed by a processor of an apparatus, cause the apparatus to perform the method any one of claims 1 to 8.19.A method, comprising:receiving a channel sounding command;sending a reference signal;receiving uplink control parameters; andtransmitting data according to a precoding matrix generated based on channel estimate data reconstructed from the uplink control parameters.20.The method of claim 19, further comprising:receiving at least one basis matrix;wherein the precoding matrix is generated based on the uplink control parameters and the at least one basis matrix.21.The method of claim 19 or claim 20, wherein the precoding matrix is generated based on channel estimate data reconstructed from the uplink control parameters.22.The method of claim 21, wherein the uplink control parameters include: a coefficient vector of at least one communication device of a group of communication devices.23.The method of claim 22, further comprising:reconstructing a channel estimate corresponding to the at least one other communication device of the group, using the coefficient vector;wherein the precoding matrix is based on the reconstructed channel estimate.24.An apparatus, comprising:a communications interface; anda processor configured to:receive a channel sounding command;send a reference signal;receive uplink control parameters; andtransmit data according to a precoding matrix generated based on channel estimate data reconstructed from the uplink control parameters.25.The apparatus of claim 24, wherein the processor is further configured to:receive at least one basis matrix;wherein the precoding matrix is generated based on the uplink control parameters and the at least one basis matrix.26.The apparatus of claim 24 or claim 25, wherein the precoding matrix is generated based on channel estimate data reconstructed from the uplink control parameters.27.The apparatus of claim 26, wherein the uplink control parameters include: a coefficient vector of at least one communication device of a group of communication devices.28.The apparatus of claim 27, wherein the processor is further configured to:reconstruct a channel estimate corresponding to the at least one other communication device of the group, using the coefficient vector;wherein the precoding matrix is based on the reconstructed channel estimate.29.An apparatus, configured to perform the method according to any one of claims 19 to 23.30.A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed by a processor of an apparatus, cause the apparatus to perform the method any one of claims 19 to 23.

Citation Information

Patent Citations

  • CSI compression method and user equipment thereof

    CN118057757A

  • Beamforming in a MU-MIMO wireless communication system

    US20170373737A1

  • Uplink MIMO design

    US20180131418A1