Iterative wireless device (WD) and layer selection for downlink multi-WD multiple input-multiple output (MU-MIMO) transmission

Iterative algorithms for joint wireless device and layer selection in MU-MIMO transmission improve spectral efficiency and reduce computational complexity, achieving significant gains in cell throughput compared to legacy methods.

WO2025056961A1PCT designated stage expired Publication Date: 2025-03-20TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2023/059199
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-15
Publication Date
2025-03-20

AI Technical Summary

Technical Problem

Existing MU-MIMO grouping algorithms independently select paired wireless devices and transmission directions, leading to reduced spectral efficiency and high computational complexity due to exhaustive search methods.

Method used

The proposed solution involves iterative algorithms that jointly select paired wireless devices and spatial layers for each device, maximizing spectral efficiency while reducing computational complexity by reusing calculated precoders.

Benefits of technology

The disclosed algorithms achieve up to a 25% improvement in cell throughput compared to legacy solutions by optimizing joint SE/layer selection, thereby enhancing spectral efficiency and reducing computational overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2023059199_20032025_PF_FP_ABST
    Figure IB2023059199_20032025_PF_FP_ABST
Patent Text Reader

Abstract

A method and network nodes for iterative wireless device and layer selection for downlink multi-wireless device multiple input-multiple output (MU-MIMO) transmission are disclosed. According to one aspect, a method in a network node includes jointly and iteratively determining both a set of WDs to be co-scheduled and a set of layers for each WD in the set of WDs to obtain a highest total information carrying capacity, ICC, subject to at least one constraint. The method also includes co-scheduling the determined set of WDs on the determined set of layers for each WD in the set of WDs.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]ITERATIVE WIRELESS DEVICE (WD) AND LAYER SELECTION FOR DOWNLINK MULTI-WD MULTIPLE INPUT-MULTIPLE OUTPUT (MU- MIMO) TRANSMISSION TECHNICAL FIELD The present disclosure relates to wireless communications, and in particular, to iterative wireless device and layer selection for downlink multi-user multiple input- multiple output (MU-MIMO) transmission. BACKGROUND The Third Generation Partnership Project (3GPP) has developed and is developing standards for Fourth Generation (4G) (also referred to as Long Term Evolution (LTE)) and Fifth Generation (5G) (also referred to as New Radio (NR)) wireless communication systems. Such systems provide, among other features, broadband communication between network nodes, such as base stations, and mobile wireless devices (WD), as well as communication between network nodes and between WDs. The 3GPP is also developing standards for Sixth Generation (6G) wireless communication networks. Massive multiple input multiple output (MIMO) transmission enables enhanced spectral efficiency via spatial multiplexing of multiple layers simultaneously transmitted on the same time and frequency resources. The wireless devices within a multiuser (MU)- MIMO wireless device group should be selected such that they have good spatial separation to fully exploit the spatial multiplexing capabilities of the system. Multi- wireless device transmission may be achieved via precoding the downlink transmissions such that the mutual interference among different transmission layers is eliminated or reduced. The total throughput achieved by MU-MIMO transmission depends on the number of multiplexed wireless devices, the signal-to-interference-plus-noise ratio (SINR) of each wireless device and the penalty incurred by the inter-wireless device interference suppression precoding algorithm. Increasing the number of paired wireless devices does not necessarily lead to increasing the cell throughput since the transmission power is shared between the MU-MIMO multiplexed wireless devices and the penalty due to MU- MIMO interference suppression increases as the number of paired wireless devices increases. In reciprocity-based downlink (e.g., from network node to wireless device) transmission schemes, the MU-MIMO precoders are designed based on channel estimates obtained from uplink (e.g., from wireless device to network node) reference symbols that are transmitted by each scheduling entity (SE) in prior uplink transmission slots. Typically, the number of transmitted layers per SE is less than the total number of receive antennas at the SE, and hence, a subset of the channel estimates is used to determine the transmission directions for the layers transmitted to each paired SE in an MU-MIMO transmission. The selection of these transmission directions significantly affects the achieved MU-MIMO spectral efficiency. For instance, when two SEs are paired in an MU-MIMO transmission, the spatial transmission directions of the two SEs should be well-separated to reduce the interference suppression penalty incurred when nulls are placed in the spatial directions of the paired SEs. Existing reciprocity-based downlink MU-MIMO grouping algorithms select the paired SEs and the transmission directions (selected layers) for each SE independently. Legacy MU-MIMO grouping algorithms typically include two stages. In the first stage, the paired SEs and number of layers for each SE are selected while satisfying some constraints on the maximum number of paired SEs and MU-MIMO layers as well as individual constraints on the maximum number of layers for each SE. In the second stage, the layer selection for each paired SE is performed based on the selected number of layers. This might cause reduction in the achieved spectral efficiency of the MU- MIMO transmission especially when the paired SEs are in close spatial proximity of each other. Alternately, a brute force exhaustive search for the best SE / layer selection has exponential complexity in the total number of available layers for all the MU-MIMO candidate SEs. This computational complexity may be prohibitively high especially when the number of candidate SEs is large since the MU-MIMO precoder must be calculated for each SE / layer selection hypothesis. SUMMARY Some embodiments advantageously provide methods and network nodes for iterative wireless device and layer selection for downlink multi-wireless device multiple input-multiple output (MU-MIMO) transmission. Some embodiments provide methods and network nodes for joint selection of the paired SEs in an MU-MIMO transmission and the spatial layers for each paired SE such that the total spectral efficiency of the MU-MIMO transmission is maximized. In some embodiments, an algorithm uses the structure of the reciprocity-based MU-MIMO precoder to iteratively compute the MU-MIMO precoder for each hypothesis while reusing the calculated precoder for the previous hypothesis. Therefore, the computational complexity does not grow exponentially as the number of MU-MIMO candidate SEs increases. Two iterative algorithms are presented for joint selection of the paired SEs and the selected layers for each SE while satisfying possible constraints on the maximum number of MU-MIMO layers, the maximum number of paired SEs, and individual maximum rank constraints on each SE. The first algorithm gives priority to increasing the number of layers for each co-scheduled SE while the priority of the second algorithm is to increase the number of paired SEs. Both algorithms iteratively add layers from different SEs to the MU-MIMO group. In each iteration, the algorithm searches for the layer that yields the maximum improvement in spectral efficiency and the layer is added to the MU-MIMO group if the spectral efficiency increases by adding this layer. In contrast with legacy grouping approaches in which the selected layers for each paired SEs do not depend on the selected layers of the other paired SEs, the algorithm considers all the layers that have been already added to the current MU- MIMO group from all the paired SEs. The disclosed algorithms jointly select the paired SEs in an MU-MIMO transmission and the layers for each paired SE while avoiding computationally expensive exhaustive search over all possible layer / SE combinations. The disclosed algorithms use the structure of the precoder to iteratively compute the spectral efficiency when one additional layer is added to the MU-MIMO transmission. The disclosed algorithms may provide up to or exceeding 25% improvement in cell throughput of reciprocity-based downlink MU-MIMO transmission compared to legacy solutions. The improvement results from joint SE / layer selection. According to some aspects, a network node configured to communicate with a wireless device, WD, is provided. The network node is configured to jointly and iteratively determine both a set of WDs to be co-scheduled and a set of layers for each WD in the set of WDs to obtain a highest total information carrying capacity, ICC, subject to at least one constraint. The network node is also configured to co-schedule the determined set of WDs on the determined set of layers for each WD in the set of WDs. According to this aspect, in some embodiments, the at least one constraint includes at least one of a maximum number of layers, a maximum number of layers for each WD to be co-scheduled and a maximum number of WDs to be co-scheduled. In some embodiments, the set of WDs and the set of layers for each WD are iteratively determined subject to a priority of increasing a number of WDs in the set of WDs. In some embodiments, the set of WDs and the set of layers for each WD are iteratively determined subject to a priority of increasing a number of layers for each WD in the set of WDs. In some embodiments, jointly and iteratively determining both the set of WDs and the set of layers for each WD includes updating a multiple input-multiple output, MIMO, combined channel matrix. In some embodiments, jointly and iteratively determining both the set of WDs and the set of layers for each WD includes determining whether to update the MIMO combined channel matrix based at least in part on a rank constraint. In some embodiments, jointly and iteratively determining both the set of WDs and the set of layers for each WD includes determining whether a plurality of WDs are to be included in the set of WDs in an order of scheduling priorities of the WDs. In some embodiments, jointly and iteratively determining both the set of WDs and the set of layers for each WD includes performing a layer search algorithm configured to iteratively calculate a beamforming weight vector and a corresponding ICC for each additional layer is added to the set of layers for a WD. In some embodiments, the layer search algorithm is configured to determine a layer that, when added to the set of layers for a WD, maximizes the ICC subject to the at least one constraint. In some embodiments, the layer search algorithm is configured to compute an ICC by mapping a signal to interference plus noise, SINR, to a corresponding ICC for a target block error rate. According to another aspect, a method in a network node configured to communicate with a wireless device, WD, is provided. The method includes jointly and iteratively determining both a set of WDs to be co-scheduled and a set of layers for each WD in the set of WDs to obtain a highest total information carrying capacity, ICC, subject to at least one constraint. The method also includes co-scheduling the determined set of WDs on the determined set of layers for each WD in the set of WDs. According to this aspect, in some embodiments, the at least one constraint includes at least one of a maximum number of layers, a maximum number of layers for each WD to be co-scheduled and a maximum number of WDs to be co-scheduled. In some embodiments, the set of WDs and the set of layers for each WD are iteratively determined subject to a priority of increasing a number of WDs in the set of WDs. In some embodiments, the set of WDs and the set of layers for each WD are iteratively determined subject to a priority of increasing a number of layers for each WD in the set of WDs. In some embodiments, jointly and iteratively determining both the set of WDs and the set of layers for each WD includes updating a multiple input-multiple output, MIMO, combined channel matrix. In some embodiments, jointly and iteratively determining both the set of WDs and the set of layers for each WD includes determining whether to update the MIMO combined channel matrix based at least in part on a rank constraint. In some embodiments, jointly and iteratively determining both the set of WDs and the set of layers for each WD includes determining whether a plurality of WDs are to be included in the set of WDs in an order of scheduling priorities of the WDs. In some embodiments, jointly and iteratively determining both the set of WDs and the set of layers for each WD includes performing a layer search algorithm configured to iteratively calculate a beamforming weight vector and a corresponding ICC for each additional layer is added to the set of layers for a WD. In some embodiments, the layer search algorithm is configured to determine a layer that, when added to the set of layers for a WD, maximizes the ICC subject to the at least one constraint. In some embodiments, the layer search algorithm is configured to compute an ICC by mapping a signal to interference plus noise, SINR, to a corresponding ICC for a target block error rate. BRIEF DESCRIPTION OF THE DRAWINGS A more complete understanding of the present embodiments, and the attendant advantages and features thereof, will be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein: FIG. 1 is a schematic diagram of an example network architecture illustrating a communication system connected via an intermediate network to a host computer according to the principles in the present disclosure; FIG. 2 is a block diagram of a host computer communicating via a network node with a wireless device over an at least partially wireless connection according to some embodiments of the present disclosure; FIG. 3 is a flowchart illustrating example methods implemented in a communication system including a host computer, a network node and a wireless device for executing a client application at a wireless device according to some embodiments of the present disclosure; FIG. 4 is a flowchart illustrating example methods implemented in a communication system including a host computer, a network node and a wireless device for receiving wireless device data at a wireless device according to some embodiments of the present disclosure; FIG. 5 is a flowchart illustrating example methods implemented in a communication system including a host computer, a network node and a wireless device for receiving wireless device data from the wireless device at a host computer according to some embodiments of the present disclosure; FIG. 6 is a flowchart illustrating example methods implemented in a communication system including a host computer, a network node and a wireless device for receiving wireless device data at a host computer according to some embodiments of the present disclosure; FIG. 7 is a flowchart of an example process in a network node for iterative wireless device and layer selection for downlink multi-wireless device multiple input-multiple output (MU-MIMO) transmission; FIG. 8 is a flowchart of an example process for joint and iterative wireless device and layer selection; FIG. 9 is a flowchart of another example process for joint and iterative wireless device and layer selection; FIG. 10 is a flowchart of an example best layer search algorithm; FIG. 11 is a graph of downlink cell throughput versus number of wireless devices for legacy methods and for the joint and iterative methods disclosed herein; FIG. 12 is a graph of number of downlink layers versus number of wireless devices for legacy methods and for the joint and iterative methods disclosed herein; and FIG. 13 is a graph of number of co-scheduled scheduling entities versus number of wireless devices for legacy methods and for the joint and iterative methods disclosed herein. DETAILED DESCRIPTION Before describing in detail example embodiments, it is noted that the embodiments reside primarily in combinations of apparatus components and processing steps related to iterative wireless device and layer selection for downlink multi-wireless device multiple input-multiple output (MU-MIMO) transmission. Accordingly, components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Like numbers refer to like elements throughout the description. As used herein, relational terms, such as “first” and “second,” “top” and “bottom,” and the like, may be used solely to distinguish one entity or element from another entity or element without necessarily requiring or implying any physical or logical relationship or order between such entities or elements. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the concepts described herein. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and / or “including” when used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. In embodiments described herein, the joining term, “in communication with” and the like, may be used to indicate electrical or data communication, which may be accomplished by physical contact, induction, electromagnetic radiation, radio signaling, infrared signaling or optical signaling, for example. One having ordinary skill in the art will appreciate that multiple components may interoperate and modifications and variations are possible of achieving the electrical and data communication. In some embodiments described herein, the term “coupled,” “connected,” and the like, may be used herein to indicate a connection, although not necessarily directly, and may include wired and / or wireless connections. The term “network node” used herein may be any kind of network node comprised in a radio network which may further comprise any of base station (BS), radio base station, base transceiver station (BTS), base station controller (BSC), radio network controller (RNC), g Node B (gNB), evolved Node B (eNB or eNodeB), Node B, multi- standard radio (MSR) radio node such as MSR BS, multi-cell / multicast coordination entity (MCE), integrated access and backhaul (IAB) node, relay node, donor node controlling relay, radio access point (AP), transmission points, transmission nodes, Remote Radio Unit (RRU) Remote Radio Head (RRH), a core network node (e.g., mobile management entity (MME), self-organizing network (SON) node, a coordinating node, positioning node, MDT node, etc.), an external node (e.g., 3rd party node, a node external to the current network), nodes in distributed antenna system (DAS), a spectrum access system (SAS) node, an element management system (EMS), etc. The network node may also comprise test equipment. The term “radio node” used herein may be used to also denote a wireless device (WD) such as a wireless device (WD) or a radio network node. In some embodiments, the non-limiting terms wireless device (WD) or a user equipment (UE) are used interchangeably. The WD herein may be any type of wireless device capable of communicating with a network node or another WD over radio signals, such as wireless device (WD). The WD may also be a radio communication device, target device, device to device (D2D) WD, machine type WD or WD capable of machine to machine communication (M2M), low-cost and / or low-complexity WD, a sensor equipped with WD, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles, Customer Premises Equipment (CPE), an Internet of Things (IoT) device, or a Narrowband IoT (NB-IOT) device, etc. Also, in some embodiments the generic term “radio network node” is used. It may be any kind of a radio network node which may comprise any of base station, radio base station, base transceiver station, base station controller, network controller, RNC, evolved Node B (eNB), Node B, gNB, Multi-cell / multicast Coordination Entity (MCE), IAB node, relay node, access point, radio access point, Remote Radio Unit (RRU) Remote Radio Head (RRH). Note that although terminology from one particular wireless system, such as, for example, 3GPP LTE and / or New Radio (NR), may be used in this disclosure, this should not be seen as limiting the scope of the disclosure to only the aforementioned system. Other wireless systems, including without limitation Wide Band Code Division Multiple Access (WCDMA), Worldwide Interoperability for Microwave Access (WiMax), Ultra Mobile Broadband (UMB) and Global System for Mobile Communications (GSM), may also benefit from exploiting the ideas covered within this disclosure. Note further, that functions described herein as being performed by a wireless device or a network node may be distributed over a plurality of wireless devices and / or network nodes. In other words, it is contemplated that the functions of the network node and wireless device described herein are not limited to performance by a single physical device and, in fact, may be distributed among several physical devices. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. Some embodiments provide iterative wireless device and layer selection for downlink multi-wireless device multiple input-multiple output (MU-MIMO) transmission. Referring now to the drawing figures, in which like elements are referred to by like reference numerals, there is shown in FIG. 1 a schematic diagram of a communication system 10, according to an embodiment, such as a 3GPP-type cellular network that may support standards such as LTE and / or NR (5G), which comprises an access network 12, such as a radio access network, and a core network 14. The access network 12 comprises a plurality of network nodes 16a, 16b, 16c (referred to collectively as network nodes 16), such as NBs, eNBs, gNBs or other types of wireless access points, each defining a corresponding coverage area 18a, 18b, 18c (referred to collectively as coverage areas 18). Each network node 16a, 16b, 16c is connectable to the core network 14 over a wired or wireless connection 20. A first wireless device (WD) 22a located in coverage area 18a is configured to wirelessly connect to, or be paged by, the corresponding network node 16a. A second WD 22b in coverage area 18b is wirelessly connectable to the corresponding network node 16b. While a plurality of WDs 22a, 22b (collectively referred to as wireless devices 22) are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole WD is in the coverage area or where a sole WD is connecting to the corresponding network node 16. Note that although only two WDs 22 and three network nodes 16 are shown for convenience, the communication system may include many more WDs 22 and network nodes 16. Also, it is contemplated that a WD 22 may be in simultaneous communication and / or configured to separately communicate with more than one network node 16 and more than one type of network node 16. For example, a WD 22 may have dual connectivity with a network node 16 that supports LTE and the same or a different network node 16 that supports NR. As an example, WD 22 may be in communication with an eNB for LTE / E-UTRAN and a gNB for NR / NG-RAN. The communication system 10 may itself be connected to a host computer 24, which may be embodied in the hardware and / or software of a standalone server, a cloud- implemented server, a distributed server or as processing resources in a server farm. The host computer 24 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider. The connections 26, 28 between the communication system 10 and the host computer 24 may extend directly from the core network 14 to the host computer 24 or may extend via an optional intermediate network 30. The intermediate network 30 may be one of, or a combination of more than one of, a public, private or hosted network. The intermediate network 30, if any, may be a backbone network or the Internet. In some embodiments, the intermediate network 30 may comprise two or more sub-networks (not shown). The communication system of FIG. 1 as a whole enables connectivity between one of the connected WDs 22a, 22b and the host computer 24. The connectivity may be described as an over-the-top (OTT) connection. The host computer 24 and the connected WDs 22a, 22b are configured to communicate data and / or signaling via the OTT connection, using the access network 12, the core network 14, any intermediate network 30 and possible further infrastructure (not shown) as intermediaries. The OTT connection may be transparent in the sense that at least some of the participating communication devices through which the OTT connection passes are unaware of routing of uplink and downlink communications. For example, a network node 16 may not or need not be informed about the past routing of an incoming downlink communication with data originating from a host computer 24 to be forwarded (e.g., handed over) to a connected WD 22a. Similarly, the network node 16 need not be aware of the future routing of an outgoing uplink communication originating from the WD 22a towards the host computer 24. A network node 16 is configured to include a scheduling unit 32 which is configured to jointly and iteratively determine both a set of WDs to be co-scheduled and a set of layers for each WD in the set of WDs to obtain a highest total information carrying capacity, ICC, subject to at least one constraint. Example implementations, in accordance with an embodiment, of the WD 22, network node 16 and host computer 24 discussed in the preceding paragraphs will now be described with reference to FIG. 2. In a communication system 10, a host computer 24 comprises hardware (HW) 38 including a communication interface 40 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of the communication system 10. The host computer 24 further comprises processing circuitry 42, which may have storage and / or processing capabilities. The processing circuitry 42 may include a processor 44 and memory 46. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 42 may comprise integrated circuitry for processing and / or control, e.g., one or more processors and / or processor cores and / or FPGAs (Field Programmable Gate Array) and / or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 44 may be configured to access (e.g., write to and / or read from) memory 46, which may comprise any kind of volatile and / or nonvolatile memory, e.g., cache and / or buffer memory and / or RAM (Random Access Memory) and / or ROM (Read-Only Memory) and / or optical memory and / or EPROM (Erasable Programmable Read-Only Memory). Processing circuitry 42 may be configured to control any of the methods and / or processes described herein and / or to cause such methods, and / or processes to be performed, e.g., by host computer 24. Processor 44 corresponds to one or more processors 44 for performing host computer 24 functions described herein. The host computer 24 includes memory 46 that is configured to store data, programmatic software code and / or other information described herein. In some embodiments, the software 48 and / or the host application 50 may include instructions that, when executed by the processor 44 and / or processing circuitry 42, causes the processor 44 and / or processing circuitry 42 to perform the processes described herein with respect to host computer 24. The instructions may be software associated with the host computer 24. The software 48 may be executable by the processing circuitry 42. The software 48 includes a host application 50. The host application 50 may be operable to provide a service to a remote wireless device, such as a WD 22 connecting via an OTT connection 52 terminating at the WD 22 and the host computer 24. In providing the service to the remote WD 22, the host application 50 may provide data which is transmitted using the OTT connection 52. The “user data” (also referred to as WD data) may be data and information described herein as implementing the described functionality. In one embodiment, the host computer 24 may be configured for providing control and functionality to a service provider and may be operated by the service provider or on behalf of the service provider. The processing circuitry 42 of the host computer 24 may enable the host computer 24 to observe, monitor, control, transmit to and / or receive from the network node 16 and or the wireless device 22. The communication system 10 further includes a network node 16 provided in a communication system 10 and including hardware 58 enabling it to communicate with the host computer 24 and with the WD 22. The hardware 58 may include a communication interface 60 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of the communication system 10, as well as a radio interface 62 for setting up and maintaining at least a wireless connection 64 with a WD 22 located in a coverage area 18 served by the network node 16. The radio interface 62 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and / or one or more RF transceivers. The communication interface 60 may be configured to facilitate a connection 66 to the host computer 24. The connection 66 may be direct or it may pass through a core network 14 of the communication system 10 and / or through one or more intermediate networks 30 outside the communication system 10. In the embodiment shown, the hardware 58 of the network node 16 further includes processing circuitry 68. The processing circuitry 68 may include a processor 70 and a memory 72. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 68 may comprise integrated circuitry for processing and / or control, e.g., one or more processors and / or processor cores and / or FPGAs (Field Programmable Gate Array) and / or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 70 may be configured to access (e.g., write to and / or read from) the memory 72, which may comprise any kind of volatile and / or nonvolatile memory, e.g., cache and / or buffer memory and / or RAM (Random Access Memory) and / or ROM (Read-Only Memory) and / or optical memory and / or EPROM (Erasable Programmable Read-Only Memory). Thus, the network node 16 further has software 74 stored internally in, for example, memory 72, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the network node 16 via an external connection. The software 74 may be executable by the processing circuitry 68. The processing circuitry 68 may be configured to control any of the methods and / or processes described herein and / or to cause such methods, and / or processes to be performed, e.g., by network node 16. Processor 70 corresponds to one or more processors 70 for performing network node 16 functions described herein. The memory 72 is configured to store data, programmatic software code and / or other information described herein. In some embodiments, the software 74 may include instructions that, when executed by the processor 70 and / or processing circuitry 68, causes the processor 70 and / or processing circuitry 68 to perform the processes described herein with respect to network node 16. For example, processing circuitry 68 of the network node 16 may include a scheduling unit 32 which is configured to jointly and iteratively determine both a set of WDs to be co-scheduled and a set of layers for each WD in the set of WDs to obtain a highest total information carrying capacity, ICC, subject to at least one constraint. The communication system 10 further includes the WD 22 already referred to. The WD 22 may have hardware 80 that may include a radio interface 82 configured to set up and maintain a wireless connection 64 with a network node 16 serving a coverage area 18 in which the WD 22 is currently located. The radio interface 82 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and / or one or more RF transceivers. The hardware 80 of the WD 22 further includes processing circuitry 84. The processing circuitry 84 may include a processor 86 and memory 88. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 84 may comprise integrated circuitry for processing and / or control, e.g., one or more processors and / or processor cores and / or FPGAs (Field Programmable Gate Array) and / or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 86 may be configured to access (e.g., write to and / or read from) memory 88, which may comprise any kind of volatile and / or nonvolatile memory, e.g., cache and / or buffer memory and / or RAM (Random Access Memory) and / or ROM (Read-Only Memory) and / or optical memory and / or EPROM (Erasable Programmable Read-Only Memory). Thus, the WD 22 may further comprise software 90, which is stored in, for example, memory 88 at the WD 22, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the WD 22. The software 90 may be executable by the processing circuitry 84. The software 90 may include a client application 92. The client application 92 may be operable to provide a service to a human or non-human user via the WD 22, with the support of the host computer 24. In the host computer 24, an executing host application 50 may communicate with the executing client application 92 via the OTT connection 52 terminating at the WD 22 and the host computer 24. In providing the service to the user, the client application 92 may receive request data from the host application 50 and provide user data in response to the request data. The OTT connection 52 may transfer both the request data and the user data. The client application 92 may interact with the user to generate the user data that it provides. The processing circuitry 84 may be configured to control any of the methods and / or processes described herein and / or to cause such methods, and / or processes to be performed, e.g., by WD 22. The processor 86 corresponds to one or more processors 86 for performing WD 22 functions described herein. The WD 22 includes memory 88 that is configured to store data, programmatic software code and / or other information described herein. In some embodiments, the software 90 and / or the client application 92 may include instructions that, when executed by the processor 86 and / or processing circuitry 84, causes the processor 86 and / or processing circuitry 84 to perform the processes described herein with respect to WD 22. In some embodiments, the inner workings of the network node 16, WD 22, and host computer 24 may be as shown in FIG. 2 and independently, the surrounding network topology may be that of FIG. 1. In FIG. 2, the OTT connection 52 has been drawn abstractly to illustrate the communication between the host computer 24 and the wireless device 22 via the network node 16, without explicit reference to any intermediary devices and the precise routing of messages via these devices. Network infrastructure may determine the routing, which it may be configured to hide from the WD 22 or from the service provider operating the host computer 24, or both. While the OTT connection 52 is active, the network infrastructure may further take decisions by which it dynamically changes the routing (e.g., on the basis of load balancing consideration or reconfiguration of the network). The wireless connection 64 between the WD 22 and the network node 16 is in accordance with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of OTT services provided to the WD 22 using the OTT connection 52, in which the wireless connection 64 may form the last segment. More precisely, the teachings of some of these embodiments may improve the data rate, latency, and / or power consumption and thereby provide benefits such as reduced user waiting time, relaxed restriction on file size, better responsiveness, extended battery lifetime, etc. In some embodiments, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 52 between the host computer 24 and WD 22, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection 52 may be implemented in the software 48 of the host computer 24 or in the software 90 of the WD 22, or both. In embodiments, sensors (not shown) may be deployed in or in association with communication devices through which the OTT connection 52 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software 48, 90 may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 52 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect the network node 16, and it may be unknown or imperceptible to the network node 16. Some such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary WD signaling facilitating the host computer’s 24 measurements of throughput, propagation times, latency and the like. In some embodiments, the measurements may be implemented in that the software 48, 90 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 52 while it monitors propagation times, errors, etc. Thus, in some embodiments, the host computer 24 includes processing circuitry 42 configured to provide user data and a communication interface 40 that is configured to forward the user data to a cellular network for transmission to the WD 22. In some embodiments, the cellular network also includes the network node 16 with a radio interface 62. In some embodiments, the network node 16 is configured to, and / or the network node’s 16 processing circuitry 68 is configured to perform the functions and / or methods described herein for preparing / initiating / maintaining / supporting / ending a transmission to the WD 22, and / or preparing / terminating / maintaining / supporting / ending in receipt of a transmission from the WD 22. In some embodiments, the host computer 24 includes processing circuitry 42 and a communication interface 40 that is configured to a communication interface 40 configured to receive user data originating from a transmission from a WD 22 to a network node 16. In some embodiments, the WD 22 is configured to, and / or comprises a radio interface 82 and / or processing circuitry 84 configured to perform the functions and / or methods described herein for preparing / initiating / maintaining / supporting / ending a transmission to the network node 16, and / or preparing / terminating / maintaining / supporting / ending in receipt of a transmission from the network node 16. Although FIGS. 1 and 2 show various “units” such as scheduling unit 32 as being within a processor, it is contemplated that these units may be implemented such that a portion of the unit is stored in a corresponding memory within the processing circuitry. In other words, the units may be implemented in hardware or in a combination of hardware and software within the processing circuitry. FIG. 3 is a flowchart illustrating an example method implemented in a communication system, such as, for example, the communication system of FIGS. 1 and 2, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIG. 2. In a first step of the method, the host computer 24 provides user data (Block S100). In an optional substep of the first step, the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50 (Block S102). In a second step, the host computer 24 initiates a transmission carrying the user data to the WD 22 (Block S104). In an optional third step, the network node 16 transmits to the WD 22 the user data which was carried in the transmission that the host computer 24 initiated, in accordance with the teachings of the embodiments described throughout this disclosure (Block S106). In an optional fourth step, the WD 22 executes a client application, such as, for example, the client application 92, associated with the host application 50 executed by the host computer 24 (Block S108). FIG. 4 is a flowchart illustrating an example method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2. In a first step of the method, the host computer 24 provides user data (Block S110). In an optional substep (not shown) the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50. In a second step, the host computer 24 initiates a transmission carrying the user data to the WD 22 (Block S112). The transmission may pass via the network node 16, in accordance with the teachings of the embodiments described throughout this disclosure. In an optional third step, the WD 22 receives the user data carried in the transmission (Block S114). FIG. 5 is a flowchart illustrating an example method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2. In an optional first step of the method, the WD 22 receives input data provided by the host computer 24 (Block S116). In an optional substep of the first step, the WD 22 executes the client application 92, which provides the user data in reaction to the received input data provided by the host computer 24 (Block S118). Additionally or alternatively, in an optional second step, the WD 22 provides user data (Block S120). In an optional substep of the second step, the WD provides the user data by executing a client application, such as, for example, client application 92 (Block S122). In providing the user data, the executed client application 92 may further consider user input received from the user. Regardless of the specific manner in which the user data was provided, the WD 22 may initiate, in an optional third substep, transmission of the user data to the host computer 24 (Block S124). In a fourth step of the method, the host computer 24 receives the user data transmitted from the WD 22, in accordance with the teachings of the embodiments described throughout this disclosure (Block S126). FIG. 6 is a flowchart illustrating an example method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2. In an optional first step of the method, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 16 receives user data from the WD 22 (Block S128). In an optional second step, the network node 16 initiates transmission of the received user data to the host computer 24 (Block S130). In a third step, the host computer 24 receives the user data carried in the transmission initiated by the network node 16 (Block S132). FIG. 7 is a flowchart of an example process in a network node 16 for iterative user and layer selection for downlink multi-user multiple input-multiple output (MU-MIMO) transmission. One or more blocks described herein may be performed by one or more elements of network node 16 such as by one or more of processing circuitry 68 (including the scheduling unit 32), processor 70, radio interface 62 and / or communication interface 60. Network node 16 such as via processing circuitry 68 and / or processor 70 and / or radio interface 62 and / or communication interface 60 is configured to jointly and iteratively determine both a set of WDs 22 to be co-scheduled and a set of layers for each WD 22 in the set of WDs 22 to obtain a highest total information carrying capacity, ICC, subject to at least one constraint (Block S134). The method also includes co-scheduling the determined set of WDs 22 on the determined set of layers for each WD 22 in the set of WDs 22 (Block S136). According to this aspect, in some embodiments, the at least one constraint includes at least one of a maximum number of layers, a maximum number of layers for each WD 22 to be co-scheduled and a maximum number of WDs 22 to be co-scheduled. In some embodiments, the set of WDs 22 and the set of layers for each WD 22 are iteratively determined subject to a priority of increasing a number of WDs 22 in the set of WDs 22. In some embodiments, the set of WDs 22 and the set of layers for each WD 22 are iteratively determined subject to a priority of increasing a number of layers for each WD 22 in the set of WDs 22. In some embodiments, jointly and iteratively determining both the set of WDs 22 and the set of layers for each WD 22 includes updating a multiple input- multiple output, MIMO, combined channel matrix. In some embodiments, jointly and iteratively determining both the set of WDs 22 and the set of layers for each WD 22 includes determining whether to update the MIMO combined channel matrix based at least in part on a rank constraint. In some embodiments, jointly and iteratively determining both the set of WDs 22 and the set of layers for each WD 22 includes determining whether a plurality of WDs 22 are to be included in the set of WDs 22 in an order of scheduling priorities of the WDs 22. In some embodiments, jointly and iteratively determining both the set of WDs 22 and the set of layers for each WD 22 includes performing a layer search algorithm configured to iteratively calculate a beamforming weight vector and a corresponding ICC for each additional layer is added to the set of layers for a WD 22. In some embodiments, the layer search algorithm is configured to determine a layer that, when added to the set of layers for a WD 22, maximizes the ICC subject to the at least one constraint. In some embodiments, the layer search algorithm is configured to compute an ICC by mapping a signal to interference plus noise, SINR, to a corresponding ICC for a target block error rate. Having described the general process flow of arrangements of the disclosure and having provided examples of hardware and software arrangements for implementing the processes and functions of the disclosure, the sections below provide details and examples of arrangements for iterative WD 22 and layer selection for downlink multi-WD 22 multiple input-multiple output (MU-MIMO) transmission. System Model Consider network node 16 such as a base station employing an N-element antenna array communicating with multiple WDs 22. Let the N^× M matrix ^^^f^denote thematrix containing the coefficients of the downlink channel to WD i at frequency f whereN^ is the number of receive antennas at the WD. Let the 1 × M vector ^^,^^f^ denote thevector containing the downlink channel coefficients to WD antenna v, i.e.: In time-division duplex systems where channel reciprocity may be assumed, the channel estimates are available at the network node 16, e.g., from uplink channel sounding transmissions transmitted from each WD antenna and are used by the base station to select the beamforming coefficients for downlink transmission. In downlink MU-MIMO transmission mode, multiple SEs (WDs 22) may be co- scheduled on the same resources and the downlink beamforming coefficients are selected to suppress inter-WD 22 interference between the co-scheduled SEs. Let K denote the number of co-scheduled (paired) SEs 22 and L denote the number of downlink MU- MIMO layers transmitted to these SEs. The N × L unnormalized downlink MU-MIMO beamforming matrix ^^f^ may be designed using the minimum mean square error(MMSE) criterion as:^^f^ = ^^^f^^^^f^ ^^^f^ + δ"#$^^^where # is the L × L identity matrix, "$ δ is the interference-plus-noise estimate and theL × M matrix ^^f^ is the combined channel matrix containing the channel coefficients ofthe selected layers for the paired SEs. The N × L normalized precoder ^%^f^ is constructed from ^^f^ by normalizing each column of ^^f^ such that its norm is^ and is used for downlink transmission to the co-scheduled SEs. In some embodiments, the problem of MU-MIMO grouping is addressed where the co-scheduled SEs 22 and the layers of these SEs 22 are selected, i.e., the combined channel matrix ^^f^ for calculating the downlink MU-MIMO beamforming matrix ^^f^ is constructed. For example, when WDs 220, 1, … , K − 1 are paired in a MU-MIMO transmission with one-layer transmission per WD, the combined channel matrix may be expressed as: ^^f^ = +^,^,^^f^ ^^,,^^f^ ... ^, ,.^^,^^f^ / where^.^,denotes the transpose operator. Note that in the above example, layer index 0 is selected for each paired WD and that the number of layers L is equal to the number of paired SEs K. In general, more than one layer may be transmitted for one SE. Let U denote the set containing the indices of the paired SEs. Hence, |U| = K where |. | denotes thecardinality of the set. Let L^ denote the number of layers transmitted for SE i, and hence,∑^∈4 L^ = L. Furthermore, let ℒ^ denote the set containing the selected layer indices for SEi. Using this notation, when WDs 0, 1, … , K − 1 are paired, the combined downlinkchannel matrix for the selected layers of the paired SEs 22 may be written as: ^^f^ = +^%,^f^ ^%,^f^ ...%,^ ^,^^^.^^f / where ^%^^f^is the L^× M matrix containing the coefficients of the selected layers to SE i,i.e., the matrix ^% ^^f^ is constructed by concatenating the 1 × M vectors ^^,^^f^ for all v ∈ℒ^ as its rows.Proposed MU-MIMO Group Formation Algorithm An objective of the MU-MIMO group formation algorithm is to search for the SEs 22 to be co-scheduled and the selected layers for each paired SE. The search may be performed such that a metric is maximized. Some embodiments disclosed herein focus on maximizing the total information carrying capacity (ICC) of the downlink MU-MIMO transmission where the ICC is the maximum number of bits / second / Hz that may be transmitted while meeting the target block error rate (BLER). Other metrics are also possible e.g., the total spectral efficiency. Two iterative algorithms for joint selection of the paired SEs 22 and the selected layers for each SE 22 are disclosed. Let the superscript ^. ^^6^denote the lth iteration, i.e., after adding l layers. The iterative algorithm is initialized by setting ^^f^^^^= [ ], U^^^= { }, L^^^^ = 0, and L^^^= 0. In each iteration, one layer is added from a certain SE. The SEs 22 and layers are selected and added to the MU-MIMO group under the following constraints: •The number of MU-MIMO layers cannot exceed a predefined thresholdL<4,=>?;•The number of paired SEs 22 cannot exceed a predefined threshold|U|<4, =>?; and / or• The number of added layers for SE i cannot exceed L@4,^the number of SU- MIMO layers for SE i. Two algorithms for iterative MU-MIMO group formation algorithm are disclosed: the maximum SE rank algorithm and the maximum number of SEs algorithm. Maximum SE rank Algorithm In this algorithm, the priority is increasing the number of layers for each co- scheduled SE. FIG. 8 is a flow chart of an example MU-MIMO group formation algorithm. In this algorithm, the wireless devices 22 are processed in order of their scheduling priority. Assume that K SEs 22 are available for downlink MU-MIMO scheduling, i.e., SE 0, SE 1, …, SE K − 1, where the SEs 22 are ordered in descending order of their downlink scheduling priority. The steps of the algorithm may include: • Initialize (Block S138); • Loop over all candidate SEs; For SE i = 0, 1, … , K − 1 (Block S140); oIf there is no more room to add any additional SEs; i.e., If |U| =|U|<4, =>?, (Block S142);^ Exit (Block S144); o Else ^ Initialize L^= 0 (Block S146); ^ While L^< L@4,^(Block S148); • Search for best layer, ^^,^^f^, of SE i to add to the MU-MIMO group among the layers that have not been previously added using the best layer search algorithm described below (Block S150); • Obtain decision on whether to add ^^,^^f^based on the rank selection algorithm described below (Block S152); • If Decision is not to add the layer: o Exit While loop and proceed to next SE 22 if available (Block S140); • Else o Update the MU-MIMO combined channel matrix (Block S154); o Increment number of layers for SE i; L^+ + (Block S154); o Add SE i to selected WDs 22 set; U = U ∪{i}(Block S154); o Increment total number of layers; L + + (Block S154); o If maximum number of MU-MIMO layers is reached, i.e., L = L<4,=>?(Block S156); ^ Exit (Block S144); o End if • End If / Else ^ End While loop o End If / Else • End Loop over all candidate SEs The above algorithm gives higher priority to increasing the rank of individual SE transmissions as the maximum number of layers for each SE 22 may be possibly added to the MU-MIMO group before processing the SE 22 with the next highest schedulingpriority. For each SE i, a layer may be added to the MU-MIMO group if L^ < L@4,^ , L <L<4,=>?, and if the decision of the rank selection algorithm for this SE 22 is to add another layer. When the layer is added, SE i is added to the paired WD 22 set U, the number of its layers L^and the total number of layers L are both incremented, and the combined downlink channel matrix is updated from ^^f^^$^to ^^f^^$'^^by adding a rowcorresponding to the new selected layer. The algorithm exits if L = L<4,=>?, |U| =|U|<4, =>? or all the WDs 22 with downlink scheduling requests have been processed.Maximum number of SEs Algorithm In this MU-MIMO group formation algorithm the priority is increasing the number of paired SEs 22. A flow chart of the algorithm is shown in FIG. 9. The algorithm iterates over the available SEs 22 several times. During each iteration, the SEs 22 are processed in descending order of their scheduling priority where a maximum of one layer per SE 22 may be added to the MU-MIMO group. Let LGHIJdenote the number of additional layers added for all the SEs 22 during one iteration over all the SEs. The algorithm may be listed as follows: • Initialize L = 0, ^^f^^^^= [ ], U = { }, LGHIJ= 1 (Block S160); • While LGHIJ> 0 (Block S182); o Initialize LGHIJ= 0 (Block S162); o Loop over all candidate SEs; For SE i = 0, 1, … , K − 1 (Block S164); ^ If not L < L<4,=>?, i.e., then exit at Block S168; otherwise, there is room to add more MU-MIMO layers (Block S166); • number of paired SEs 22 is not exceeded (Block S170); o If L^< L@4,^(Block S174); ^ Search for best layer, ^^,^^f^, of SE i to add to the MU-MIMO group among the layers that have not been previously added using the best layer search algorithm described below (Block S176); ^ Obtain decision on whether to add ^^,^^f^ based on the rank selection algorithm described below (Block S178); ^ If Decision is not to add the layer: o Proceed to the SE 22 with next highest priority (Block S172); ^ Else o Update the MU-MIMO combined channel matrix (Block S180); o Increment number of layers for SE i; L^+ + (Block S180); o Add SE i to selected WDs 22 set; U = U ∪ {i} (Block S180); o Increment total number of layers; L + + (Block S180); o Increment number of layers added during this iteration; LGHIJ+ + (Block S180); ^ End If / Else o Else ^ Proceed to the SE 22 with next highest priority (Block S172); o End If / Else • Else o Proceed to the SE 22 with next highest priority (Block S182); • End If / Else ^ Else •Exit as maximum number of layers has been reached, i.e., L =L<4,=>? (Block S172);^ End If / Else o End Loop over all candidate SEs • End While LGHIJ> 0 (Block S182); Note that the algorithm exits when the maximum number of MU-MIMO layers has been reached or when the total number of new layers added during an iteration over all the SEs 22 is equal to 0. The second condition may happen when the maximum number of SEs 22 has been reached and no other layer may be added from the previously added SEs. As mentioned above, a maximum of one layer may be added from each SE 22 during one round of iterations. Best Layer search Algorithm A flowchart of an example layer search algorithm that may be utilized to find the best layer for a given SE i to be added to the current MU-MIMO group is shown in FIG. 10. The algorithm relies on iteratively calculating the beamforming weight vector and the corresponding ICC when this precoder is used for downlink transmission. Consider a layer / SE selection in which L layers are selected for MU-MIMO transmission and the associated combined downlink channel ^^f^^$^and ICC estimate ICC^^^f^^$^^. When an additional layer represented by the downlink 1 × M channel vector ^^,^^f^ is added to the MU-MIMO transmission such that the number of layers is L + 1, the ICC estimate may be updated and ICC^^^f^^$^, ^^,^^f^^ may be computed using the following steps: • Construct the M × ^L + 1^ combined channel matrix as N^f^^$'^^= • Compute the ^L + 1^ × ^L + 1^ matrix O^f^^$'^^= ^^ ^^P^^f^^$'^^^^f^$'^^+ δ"#$'^Q using the L × L matrix O^f^^$^by using the fact that: Hence O^f^^$'^^may be computed as: here the L × 1 vector S^f^ is given by S^f^ = O^f^^$ ^w ^N^f^^$^ ^ ^^,^^f^ and the scalark^f^ = δ" + ^ ^f^^ ^f^^ − ^ ^f^ ^ ^^$^^,^ ^,^ ^,^ N f S^f^;•Compute the M × ^L + 1^ unnormalized precoder ^^f^^$'^^ =N^f^^$'^^O^f^^$'^^;• Compute the normalized precoder ^%^f^^$'^^by normalizing each column of ^^f^^$'^^such that its norm is^√$'^; • For each paired SE i, compute the N^× ^L + 1^ equivalent downlink channel as ^%TU,^^f^ = ^^^f^^% ^f^^$'^^where ^^^f^is the N^× M downlink channel estimate for SE i; • For each layer k of the L^layers intended for SE i, compute the SINR estimate as:SINR^,W^f^ = pW ^Y ^TU,^,W ^k^ Z%^^#'[, ^,W ^f^ Y ^ TU,^,W^f^whereY^TU,^,W^f^is the N^× 1 vector representing the column of ^%TU,^^f^ corresponding to layer k of the L^layers intended for SE i, and Z%#'[, ^,W^f^ is the combined interlayer interference-plus-noise on layer k, i.e.: and p^is the power allocated to layer v; • Compute the ICC by mapping the SINR for to the corresponding ICC for the target block error rate, e.g., using Shannon capacity formula for an additive white Gaussian channel and error-free reception, the total ICC of the MU-MIMO transmission on frequency f is given by: log P1 + SINR^,W^f Q . ^The layer search algorithm of FIG. 10 may be utilized to find the best layer for a given SE i to be added to the current MU-MIMO group. The algorithm is based on testing each of the remaining channels of SE i that have not been added to the current MU-MIMO channel selection and evaluating the ICC for each added channel hypothesis. The ICC may be calculated using the above iterative algorithm for with reduced complexity. The algorithm may be listed as follows: • Given a layer / SE selection ^^f^^$^and SE i: • Initialize ICC=>?= 0, Best layer index = -1 (Block S186); •For each available port v for SE i that was not previously included in^^f^^$^ (Blocks S188, S190);o Apply iterative beam weight computation using ^^f^^$^and ^^,^^f^ to evaluate (Block S192); o (Block S194); ^Update ICC ^$^=>? = ICC`^^f^ , ^^,^^f^a and Best Layer index =v(Block S196);o End if • End for After processing all layers (Block S198), the index v of the best layer for SE i and the corresponding ICC`^^f^^$^, ^^,^^f^a = ICC=>?is obtained. Layer addition decision (Rank Selection) For each SE, the number of layers may be decided such that the ICC is maximized. In particular, the best layer found by the best layer search algorithm described above may be added if Alternatively, the layer may be added to satisfy a fixed transmission rank constraint for SE i even if the total ICC of the MU- MIMO transmission does not increase when the layer is added. The fixed rank constraint may be due to earlier downlink transmissions decisions decided for this SE 22 in the current subframe or due to implementation constraints. Simulation Results The performance of the proposed MU-MIMO grouping algorithm is simulated at a system-level. A 5G cellular system with bandwidth 36 MHz and carrier frequency 3.5 GHz operating in time division duplex mode where the Downlink / Uplink timeslot pattern is 3 / 1 is simulated. Consider a 9-cell scenario comprised of 3 sites with 3 cells / site where the inter- site distance is 500 m. The 5G spatial channel model (SCM) Urban Macro channel model is used in this simulation. The antenna configuration at the base station is the AAS AIR 6488 (4x8x2) configuration and each WD is equipped with 4 receive antennas. Channel estimates are obtained from uplink sounding reference symbols (SRS) that are transmitted from each WD antenna separately. The SRS period is given by 20 msec and antenna switching is employed by the WD 22 when SRS transmissions occurs. The traffic model for the downlink is selected as full buffer. The performance improvement of the disclosed algorithms is shown in the example graphs of FIGS. 11-13. For this purpose, several WDs 22 are randomly distributed in the simulation area. The system performance is evaluated in terms of the downlink cell throughput. The performance of the proposed MU-MIMO joint layer and SE selection is compared against that of the legacy algorithm. The legacy algorithm also selects the paired SEs 22 and the rank number of layers for each paired SE 22 either to maximize the number of paired SEs 22 or the rank per paired SE 22 while satisfying the constraints on the number of paired SEs, the maximum number of MU-MIMO layers and the maximum rank per paired SE. In the legacy algorithm, the layer selection for each SE 22 is done independently based on the same criterion used for SU-MIMO layer selection. FIG. 11 shows the downlink cell throughput of the proposed MU-MIMO grouping algorithm versus that obtained using the legacy algorithm. The disclosed algorithms provide significant improvement in cell throughput as it is able to jointly select the paired SEs 22 and the selected layers for each SE 22 such that the ICC is maximized. This results in 25% throughput gain over the legacy algorithms. Maximizing the number of paired SEs 22 yields higher throughput than maximizing the rank per SE. FIG. 12 shows the number of downlink MU-MIMO layers versus the number of WDs 22. The legacy and disclosed algorithms yield similar number of MU-MIMO layers. Hence, the throughput improvement in FIG. 11 results from the improvement in the layer selection where it is now performed jointly with the selection of the paired SEs. FIG. 13 shows the number of paired SEs 22 versus the number of WDs 22. As expected, the maximum SE version of the algorithm yields higher number of paired SEs 22 than that produced by the maximum per SE rank version of the algorithm. This results in improvement in downlink cell throughput as shown in FIG. 11. Some example embodiments may include one or more of the following: Algorithm 1: An iterative MU-MIMO group formation algorithm that jointly selects the paired SEs 22 and the spatial directions or layers for transmission to each paired SE. Algorithm 2: The algorithm in 1 in which the layer that yields the maximum improvement in spectral efficiency is added to the MU-MIMO transmission group. Algorithm 3: The algorithm in 1 and 2 where the spectral efficiency of the new MU-MIMO group hypothesis containing one additional layer is computed by reusing the MU-MIMO precoder structure already computed without such additional layer. Algorithm 4: The algorithm in 1-3 where the WDs 22 are processed in order of their scheduling priority and the maximum number of layers that improves the spectral efficiency is added for a certain SE before processing the SE with the next scheduling priority. Algorithm 5: The algorithm in 1-3 where the WDs 22 are repeatedly processed in order of their scheduling priority and in each repetition only one layer may be added for a certain SE if the addition of this layer improves the spectral efficiency before processing the SE with the next scheduling priority. As will be appreciated by one of skill in the art, the concepts described herein may be embodied as a method, data processing system, computer program product and / or computer storage media storing an executable computer program. Accordingly, the concepts described herein may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a “circuit” or “module.” Any process, step, action and / or functionality described herein may be performed by, and / or associated to, a corresponding module, which may be implemented in software and / or firmware and / or hardware. Furthermore, the disclosure may take the form of a computer program product on a tangible computer usable storage medium having computer program code embodied in the medium that may be executed by a computer. Any suitable tangible computer readable medium may be utilized including hard disks, CD-ROMs, electronic storage devices, optical storage devices, or magnetic storage devices. Some embodiments are described herein with reference to flowchart illustrations and / or block diagrams of methods, systems and computer program products. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer (to thereby create a special purpose computer), special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer program instructions may also be stored in a computer readable memory or storage medium that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instruction means which implement the function / act specified in the flowchart and / or block diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. It is to be understood that the functions / acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality / acts involved. Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows. Computer program code for carrying out operations of the concepts described herein may be written in an object oriented programming language such as Python, Java® or C++. However, the computer program code for carrying out operations of the disclosure may also be written in conventional procedural programming languages, such as the "C" programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, all embodiments may be combined in any way and / or combination, and the present specification, including the drawings, shall be construed to constitute a complete written description of all combinations and subcombinations of the embodiments described herein, and of the manner and process of making and using them, and shall support claims to any such combination or subcombination. Abbreviations that may be used in the preceding description include: BLER Block Error Rate ICC Information Carrying Capacity MIMO Multiple Input Multiple Output MMSE Minimum Mean Square Error SINR Signal to Interference-plus-Noise Ratio SE Scheduling Entity UE User Equipment WD Wireless Device It will be appreciated by persons skilled in the art that the embodiments described herein are not limited to what has been particularly shown and described herein above. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope of the following claims.

Claims

What is claimed is:

1. A network node (16) configured to communicate with a wireless device, WD (22), the network node (16) configured to: jointly and iteratively determine both a set of WDs (22) to be co-scheduled and a set of layers for each WD (22) in the set of WDs (22) to obtain a highest total information carrying capacity, ICC, subject to at least one constraint; and co-schedule the determined set of WDs (22) on the determined set of layers for each WD (22) in the set of WDs (22).

2. The network node (16) of Claim 1, wherein the at least one constraint includes at least one of a maximum number of layers, a maximum number of layers for each WD (22) to be co-scheduled and a maximum number of WDs (22) to be co- scheduled.

3. The network node (16) of any of Claims 1 and 2, wherein the set of WDs (22) and the set of layers for each WD (22) are iteratively determined subject to a priority of increasing a number of WDs (22) in the set of WDs (22).

4. The network node (16) of any of Claims 1 and 2, wherein the set of WDs (22) and the set of layers for each WD (22) are iteratively determined subject to a priority of increasing a number of layers for each WD (22) in the set of WDs (22).

5. The network node (16) of any of Claims 1-4, wherein jointly and iteratively determining both the set of WDs (22) and the set of layers for each WD (22) includes updating a multiple input-multiple output, MIMO, combined channel matrix.

6. The network node (16) of Claim 5, wherein jointly and iteratively determining both the set of WDs (22) and the set of layers for each WD (22) includes determining whether to update the MIMO combined channel matrix based at least in part on a rank constraint.

7. The network node (16) of Claim 6, wherein jointly and iteratively determining both the set of WDs (22) and the set of layers for each WD (22) includes determining whether a plurality of WDs (22) are to be included in the set of WDs (22) inan order of scheduling priorities of the WDs (22).

8. The network node (16) of any of Claims 1-7, wherein jointly and iteratively determining both the set of WDs (22) and the set of layers for each WD (22) includes performing a layer search algorithm configured to iteratively calculate a beamforming weight vector and a corresponding ICC for each additional layer is added to the set of layers for a WD (22).

9. The network node (16) of Claim 8, wherein the layer search algorithm is configured to determine a layer that, when added to the set of layers for a WD (22), maximizes the ICC subject to the at least one constraint.

10. The network node (16) of any of Claims 8 and 9, wherein the layer search algorithm is configured to compute an ICC by mapping a signal to interference plus noise, SINR, to a corresponding ICC for a target block error rate.

11. A method in a network node (16) configured to communicate with a wireless device, WD (22), the method comprising: jointly and iteratively determining (S134) both a set of WDs (22) to be co- scheduled and a set of layers for each WD (22) in the set of WDs (22) to obtain a highest total information carrying capacity, ICC, subject to at least one constraint; and co-scheduling (S136) the determined set of WDs (22) on the determined set of layers for each WD (22) in the set of WDs (22).

12. The method of Claim 11, wherein the at least one constraint includes at least one of a maximum number of layers, a maximum number of layers for each WD (22) to be co-scheduled and a maximum number of WDs (22) to be co-scheduled.

13. The method of any of Claims 11 and 12, wherein the set of WDs (22) and the set of layers for each WD (22) are iteratively determined subject to a priority of increasing a number of WDs (22) in the set of WDs (22).

14. The method of any of Claims 11 and 12, wherein the set of WDs (22) and the set of layers for each WD (22) are iteratively determined subject to a priority ofincreasing a number of layers for each WD (22) in the set of WDs (22).

15. The method of any of Claims 11-14, wherein jointly and iteratively determining both the set of WDs (22) and the set of layers for each WD (22) includes updating a multiple input-multiple output, MIMO, combined channel matrix.

16. The method of Claim 15, wherein jointly and iteratively determining both the set of WDs (22) and the set of layers for each WD (22) includes determining whether to update the MIMO combined channel matrix based at least in part on a rank constraint.

17. The method of Claim 16, wherein jointly and iteratively determining both the set of WDs (22) and the set of layers for each WD (22) includes determining whether a plurality of WDs (22) are to be included in the set of WDs (22) in an order of scheduling priorities of the WDs (22).

18. The method of any of Claims 11-17, wherein jointly and iteratively determining both the set of WDs (22) and the set of layers for each WD (22) includes performing a layer search algorithm configured to iteratively calculate a beamforming weight vector and a corresponding ICC for each additional layer is added to the set of layers for a WD (22).

19. The method of Claim 18, wherein the layer search algorithm is configured to determine a layer that, when added to the set of layers for a WD (22), maximizes the ICC subject to the at least one constraint.

20. The method of any of Claims 18 and 19, wherein the layer search algorithm is configured to compute an ICC by mapping a signal to interference plus noise, SINR, to a corresponding ICC for a target block error rate.

Citation Information

Patent Citations

  • User Pairing and Resource Allocation for Downlink Multiuser Multi-Input-Multi-Output In Long Term Evolution Advanced Systems

    US20130250868A1

  • Computationally efficient directional spectral estimation for multi-user MIMO pairing

    US20230239021A1