Device and method for downlink transmission in a MIMO system

EP4802629A1Pending Publication Date: 2026-09-09TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023800800
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-01
Publication Date
2026-09-09

AI Technical Summary

Technical Problem

Existing MIMO systems face challenges in improving downlink throughput performance due to sensitivity to inter-cell interference (ICI) and scalability issues with SVD-based precoding methods.

Method used

A method and network node that determine whether to apply SVD-based precoding for downlink transmission in a MIMO system by analyzing uplink channel characteristics and inter-cell interference, selecting appropriate main beams, and deciding on the application of SVD-based precoding based on these factors.

Benefits of technology

The proposed solution enhances downlink throughput performance while reducing computational complexity by selectively applying SVD-based precoding, thus addressing the challenges of ICI and scalability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2023080452_08052025_PF_FP_ABST
    Figure EP2023080452_08052025_PF_FP_ABST
Patent Text Reader

Abstract

Method and device for enabling downlink transmission in a multiple-input and multiple-output communications system. The method comprises obtaining (301) information on uplink channel characteristics based on reference signals, RSs, transmitted by a first user equipment, UE, wherein the first UE is served by a network node of a first cell, selecting (303) one or more first main beams based on the obtained information on the uplink channel characteristics, obtaining (305) information on ICI based on RSs transmitted by one or more second UEs of one or more neighboring cells of the first cell, selecting (307) one or more second main beams based on the obtained information on ICI, determining (309) if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] DEVICE AND METHOD FOR DOWNLINK TRANSMISSION IN A MIMO SYSTEM

[0002] TECHNICAL FIELD

[0003] The invention relates to a method for enabling downlink transmission in a multiple-input and multiple-output (MIMO) system, a network node for enabling downlink transmission in a MIMO system, and a corresponding computer program, computer program product, and data carrier signal.

[0004] BACKGROUND

[0005] Multiple-input multiple-output (MIMO) is a radio antenna technology which deploys multiple antennas at both the transmitter and receiver to increase performance, such as quality, throughput, and capacity of the radio link. In a MIMO system, both downlink and uplink transmission may experience inter-layer interference, inter-user interference, and inter-cell interference (ICI).

[0006] Linear precoding techniques, such as minimum mean square error (MMSE), zero-forcing (ZF), and singular value-based decomposition (SVD) are used to estimate signal out of interference. When SVD-based precoding is applied, the MIMO channel is decomposed into a number of parallel weighted independent single-input single-output (SISO) channels.

[0007] In L.U. Choi and R.D. Murch, "A transmit preprocessing technique for multiuser MIMO systems using a decomposition approach", IEEE Transactions Wireless Communications, vol. 3, pp. 20-24, 2004, SVD is applied to a multiuser MIMO downlink channel by decomposing the multiuser MIMO downlink channel into multiple parallel independent single-user MIMO downlink channels.

[0008] In Liu Wei, Yang Laike and L. Hanzo, "SVD-Assisted Multiuser Transmitter and Multiuser Detector Design for MIMO Systems", IEEE Transactions on Vehicular Technology, pp. 1016- 1021, 2008, the channel state information (CSI) of all users at the base station, but only of the mobile station are used to decompose the multiuser MIMO channels into parallel SISO channels, where each SISO channel corresponds to the singular values of a particular mobile station's channel matrix. SUMMARY

[0009] An object of the invention is to improve the throughput performance of the downlink transmission in a multiple-input and multiple-output (MIMO) communications system. This and other objects of the invention are achieved by means of different aspects of the invention, as defined by the independent claims. Embodiments of the invention are characterized by the dependent claims.

[0010] According to a first aspect of the invention, a method for enabling downlink transmission in a multiple-input and multiple-output (MIMO) communications system is provided. The method is performed by a network node. The network node serves a first user equipment (UE) in a first cell. The method comprises obtaining information on uplink channel characteristics based on reference signals (RSs) transmitted by the first UE. The method comprises selecting one or more first main beams based on the obtained information on the uplink channel characteristics. The method comprises obtaining information on inter-cell interference (ICI) based on RSs transmitted by one or more second UEs of one or more neighboring cells of the first cell. The method comprises selecting one or more second main beams based on the obtained information on ICI. The method comprises determining if singular value-based decomposition (SVD)- based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams.

[0011] According to a second aspect of the invention, a network node for enabling downlink transmission of a MIMO communications system is provided. The network node serves a first UE in a first cell. The network node comprises a processor and a memory. The memory has stored thereon instructions executable by the processor. The instructions, when executed by the processor, cause the network node to obtain information on uplink channel characteristics based on RSs transmitted by the first UE. The instructions, when executed by the processor, cause the network node to select one or more first main beams based on the obtained information on the uplink channel characteristics. The instructions, when executed by the processor, cause the network node to obtain information on ICI based on RSs transmitted by one or more second UEs of one or more neighboring cells of the first cell. The instructions, when executed by the processor, cause the network node to select one or more second main beams based on the obtained information on ICI. The instructions, when executed by the processor, cause the network node to determine if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams.

[0012] According to a third aspect of the invention, there is provided a computer program. The computer program comprises instructions which, when run in a processing unit on a network node, cause the network node to perform the method according to the first aspect.

[0013] According to a fourth aspect of the invention, there is provided a computer program product. Th computer program product comprises a computer readable storage medium on which the computer program according to the third aspect is stored.

[0014] According to a fifth aspect of the invention, there is provided a data carrier signal. The data carrier signal carries the computer program according to the third aspect.

[0015] Certain embodiments may provide one or more of the following technical advantages:

[0016] - higher downlink throughput;

[0017] - reduction of computing circles and storage to implement the method, since SVD-based precoding is not applied in all situations.

[0018] BRIEF DESCRIPTION OF THE DRAWINGS

[0019] For better understanding of the present disclosure, and to show more readily how the invention may be carried into effect, reference will now be made, by way of example, to the following drawings, in which:

[0020] Figure 1 shows simulation results of the cumulative downlink transmission throughput when no precoding method is used and when SVD-based precoding method is used in low and high intercell interference (ICI) scenarios;

[0021] Figure 2 shows a simplified example of an ICI scenario;

[0022] Figure 3 shows a flow chart illustrating a method for enabling downlink transmission in a multiple-input and multiple-output (MIMO) communications system; Figure 4 shows an example of a communication system in accordance with some embodiments;

[0023] Figure 5 shows a user equipment (UE) in accordance with some embodiments;

[0024] Figure 6 shows a network node in accordance with some embodiments;

[0025] Figure 7 is a block diagram of a host in accordance with some embodiments;

[0026] Figure 8 is a block diagram illustrating a virtualization environment in which functions implemented by some embodiments may be virtualized; and

[0027] Figure 9 shows a communication diagram of a host communicating via a network node with a UE over a partially wireless connection in accordance with some embodiments.

[0028] DETAILED DESCRIPTION

[0029] Embodiments will be illustrated herein with reference to the accompanying drawings. These embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. "First", "second", "third", etc. are used as a manner of distinguishing between different instances of a term, they are not intended to confer a cumulative or chronological meaning to the terms.

[0030] Singular value-based decomposition (SVD)-based precoding methods may improve downlink throughput performance for single-user and / or multi-user multiple input multiple output (MIMO) communications systems. However, the throughput obtained by using SVD-based precoding methods is sensitive to inter-cell interference (ICI). As frequency reuse increases, so does the interference caused by other user equipments (UE)s using same channels. Figure 1 shows the impact of ICI on downlink transmission throughput when an SVD-based precoding method is used and when it is not used. Simulation results of Figure 1 show that the downlink transmission throughput is higher when an SVD-based precoding method is used and the ICI is low. Specifically, Figure 1 shows how the cumulative downlink transmission throughput (indicated as “dl throughput sum” in Figure 1) varies with the signal-to-noise ratio (SNR) (indicated as “usersdl snr” in Figure 1). The simulation results have been obtained using the parameters in table 1 in four different scenarios:

[0031] - no precoding method is used and ICI is low, i.e., ICI is -20dB (full line with triangles);

[0032] - no precoding method is used and ICI is high, i.e., ICI is 20 dB (full line with squares);

[0033] - SVD-based precoding method is used and ICI is low, i.e., ICI is -20dB (dashed line with triangles);

[0034] - SVD-based precoding method is used and ICI is high, i.e., ICI is 20dB (dashed line with squares).

[0035] Table 1 Simulation parameters and corresponding value

[0036] A further problem of SVD-based precoding methods is that the complexity of SVD-based precoding methods increases with the number of UEs, therefore scalability issues may incur in high-capacity scenarios where there could be for examples hundreds of UEs per cell.

[0037] The invention disclosed herein makes it possible to improve downlink throughput performance for a MIMO communications system by obtaining information on uplink channel characteristics based on reference signals (RS)s transmitted by a first UE, wherein the first UE is served by a network node of a first cell. The method further comprises selecting one or more first main beams based on the obtained information on the uplink channel characteristics. The method further comprises obtaining information on ICI based on RSs transmitted by one or more second UEs of one or more neighboring cells of the first cell. The method further comprises selecting one or more second main beams based on the obtained information on ICI. The method further comprises determining if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams. Figure 2 shows a simplified example of an ICI scenario. Figure 2 shows a communications network comprising: a first network node, e.g., a first base station BS1 201 in a first cell (cell 1) 211 serving a first UE (UE1) 231, and a second network node, e.g., a second base station BS2 202 in a second cell (cell2) 212 serving a second UE (UE2) 232. Cell2 is a neighboring cell of celll, UE2 is at the edge of cell2, and UE2 causes ICI to UE1. BS1 201 receives 213,214 RSs from UE1 and UE2.

[0038] The invention disclosed herein provides BS1 with a method to decide if an SVD-based precoding method should be applied to the downlink transmission to UE1.

[0039] Figure 3 shows a method 300 for enabling downlink transmission in a MIMO communications system. The method is performed by a network node 201, e.g., a base station. The network node is serving a first UE 231 in a first cell 211. The network node may serve one or more first UEs.

[0040] The method comprises obtaining 301 information on uplink channel characteristics based on RSs transmitted by the first UE to the network node. The RSs may be transmitted by the one or more first UEs. The RSs may be sounding reference signals (SRS)s or a demodulation reference signals (DMRS)s. Obtaining 301 information on uplink channel characteristics comprises transforming the received RSs on each antenna port from antenna domain to beam domain. The transformation of the received RSs on each antenna port from antenna domain may be done by applying a Sliding Discrete Fourier Transform (SDFT). The information on the uplink channel characteristics comprises the uplink channel properties of a communications link between the network node and the one or more first UEs. This information characterizes how a signal propagates from a transmitter, i.e., the one or more first UE, to a receiver, i.e., the network node, and represents the combined effect of, for example, scattering, fading, and power decay with distance. This information may comprise path loss, amplitude, and phase of the signal information. The information may be obtained by uplink channel estimation based on channel sounding technique using the received RSs. The channel estimation may be performed by the network node. The estimated channel for the first UE for an antenna port p in a subcarrier k and beam b may be represented by a matrix Hp(k, b). The method comprises selecting 303 one or more first main beams. The one or more first main beams are selected based on the obtained information on the uplink channel characteristics. Selecting the one or more first main beams may comprise:

[0041] - obtaining information on direction and transmitting power of one or more beams. The direction and transmitting power may be determined based on the estimated channel. The direction and transmitting power may be measured by the network node. For example, the transmitting power PH(b) for beam b may be obtained with the following formula

[0042] - selecting, as first main beams, one or more of the one or more beams whose transmitting power fulfills a first condition. The first condition may be based on a first threshold value. For example, the one or more beams selected as first main beans are the one or more beams that have a transmitting power or normalized transmitting power higher than a first threshold value. The first threshold may be a value comprised in the range [0,1], preferably in the range [0.7, 0.9],

[0043] The method comprises obtaining information on ICI based on RSs transmitted to the network node by one or more second UEs of one or more neighboring cells of the first cell. The RSs transmitted by the one or more second UEs may be SRSs or DMRSs. The RSs transmitted by the one or more second UEs may be the same type of RSs transmitted by the first UE. The information on ICI comprises interference level. The information may be obtained by estimation of the residual signal. The residual signal is the difference between observed value (i.e., signals received by the network node, e.g., the RSs from UE1 and the RSs from UE2) and corresponding fitted value (i.e., RSs received from UE1.) The residual signal in a subcarrier k and beam b may be represented with a matrix E (k, b) and obtained with the following formula

[0044] E(k, b) = S(k, b) - Hp(k, b)Xp(k, b) wherein S(k, b) represents the signals received by the network node, e.g., the RSs from UE1 and the RSs from UE2 and Xp(k, b) represents the RSs signal from UE1 on port p.

[0045] The method further comprises selecting one or more second main beams based on the obtained information on ICI. Selecting the one or more second main beams comprises

[0046] - obtaining information on direction and transmitting power of one or more beams. The direction and transmitting power may be based on the information on ICI. The direction and transmitting power may be measured by the network node. For example, the transmitting power PE(b) for beam b may be obtained with the following formula p£(b) = y i (k, b) i2

[0047] - selecting, as second main beams, one or more second beams whose transmitting power fulfills a second condition. The second condition may be based on a second threshold value. For example, the one or more second beams selected as second main beams may be the one or more beams having a transmitting power or normalized transmitting power higher than a second threshold value. The second threshold may be a value comprised in the range [0,1], preferably in the range [0.7, 0.9], The first and the second condition may be the same or different, e.g., the first and the second threshold may have a same or different value.

[0048] The method further comprises determining if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams.

[0049] The SVD-based precoding may be determined to be applied if the one or more first main beams do not overlap the one or more second main beams. The non overlapping indicates that there is no interference for the serving UE, e.g., UE1, therefore SVD-based precoding may be applied. Instead, if the one or more first main beams and the one or more second main beams overlap, it means that the ICI is high and therefore, SVD-based precoding should not be applied.

[0050] Alternatively, the SVD-based precoding may be determined to be applied if the distance between the one or more first main beams and the one or more second main beams fulfills a fourth condition. The fourth condition may be based on one or more fourth threshold values. The threshold values may relate to the distance between the first main beams and the second main beams. The distance may comprise horizontal and / or vertical distance, for example, on a radiation pattern. The fourth threshold values may be comprised in the range [0,1], For example, if i and j represent horizontal and vertical coordinates of the second main beams on a radiation pattern and m and n represent horizontal and vertical coordinates of the first main beams on the radiation pattern, then the fourth threshold values may be vl and h2, and the fourth condition may be represented by the following mathematical formulation: wherein abs(-) represents the absolute value operator, vl and h2 may have a same or different value. If the fourth condition is fulfilled, it means that there is no interference.

[0051] If the SVD-based precoding is determined to be applied, the following formula may be used to apply SVD on the estimated channel H

[0052] H = USVHwherein the estimated channel H has dimension NxM, U is an NxN unitary matrix, S is an NxN diagonal matrix, V is an MxN semi-unitary matrix, and (■)His hermitian transpose operator.

[0053] Assuming beamforming weight calculation by MMSE, then the transmit beam weight is or W = Q~1HHHQ~1HH+ ly1wherein cr2is estimated noise, H is channel matrix from V matrix, , H it is a stack of V vectors with the dimension of selected rank (wherein the rank is selected by the network node) in case of SU-MIMO or it is a stack of V vectors from pairing UEs with the dimension of (pairing UE number * selected rank) in case of MU-MIMO, Q is interference covariance matrix.

[0054] If the SVD-based precoding is determined to be applied, the beamforming weight calculation should be calculated without SVD decomposition with for example one of the two following formulas

[0055] It will be appreciated that the method 200 may comprise additional, alternative, or modified, steps in accordance with what is described throughout this disclosure.

[0056] Figure 4 shows an example of a communication system 400 in accordance with some embodiments. In the example, the communication system 400 includes a telecommunication network 402 that includes an access network 404, such as a radio access network (RAN), and a core network 406, which includes one or more core network nodes 408. The access network 404 includes one or more access network nodes, such as network nodes 410a, 201 and 410b (one or more of which may be generally referred to as network nodes 410), or any other similar 3rd Generation Partnership Project (3GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 402 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network 402 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network 402, including one or more network nodes 410 and / or core network nodes 408.

[0057] Examples of an ORAN network node include an open radio unit (O-RU), an open distributed unit (O-DU), an open central unit (O-CU), including an O-CU control plane (O-CU-CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an Al, Fl, Wl, El, E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an O-2 interface defined by the O-RAN Alliance or comparable technologies. The network nodes 410 facilitate direct or indirect connection of UE, such as the UE 412a, 412b, 412c, and 412d (one or more of which may be generally referred to as UEs 121, 412) to the core network 406 over one or more wireless connections.

[0058] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 400 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 400 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.

[0059] The UEs 412 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 410 and other communication devices. Similarly, the network nodes 410 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 412 and / or with other network nodes or equipment in the telecommunication network 402 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 402.

[0060] In the depicted example, the core network 406 connects the network nodes 410 to one or more hosts, such as host 416. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 406 includes one or more core network nodes (e.g., core network node 408) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 408. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).

[0061] The host 416 may be under the ownership or control of a service provider other than an operator or provider of the access network 404 and / or the telecommunication network 402, and may be operated by the service provider or on behalf of the service provider. The host 416 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0062] As a whole, the communication system 400 of Figure 4 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.

[0063] In some examples, the telecommunication network 402 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 402 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 402. For example, the telecommunications network 402 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC)ZMassive loT services to yet further UEs.

[0064] In some examples, the UEs 412 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 404 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 404. Additionally, a UE may be configured for operating in single- or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e., being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC). In the example, the hub 414 communicates with the access network 404 to facilitate indirect communication between one or more UEs (e.g., UE 412c and / or 412d) and network nodes (e.g., network node 410b). In some examples, the hub 414 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 414 may be a broadband router enabling access to the core network 406 for the UEs. As another example, the hub 414 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 410, or by executable code, script, process, or other instructions in the hub 414. As another example, the hub 414 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 414 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 414 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 414 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 414 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.

[0065] The hub 414 may have a constant / persistent or intermittent connection to the network node 410b. The hub 414 may also allow for a different communication scheme and / or schedule between the hub 414 and UEs (e.g., UE 412c and / or 412d), and between the hub 414 and the core network 406. In other examples, the hub 414 is connected to the core network 406 and / or one or more UEs via a wired connection. Moreover, the hub 414 may be configured to connect to an M2M service provider over the access network 404 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 410 while still connected via the hub 414 via a wired or wireless connection. In some embodiments, the hub 414 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 410b. In other embodiments, the hub 414 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 410b, but which is additionally capable of operating as a communication start and / or end point for certain data channels. Figure 5 shows a UE 231, 232, 500 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3 GPP), including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.

[0066] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle-to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).

[0067] The UE 500 includes processing circuitry 502 that is operatively coupled via a bus 504 to an input / output interface 506, a power source 508, a memory 510, a communication interface 512, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 5. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.

[0068] The processing circuitry 502 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 510. The processing circuitry 502 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 502 may include multiple central processing units (CPUs).

[0069] In the example, the input / output interface 506 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 500. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.

[0070] In some embodiments, the power source 508 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 508 may further include power circuitry for delivering power from the power source 508 itself, and / or an external power source, to the various parts of the UE 500 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 508. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 508 to make the power suitable for the respective components of the UE 500 to which power is supplied.

[0071] The memory 510 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 510 includes one or more application programs 514, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 516. The memory 510 may store, for use by the UE 500, any of a variety of various operating systems or combinations of operating systems.

[0072] The memory 510 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as “SIM card”. The memory 510 may allow the UE 500 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 510, which may be or comprise a device-readable storage medium.

[0073] The processing circuitry 502 may be configured to communicate with an access network or other network using the communication interface 512. The communication interface 512 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 522. The communication interface 512 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 518 and / or a receiver 520 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 518 and receiver 520 may be coupled to one or more antennas (e.g., antenna 522) and may share circuit components, software, or firmware, or alternatively be implemented separately. In the illustrated embodiment, communication functions of the communication interface 512 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / intemet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.

[0074] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 512, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).

[0075] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.

[0076] A UE, when in the form of an Internet of Things (loT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and / or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE 500 shown in Figure 5.

[0077] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.

[0078] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g., by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.

[0079] Figure 6 shows a network node 201, 600 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NRNodeBs (gNBs)), 0-RAN nodes or components of an O-RAN node (e.g., O-RU, O-DU, O-CU).

[0080] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units, distributed units (e.g., in an O-RAN access node) and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).

[0081] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cell / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs).

[0082] The network node 600 includes a processing circuitry 602, a memory 604, a communication interface 606, and a power source 608. The network node 600 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 600 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node 600 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 604 for different RATs) and some components may be reused (e.g., a same antenna 610 may be shared by different RATs). The network node 600 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 600, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node 600.

[0083] The processing circuitry 602 may comprise a combination of one or more of a processor, microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node 600 components, such as the memory 604, to provide network node 600 functionality.

[0084] In some embodiments, the processing circuitry 602 includes a system on a chip (SOC). In some embodiments, the processing circuitry 602 includes one or more of radio frequency (RF) transceiver circuitry 612 and baseband processing circuitry 614. In some embodiments, the radio frequency (RF) transceiver circuitry 612 and the baseband processing circuitry 614 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part, or all of RF transceiver circuitry 612 and baseband processing circuitry 614 may be on the same chip or set of chips, boards, or units.

[0085] The memory 604 may comprise any form of volatile or non-volatile computer-readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry 602. The memory 604 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry 602 and utilized by the network node 600. The memory 604 may be used to store any calculations made by the processing circuitry 602 and / or any data received via the communication interface 606. In some embodiments, the processing circuitry 602 and memory 604 is integrated. The memory 604 may comprise the computer program comprising instructions. When executed by the processor(s), the instructions cause the network node 201, 410, 600 to become operative in accordance with embodiments of the invention described herein, in particular with reference to Figure 3. More specifically, the network node 201, 410, 600 becomes operative to obtain information on uplink channel characteristics based on RSs transmitted by a first UE. The first UE in a first cell is served by the network node. The network node 201, 410, 600 is further operative to select one or more first main beams based on the obtained information on the uplink channel characteristics. The network node 201, 410, 600 is further operative to obtain information on ICI based on RS transmitted by one or more second UEs of one or more neighboring cells of the first cell. The network node 201 , 410, 600 is further operative to select one or more second main beams based on the obtained information on ICI. The network node 201, 410, 600 is further operative to determine if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams. The RSs transmitted by the first UE may be SRSs or DMRSs.

[0086] The network node 201, 410, 600 may be further operative to determine one or more first main beams based on the obtained information on the uplink channel characteristics by obtaining information on direction and transmitting power of one or more beams. The transmitting power information may be based on the information on uplink channel characteristics. The network node 201, 410, 600 may be further operative to determine one or more first main beams based on the obtained information on the uplink channel characteristics by selecting one or more beams whose transmitting power fulfills a first condition.

[0087] The network node 201, 410, 600 may be further operative to determine one or more second main beams based on the obtained information on ICI by obtaining information on direction and transmitting power of one or more beams. The transmitting power information may be based on the information on ICI. The network node 201, 410, 600 may be further operative to determine one or more second main beams based on the obtained information on ICI by selecting one or more beams whose transmitting power fulfills a second condition.

[0088] The network node 201, 410, 600 may be further operative to determine if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams, by determining to apply SVD precoding if the one or more first main beams do not overlap the one or more second main beams.

[0089] The network node 201, 410, 600 may be further operative to determine if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams, by determining to apply SVD precoding if the distance between the one or more first main beams and the one or more second main beams fulfills a fourth condition.

[0090] The communication interface 606 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface 606 comprises port(s) / terminal(s) 616 to send and receive data, for example to and from a network over a wired connection. The communication interface 606 also includes radio front-end circuitry 618 that may be coupled to, or in certain embodiments a part of, the antenna 610. Radio front-end circuitry 618 comprises filters 620 and amplifiers 622. The radio front-end circuitry 618 may be connected to an antenna 610 and processing circuitry 602. The radio front-end circuitry may be configured to condition signals communicated between antenna 610 and processing circuitry 602. The radio front-end circuitry 618 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 618 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 620 and / or amplifiers 622. The radio signal may then be transmitted via the antenna 610. Similarly, when receiving data, the antenna 610 may collect radio signals which are then converted into digital data by the radio front-end circuitry 618. The digital data may be passed to the processing circuitry 602. In other embodiments, the communication interface may comprise different components and / or different combinations of components.

[0091] In certain alternative embodiments, the network node 600 does not include separate radio frontend circuitry 618, instead, the processing circuitry 602 includes radio front-end circuitry and is connected to the antenna 610. Similarly, in some embodiments, all, or some of the RF transceiver circuitry 612 is part of the communication interface 606. In still other embodiments, the communication interface 606 includes one or more ports or terminals 616, the radio frontend circuitry 618, and the RF transceiver circuitry 612, as part of a radio unit (not shown), and the communication interface 606 communicates with the baseband processing circuitry 614, which is part of a digital unit (not shown).

[0092] The antenna 610 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna 610 may be coupled to the radio front-end circuitry 618 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna 610 is separate from the network node 600 and connectable to the network node 600 through an interface or port.

[0093] The antenna 610, communication interface 606, and / or the processing circuitry 602 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna 610, the communication interface 606, and / or the processing circuitry 602 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.

[0094] The power source 608 provides power to the various components of network node 600 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 608 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 600 with power for performing the functionality described herein. For example, the network node 600 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 608. As a further example, the power source 608 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.

[0095] Embodiments of the network node 600 may include additional components beyond those shown in Figure 6 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node 600 may include user interface equipment to allow input of information into the network node 600 and to allow output of information from the network node 600. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 600.

[0096] Figure 7 is a block diagram of a host 700, which may be an embodiment of the host 416 of Figure 4, in accordance with various aspects described herein. As used herein, the host 700 may be or comprise various combinations hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 700 may provide one or more services to one or more UEs.

[0097] The host 700 includes processing circuitry 702 that is operatively coupled via a bus 704 to an input / output interface 706, a network interface 708, a power source 710, and a memory 712. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures 5 and 6, such that the descriptions thereof are generally applicable to the corresponding components of host 700.

[0098] The memory 712 may include one or more computer programs including one or more host application programs 714 and data 716, which may include user data, e.g., data generated by a UE for the host 700 or data generated by the host 700 for a UE. Embodiments of the host 700 may utilize only a subset or all of the components shown. The host application programs 714 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs 714 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host 700 may select and / or indicate a different host for over-the-top services for a UE. The host application programs 714 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc. Figure 8 is a block diagram illustrating a virtualization environment 800 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 800 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment 800 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an O-2 interface.

[0099] Applications 802 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment 800 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.

[0100] Hardware 804 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 806 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 808a and 808b (one or more of which may be generally referred to as VMs 808), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 806 may present a virtual operating platform that appears like networking hardware to the VMs 808.

[0101] The VMs 808 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 806. Different embodiments of the instance of a virtual appliance 802 may be implemented on one or more of VMs 808, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.

[0102] In the context of NFV, a VM 808 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 808, and that part of hardware 804 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 808 on top of the hardware 804 and corresponds to the application 802.

[0103] Hardware 804 may be implemented in a standalone network node with generic or specific components. Hardware 804 may implement some functions via virtualization. Alternatively, hardware 804 may be part of a larger cluster of hardware (e.g., such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 810, which, among others, oversees lifecycle management of applications 802. In some embodiments, hardware 804 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system 812 which may alternatively be used for communication between hardware nodes and radio units.

[0104] Figure 9 shows a communication diagram of a host 902 communicating via a network node 904 with a UE 906 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 231 of Figure 2and / or UE 412a of Figure 4 and / or UE 500 of Figure 5), network node (such as network node 201 of Figure 2 and / or network node 410a of Figure 4 and / or network node 600 of Figure 6), and host (such as host 416 of Figure 4 and / or host 700 of Figure 7) discussed in the preceding paragraphs will now be described with reference to Figure 9.

[0105] Like host 700, embodiments of host 902 include hardware, such as a communication interface, processing circuitry, and memory. The host 902 also includes software, which is stored in or accessible by the host 902 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 906 connecting via an over-the-top (OTT) connection 950 extending between the UE 906 and host 902. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 950.

[0106] The network node 904 includes hardware enabling it to communicate with the host 902 and UE 906. The connection 960 may be direct or pass through a core network (like core network 406 of Figure 4) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.

[0107] The UE 906 includes hardware and software, which is stored in or accessible by UE 906 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE 906 with the support of the host 902. In the host 902, an executing host application may communicate with the executing client application via the OTT connection 950 terminating at the UE 906 and host 902. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection 950 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection 950.

[0108] The OTT connection 950 may extend via a connection 960 between the host 902 and the network node 904 and via a wireless connection 970 between the network node 904 and the UE 906 to provide the connection between the host 902 and the UE 906. The connection 960 and wireless connection 970, over which the OTT connection 950 may be provided, have been drawn abstractly to illustrate the communication between the host 902 and the UE 906 via the network node 904, without explicit reference to any intermediary devices and the precise routing of messages via these devices.

[0109] As an example of transmitting data via the OTT connection 950, in step 908, the host 902 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 906. In other embodiments, the user data is associated with a UE 906 that shares data with the host 902 without explicit human interaction. In step 910, the host 902 initiates a transmission carrying the user data towards the UE 906. The host 902 may initiate the transmission responsive to a request transmitted by the UE 906. The request may be caused by human interaction with the UE 906 or by operation of the client application executing on the UE 906. The transmission may pass via the network node 904, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 912, the network node 904 transmits to the UE 906 the user data that was carried in the transmission that the host 902 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 914, the UE 906 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 906 associated with the host application executed by the host 902.

[0110] In some examples, the UE 906 executes a client application which provides user data to the host 902. The user data may be provided in reaction or response to the data received from the host 902. Accordingly, in step 916, the UE 906 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE 906. Regardless of the specific manner in which the user data was provided, the UE 906 initiates, in step 918, transmission of the user data towards the host 902 via the network node 904. In step 920, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 904 receives user data from the UE 906 and initiates transmission of the received user data towards the host 902. In step 922, the host 902 receives the user data carried in the transmission initiated by the UE 906.

[0111] One or more of the various embodiments improve the performance of OTT services provided to the UE 906 using the OTT connection 950, in which the wireless connection 970 forms the last segment. More precisely, the teachings of these embodiments may improve the latency and thereby provide benefits such as reduced user waiting time.

[0112] In an example scenario, factory status information may be collected and analyzed by the host 902. As another example, the host 902 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 902 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 902 may store surveillance video uploaded by a UE. As another example, the host 902 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host 902 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.

[0113] In some examples, 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 950 between the host 902 and UE 906, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host 902 and / or UE 906. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 950 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 may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 950 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node 904. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency, and the like, by the host 902. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 950 while monitoring propagation times, errors, etc. Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions, and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.

[0114] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionalities may be provided by the processing circuitry without executing instructions stored on a separate or discrete device- readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.

Claims

CLAIMS1. A method (300) for enabling downlink transmission in a multiple-input and multiple-output, MIMO, communications system, the method performed by a network node (600, 201) serving a first user equipment, UE (231), in a first cell (211), the method comprising:- obtaining (301) information on uplink channel characteristics based on reference signals, RSs, transmitted by the first UE (231);- selecting (303) one or more first main beams based on the obtained information on the uplink channel characteristics;- obtaining (305) information on inter-cell interference, ICI, based on RSs transmitted by one or more second UEs (232) of one or more neighboring cells (212) of the first cell;- selecting (307) one or more second main beams based on the obtained information on ICI;- determining (309) if singular value-based decomposition, SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams.

2. The method according to claim 1, wherein selecting one or more first main beams based on the obtained information on the uplink channel characteristics comprises- obtaining (311) information on direction and transmitting power of one or more beams, wherein the transmitting power information is based on the information on uplink channel characteristics; and- selecting (313) one or more beams whose transmitting power fulfills a first condition.

3. The method according to claims 1 or 2, wherein selecting one or more second main beams based on the obtained information on ICI comprises- obtaining (315) information on direction and transmitting power of one or more beams, wherein the transmitting power information is based on the information on ICI; and- selecting (317) one or more beams whose transmitting power fulfills a second condition.

4. The method according to any of claims 1 to 3, wherein determining if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams, comprises- determining (319) to apply SVD precoding if the one or more first main beams do not overlap the one or more second main beams.

5. The method according to any of claims 1 to 3, wherein determining if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams, comprises- determining (321) to apply SVD precoding if the distance between the one or more first main beams and the one or more second main beams fulfills a fourth condition.

6. The method according to any of claims 1 to 5, wherein the RSs transmitted by the first UE are sounding reference signals, SRSs, or demodulation reference signals, DMRSs.

7. A network node for enabling downlink transmission of a multiple-input and multiple-output, MIMO, communications system, the network node serving a first user equipment, UE, in a first cell, the network node comprising a processor and a memory, the memory having stored thereon instructions executable by the processor, wherein the instructions, when executed by the processor, cause the network node to:- obtain information on uplink channel characteristics based on reference signals, RSs, transmitted by the first UE;- select one or more first main beams based on the obtained information on the uplink channel characteristics;- obtain information on inter-cell interference, ICI, based on RSs transmitted by one or more second UEs of one or more neighboring cells of the first cell;- select one or more second main beams based on the obtained information on ICI;- determine if singular value-based decomposition, SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams.

8. The network node according to claim 7, wherein the instructions, when executed by the processor, cause the network node to determine one or more first main beams based on the obtained information on the uplink channel characteristics by- obtaining information on direction and transmitting power of one or more beams, wherein the transmitting power information is based on the information on uplink channel characteristics; and- selecting one or more beams whose transmitting power fulfills a first condition.

9. The network node according to claims 7 or 8, wherein the instructions, when executed by the processor, cause the network node to determine one or more second main beams based on the obtained information on ICI by- obtaining information on direction and transmitting power of one or more beams, wherein the transmitting power information is based on the information on ICI; and- selecting one or more beams whose transmitting power fulfills a second condition.

10. The network node according to any of claims 7 to 9, wherein the instructions, when executed by the processor, cause the network node to determine if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams, by- determining to apply SVD precoding if the one or more first main beams do not overlap the one or more second main beams.

11. The network node according to any of claims 7 to 9, wherein the instructions, when executed by the processor, cause the network node to determine if SVD-based precoding has to be applied to the downlink transmission to the first UE based on the determined one or more first main beams and one or more second main beams, by- determining to apply SVD precoding if the distance between the one or more first main beams and the one or more second main beams fulfills a fourth condition.

12. The network node according to any of claims 7 to 11, wherein the RSs transmitted by the first UE are sounding reference signals, SRSs, or demodulation reference signals, DMRSs.

13. A computer program comprising instructions which, when run in a processing unit (502) on a network node (600, 201), cause the network node (600, 201) to perform the method (300) according to any one of claims 1 to 6.

14. A computer program product comprising a computer readable storage medium (604) on which the computer program according to claim 13 is stored.

15. A data carrier signal carrying the computer program according to claim 13.