Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
UPLINK COVARIANCE ESTIMATION FOR SU-MIMO PRECODING IN WIRELESS CELLULAR SYSTEMS
Document Type and Number:
WIPO Patent Application WO/2021/084343
Kind Code:
A1
Abstract:
This disclosure relates to uplink covariance estimation for single user multiple input multiple output (SU-MIMO) precoding in wireless cellular systems. In one embodiment, a method is implemented in a network node configured to communicate with a wireless device. An uplink transmit covariance matrix is estimated from available samples of an uplink channel matrix in which the estimation is based at least in part on uplink demodulation reference signals (DMRS) inserted in data symbols transmitted by the wireless device. The estimation is further based at least in part on a selected uplink precoder matrix.

Inventors:
EL-KEYI AMR (CA)
BONTU CHANDRA (CA)
Application Number:
PCT/IB2020/059177
Publication Date:
May 06, 2021
Filing Date:
September 30, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H04L25/02; H04B7/0456; H04B7/06; H04L25/03
Domestic Patent References:
WO2019030281A12019-02-14
WO2020218955A12020-10-29
Foreign References:
EP3033840A12016-06-22
Other References:
CATT: "Noncodebook based downlink transmission in LTE-A", 3GPP DRAFT; R1-092793, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, no. Los Angeles, USA; 20090624, 24 June 2009 (2009-06-24), XP050351247
Attorney, Agent or Firm:
WEISBERG, Alan M. (US)
Download PDF:
Claims:
What is claimed is: 1. A method implemented in a network node (16) configured to communicate with a wireless device, the method comprising: estimating (S134) an uplink transmit covariance matrix from available samples of an uplink channel matrix, the estimating being based at least in part on uplink demodulation reference signals, DMRS, inserted in data symbols transmitted by the wireless device, the estimating being further based at least in part on a selected uplink precoder matrix. 2. The method of Claim 1, wherein the estimate is obtained based at least in part by application of an iterative adaptive filter, the iterative adaptive filter being one of a Kalman filter, a recursive least squares, RLS, algorithm and a least mean squares, LMS, algorithm. 3. The method of any one of Claims 1 and 2, wherein the estimate is obtained based at least in part by estimating an N x M uplink channel matrix based at least in part on an N x L effective uplink channel matrix, N is a number of network node (16) receive antennas, M is a number of wireless device transmit antennas and L is one of a number of independent data streams and layers transmitted by the wireless device. 4. The method of any one of Claims 1-3, further comprising: operating in an exploration mode to select an uplink precoder matrix to achieve a selected accuracy of the estimate. 5. The method of Claim 4, wherein operating in the exploration mode comprises: selecting an exploration set of uplink precoders; updating the exploration set by removing a precoder from the exploration set when an uplink transmission is received that used the precoder; and switching from the exploration mode to an exploitation mode when the exploration set is empty. 6. The method of any one of Claims 1-5, further comprising: operating in an exploitation mode to select an uplink precoder matrix based on a measure of uplink throughput achieved by transmitting in at least one direction, the at least one direction being obtained from a current estimate of the uplink transmit covariance matrix. 7. The method of Claim 6, wherein operating in the exploitation mode comprises: selecting a subsequent uplink precoder matrix based at least in part on the current estimate of the uplink transmit covariance matrix. 8. The method of any of Claims 4-7, further comprising: executing a timer to measure time spent in an exploitation mode and to switch from the exploitation mode to the exploration mode when the timer expires. 9. The method of any of Claims 1-8, further comprising: sending an indication of the selected uplink precoder matrix to the wireless device for use in subsequent uplink transmissions; and applying the selected uplink precoder matrix to process available samples obtained from the subsequent uplink transmissions. 10. A network node (16) configured to communicate with a wireless device, the network node (16) comprising processing circuitry (68), the processing circuitry (68) configured to cause the network node (16) to: estimate an uplink transmit covariance matrix from available samples of an uplink channel matrix, the estimating being based at least in part on uplink demodulation reference signals, DMRS, inserted in data symbols transmitted by the wireless device, the estimating being further based at least in part on a selected uplink precoder matrix.

11. The method of Claim 10, wherein the estimate is obtained based at least in part by application of an iterative adaptive filter, the iterative adaptive filter being one of a Kalman filter, a recursive least squares, RLS, algorithm and a least mean squares, LMS, algorithm. 12. The method of any one of Claims 10 and 11, wherein the estimate is obtained based at least in part by estimating an N x M uplink channel matrix based at least in part on an N x L effective uplink channel matrix, N is a number of network node (16) receive antennas, M is a number of wireless device transmit antennas and L is one of a number of independent data streams and layers transmitted by the wireless device. 13. The method of any one of Claims 10-12, wherein the processing circuitry (68) is configured to cause the network node (16) to: operate in an exploration mode to select an uplink precoder matrix to achieve a selected accuracy of the estimate. 14. The method of Claim 13, wherein the processing circuitry (68) is configured to cause the network node (16) to operate in the exploration mode by being configured to cause the network node (16) to: select an exploration set of uplink precoders; update the exploration set by removing a precoder from the exploration set when an uplink transmission is received that used the precoder; and switch from the exploration mode to an exploitation mode when the exploration set is empty. 15. The method of any one of Claims 10-14, wherein the processing circuitry (68) is configured to cause the network node (16) to: operate in an exploitation mode to select an uplink precoder matrix based on a measure of uplink throughput achieved by transmitting in at least one direction, the at least one direction being obtained from a current estimate of the uplink transmit covariance matrix. 16. The method of Claim 15, wherein the processing circuitry (68) is configured to cause the network node (16) to operate in the exploitation mode by being configured to cause the network node (16) to select a subsequent uplink precoder matrix based at least in part on the current estimate of the uplink transmit covariance matrix. 17. The method of any of Claims 13-16, wherein the processing circuitry (68) is configured to cause the network node (16) to: execute a timer to measure time spent in an exploitation mode and to switch from the exploitation mode to the exploration mode when the timer expires. 18. The method of any of Claims 10-17, wherein the processing circuitry (68) is configured to cause the network node (16) to: send an indication of the selected uplink precoder matrix to the wireless device to be used in subsequent transmissions; and apply the selected uplink precoder matrix to process available samples obtained from the subsequent transmissions.

Description:
UPLINK COVARIANCE ESTIMATION FOR SU-MIMO PRECODING IN WIRELESS CELLULAR SYSTEMS TECHNICAL FIELD The present disclosure relates to wireless communications, and in particular, to uplink covariance estimation for single user multiple input multiple output (SU- MIMO) precoding in wireless cellular systems. BACKGROUND Codebook-based uplink transmission is provided by wireless communication standards promulgated by the Third Generation Partnership Project (3GPP), such as Long Term Evolution (LTE) and New Radio (NR), also referred to as Fifth Generation (5G). In codebook-based uplink single user multiple input multiple output (SU- MIMO) transmission, the wireless device (WD) or user equipment (UE) utilizes a precoding matrix to transmit its uplink data streams where the precoding matrix is selected from a finite set of available precoders. The uplink precoder is chosen by the network node based on its estimate of the uplink channel state information (CSI) and is signaled to the WD in the uplink grant. Recently, it has been demonstrated that uplink SU-MIMO does not need detailed CSI for uplink precoder selection. The uplink transmit covariance matrix can be used for precoder selection instead of the instantaneous channel information with negligible performance degradation. Some studies demonstrate that 4-layer uplink (UL) SU-MIMO offers 100% improvement in cell throughput over legacy 1-layer transmission due to its spatial multiplexing capability. The uplink covariance matrix can be estimated from the uplink sounding reference symbols (SRS) where the SRS are transmitted periodically from each WD antenna to enable estimation and tracking of the uplink covariance matrix. In contrast with SRS transmission, which requires dedicated uplink resources, demodulation reference signals (DMRS) are inserted within the uplink transmission to enable coherent detection of uplink data. The DMRS are precoded using the same precoder used for uplink data. Hence, DMRS-based uplink covariance matrix estimation can be useful in avoiding SRS capacity limitations while providing throughput gains. However, uplink CSI cannot be directly estimated from DMRS when the uplink transmission is not full rank because the DMRS transmissions are precoded. As a result, more sophisticated CSI acquisition algorithms are required to utilize the uplink DMRS in uplink SU-MIMO precoder selection. An existing solution for uplink SU-MIMO precoding utilizes SRS for obtaining non-precoded uplink channel estimates from each transmit antenna to the network node. The uplink channel estimates are then used to update an uplink covariance matrix estimate which is used to select the uplink precoder. As a result, the SRS-based algorithm requires storage of detailed channel estimates from previous uplink SRS transmissions. In additions, the SRS resources must be periodically assigned to the WDs to enable tracking of the uplink covariance matrix with WD mobility. This might be problematic when there is a large number of connected and active WDs in the system due to limited SRS resources in practical wireless cellular systems. SUMMARY Some embodiments advantageously provide methods, network nodes and wireless devices for uplink covariance estimation for single user multiple input multiple output (SU-MIMO) precoding in wireless cellular systems. Methods, i.e., algorithms, are presented for DMRS-based estimation and tracking of the uplink channel covariance matrix for the purpose of selecting the uplink precoder. The first method utilizes a Kalman filter to estimate and track the uplink covariance matrix from any precoded DMRS-based channel estimates. The proposed method directly updates the uplink covariance matrix estimate from each uplink channel estimate without the need for storing the uplink channel estimates between different uplink receptions. The second method reduces computational complexity compared with known arrangements. In the second method, the network node can estimate the uplink channel from each WD antenna separately, and then compute the correlation matrix by combining the estimates across all the transmissions. Since the amount of information in the uplink channel estimate about the uplink covariance matrix depends on the utilized uplink precoder, an algorithm is proposed for selecting the uplink precoder based on two modes of uplink transmission. In the first mode, the exploration mode, the uplink precoder is selected to provide accurate uplink covariance estimates. In the second mode, the objective of the uplink precoder selection algorithm is to maximize uplink throughput by transmitting in the best directions of the channel. These directions are obtained from the current estimate of the uplink transmit covariance matrix. Nevertheless, the proposed algorithms can still utilize the uplink transmissions during exploitation mode in updating the uplink covariance matrix estimate even if these transmissions are not in the optimal exploration directions. Simulation results are presented showing that the proposed methods can accurately estimate the uplink covariance matrix and provide an uplink cell throughput very close to that provided by SRS-based uplink channel estimation without any need for dedicated sounding resources. Hence, SRS capacity limitations are alleviated. According to an aspect of the present disclosure, a method implemented in a network node configured to communicate with a wireless device is provided. The method includes estimating an uplink transmit covariance matrix from available samples of an uplink channel matrix, the estimating being based at least in part on uplink demodulation reference signals, DMRS, inserted in data symbols transmitted by the wireless device, the estimating being further based at least in part on a selected uplink precoder matrix. In some embodiments of this aspect, the estimate is obtained based at least in part by application of an iterative adaptive filter, the iterative adaptive filter being one of a Kalman filter, a recursive least squares, RLS, algorithm and a least mean squares, LMS, algorithm. In some embodiments of this aspect, the estimate is obtained based at least in part by estimating an N x M uplink channel matrix based at least in part on an N x L effective uplink channel matrix, N is a number of network node receive antennas, M is a number of wireless device transmit antennas and L is one of a number of independent data streams and layers transmitted by the wireless device. In some embodiments of this aspect, the method further includes operating in an exploration mode to select an uplink precoder matrix to achieve a selected accuracy of the estimate. In some embodiments of this aspect, operating in the exploration mode includes selecting an exploration set of uplink precoders; updating the exploration set by removing a precoder from the exploration set when an uplink transmission is received that used the precoder; and switching from the exploration mode to an exploitation mode when the exploration set is empty. In some embodiments of this aspect, the method further includes operating in an exploitation mode to select an uplink precoder matrix based on a measure of uplink throughput achieved by transmitting in at least one direction, the at least one direction being obtained from a current estimate of the uplink transmit covariance matrix. In some embodiments of this aspect, operating in the exploitation mode includes selecting a subsequent uplink precoder matrix based at least in part on the current estimate of the uplink transmit covariance matrix. In some embodiments of this aspect, the method further includes executing a timer to measure time spent in an exploitation mode and to switch from the exploitation mode to the exploration mode when the timer expires. In some embodiments of this aspect, the method further includes sending an indication of the selected uplink precoder matrix to the wireless device for use in subsequent uplink transmissions, and applying the selected uplink precoder matrix to process available samples obtained from the subsequent uplink transmissions. According to another aspect of the present disclosure, a network node configured to communicate with a wireless device is provided. The network node includes processing circuitry. The processing circuitry is configured to cause the network node to estimate an uplink transmit covariance matrix from available samples of an uplink channel matrix, the estimating being based at least in part on uplink demodulation reference signals, DMRS, inserted in data symbols transmitted by the wireless device, the estimating being further based at least in part on a selected uplink precoder matrix. In some embodiments of this aspect, the estimate is obtained based at least in part by application of an iterative adaptive filter, the iterative adaptive filter being one of a Kalman filter, a recursive least squares, RLS, algorithm and a least mean squares, LMS, algorithm. In some embodiments of this aspect, the estimate is obtained based at least in part by estimating an N x M uplink channel matrix based at least in part on an N x L effective uplink channel matrix, N is a number of network node receive antennas, M is a number of wireless device transmit antennas and L is one of a number of independent data streams and layers transmitted by the wireless device. In some embodiments of this aspect, the processing circuitry is configured to cause the network node to operate in an exploration mode to select an uplink precoder matrix to achieve a selected accuracy of the estimate. In some embodiments of this aspect, the processing circuitry is configured to cause the network node to operate in the exploration mode by being configured to cause the network node to select an exploration set of uplink precoders; update the exploration set by removing a precoder from the exploration set when an uplink transmission is received that used the precoder; and switch from the exploration mode to an exploitation mode when the exploration set is empty. In some embodiments of this aspect, the processing circuitry is configured to cause the network node to operate in an exploitation mode to select an uplink precoder matrix based on a measure of uplink throughput achieved by transmitting in at least one direction, the at least one direction being obtained from a current estimate of the uplink transmit covariance matrix. In some embodiments of this aspect, the processing circuitry is configured to cause the network node to operate in the exploitation mode by being configured to cause the network node to select a subsequent uplink precoder matrix based at least in part on the current estimate of the uplink transmit covariance matrix. In some embodiments of this aspect, the processing circuitry is configured to cause the network node to execute a timer to measure time spent in an exploitation mode and to switch from the exploitation mode to the exploration mode when the timer expires. In some embodiments of this aspect, the processing circuitry is configured to cause the network node to send an indication of the selected uplink precoder matrix to the wireless device for use in subsequent uplink transmissions, and apply the selected uplink precoder matrix to process available samples obtained from the subsequent uplink transmissions. 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 exemplary 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 exemplary 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 exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a wireless device according to some embodiments of the present disclosure; FIG. 5 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data from the wireless device at a host computer according to some embodiments of the present disclosure; FIG. 6 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a host computer according to some embodiments of the present disclosure; FIG. 7 is a flowchart of an exemplary process in a network node for uplink covariance estimation for single user multiple input multiple output (SU-MIMO) precoding in wireless cellular systems according to some embodiments of the present disclosure; FIG. 8 is a flowchart of an exemplary process in a wireless device for uplink covariance estimation for single user multiple input multiple output (SU-MIMO) precoding in wireless cellular systems according to some embodiments of the present disclosure; FIG. 9 is block diagram of a system model for uplink SU-MIMO; FIG. 10 is a block diagram of a Kalman filter-based uplink covariance estimation algorithm; FIG. 11 is a flowchart of an uplink transmission mode and precoder selection algorithm; FIG. 12 is a graph of an average normalized inner product versus a number of WDs in a system; FIG. 13 is a graph of an average WD uplink throughput versus a number of WDs in the simulation area; and FIG. 14 is a graph of a 10th percentile of WD uplink throughput versus a number of WDs in the simulation area. DETAILED DESCRIPTION Before describing in detail exemplary embodiments, it is noted that the embodiments reside primarily in combinations of apparatus components and processing steps related to uplink covariance estimation for single user multiple input multiple output (SU-MIMO) precoding in wireless cellular systems. 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 can 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 can 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 can 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, can 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. Embodiments provide uplink covariance estimation methods and devices for single user multiple input multiple output (SU-MIMO) precoding in wireless cellular systems. Some embodiments avoid using SRS-based channel estimates for uplink precoding selection, and hence, avoid SRS capacity limitations. In some embodiments, the precoder selection algorithm in exploration mode allows accurate estimation of an uplink covariance matrix from precoded DMRS-based channel estimates. The Kalman filtering-based solution described herein enables direct estimation and tracking of the uplink covariance matrix from uplink DMRS for any used uplink precoder. The uplink covariance matrix is directly estimated from processed uplink DMRS-based channel estimates without the need for saving these channel estimates between different uplink receptions. This reduces the memory storage requirement of the method as compared with other arrangements. The proposed channel provider-based method can estimate the uplink covariance matrix from full rank or antenna-switching based precoders with reduced computational complexity. 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 can 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 can 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 can 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 covariance matrix estimator 32 which is configured to estimate an uplink transmit covariance matrix from available samples of an uplink channel matrix. A wireless device 22 is configured to include a DMRS processor 34 which is configured to use the indicated uplink precoder matrix to transmit demodulation reference signals (DMRS) for use by the network node to estimate an uplink transmit covariance matrix. 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 user, 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 user, the host application 50 may provide user data which is transmitted using the OTT connection 52. The “user 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 covariance matrix estimator 32 which is configured to estimate an uplink transmit covariance matrix from available samples of an uplink channel matrix. 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. For example, the processing circuitry 84 of the wireless device 22 may include DMRS processor 34 which is configured to use the indicated uplink precoder matrix to transmit demodulation reference signals (DMRS) for use by the network node to estimate an uplink transmit covariance matrix. 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 covariance matrix estimator 32, and DMRS processor 34 as being within a respective 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 exemplary 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 exemplary 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 exemplary 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 exemplary 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 exemplary process in a network node 16 for uplink covariance estimation for single user multiple input multiple output (SU-MIMO) precoding in wireless cellular systems. 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 covariance matrix estimator 32), processor 70, radio interface 62 and/or communication interface 60. Network node 16 such as via covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to estimate an uplink transmit covariance matrix from available samples of an uplink channel matrix, the estimating being based at least in part on uplink demodulation reference signals, DMRS, inserted in data symbols transmitted by the wireless device, the estimating being further based at least in part on a selected uplink precoder matrix. In some embodiments, the estimate is obtained, such as via covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60, based at least in part by application of an iterative adaptive filter, the iterative adaptive filter being one of a Kalman filter, a recursive least squares, RLS, algorithm and a least mean squares, LMS, algorithm. In some embodiments, the estimate is obtained, such as via covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60, based at least in part by estimating an N x M uplink channel matrix based at least in part on an N x L effective uplink channel matrix, N is a number of network node receive antennas, M is a number of wireless device transmit antennas and L is one of a number of independent data streams and layers transmitted by the wireless device 22. In some embodiments, the covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to cause the network node 16 to operate in an exploration mode to select an uplink precoder matrix to achieve a selected accuracy of the estimate. In some embodiments, the covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to cause the network node 16 to cause the network node 16 to operate in the exploration mode by being configured to cause the network node 16 to select an exploration set of uplink precoders; update the exploration set by removing a precoder from the exploration set when an uplink transmission is received that used the precoder; and switch from the exploration mode to an exploitation mode when the exploration set is empty. In some embodiments, the covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to cause the network node 16 to operate in an exploitation mode to select an uplink precoder matrix based on a measure of uplink throughput achieved by transmitting in at least one direction, the at least one direction being obtained from a current estimate of the uplink transmit covariance matrix. In some embodiments, the covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to cause the network node 16 to operate in the exploitation mode by being configured to cause the network node 16 to select a subsequent uplink precoder matrix based at least in part on the current estimate of the uplink transmit covariance matrix. In some embodiments, the covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to cause the network node 16 to execute a timer to measure time spent in an exploitation mode and to switch from the exploitation mode to the exploration mode when the timer expires. In some embodiments, the covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to cause the network node 16 to send an indication of the selected uplink precoder matrix to the wireless device 22 for use in subsequent uplink transmissions, and apply the selected uplink precoder matrix to process available samples obtained from the subsequent uplink transmissions. Network node 16 such as via covariance matrix estimator 32, processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to estimate an uplink transmit covariance matrix from available samples of an uplink channel matrix, the estimating being based at least in part on uplink demodulation reference signals (DMRS) inserted in data symbols transmitted by the WD, the estimating being further based at least in part on a selected uplink precoder matrix. FIG. 8 is a flowchart of an exemplary process in a wireless device 22 according to some embodiments of the present disclosure. One or more blocks described herein may be performed by one or more elements of wireless device 22 such as by one or more of processing circuitry 84 (including the DMRS processor 34), processor 86, radio interface 82 and/or communication interface 60. Wireless device 22 such as via processing circuitry 84 and/or processor 86 and/or radio interface 82 is configured to receive an indication of an uplink precoder matrix selected by the network node (Block S136). The process also includes using the indicated uplink precoder matrix to transmit demodulation reference signals (DMRS) for use by the network node to estimate an uplink transmit covariance matrix (Block S138). 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 uplink covariance estimation for single user multiple input multiple output (SU-MIMO) precoding in wireless cellular systems. System Model Consider a MIMO wireless cellular system composed of a network node 16 and multiple connected WDs 22. For the sake of simplicity, the connection between the network node 16 and a single WD 22 is considered, it being understood that the network node can support multiple WDs 22. FIG. 9 shows the system model for the uplink SU-MIMO transmitter/receiver. Assume that the network node 16 has an N- element antenna array (shown on the right) and that the WD 22 is equipped with an M-element antenna (shown on the left). Let H(ƒ,t) denote the N × M matrix containing the coefficients of the uplink channel from the WD 22 to the network node 16 at time t and frequency ƒ. The WD 22 transmits, via the radio interface 82, L independent data streams (layers) to the network node 16 using the M × L wideband precoding matrix W L (t). Alternatively, a frequency-selective precoding matrix, W L (ƒ,t) can be used. The precoding matrix may be assigned to the WD 22 for its uplink transmission and may be signaled to the WD 22 by the radio interface 62 of the network node 16 prior to time instant ^ together with the uplink transmission grant. The precoding matrix W L (t) may be selected from a finite codebook Ω L containing all rank L precoders that can be supported by the WD 22 and 1 ≤ L ≤ L max where L max ≤ min(M,N) is the maximum number of layers that can be transmitted by the WD 22 in the uplink. The N × 1 vector containing the received uplink signal at the radio interface 62 of the network node 16 at time t and frequency ƒ is given by where p(ƒ,t) is the transmission power of the WD 22 on frequency binƒ and time t, S L (ƒ,t) is the L × 1 vector containing the transmitted data symbols by the radio interface 82 of WD 22, and n(ƒ,t) is the N × 1 vector containing the received noise and interference at time t and frequency ƒ. The network node 16 employs the receiver function ν() to estimate both the transmitted data symbols, i.e., The network node radio interface 62 may employ coherent detection to estimate the transmitted data symbols. This may be achieved by estimating the N × L effective uplink channel using the uplink DMRS that are inserted in the transmitted data symbols at given time, frequency, and spatial resources as shown in FIG. 9. Iterative Uplink Covariance Estimation Two algorithms (methods) are presented to estimate the M × M uplink transmit covariance matrix, which is defined as: R(t) = E{H H (ƒ ,t) H( ƒ,t)} from the available samples of obtained using uplink DMRS where () H denotes the Hermitian transpose operator and E {} denotes the statistical expectation. The two algorithms are presented for estimating the wideband covariance matrix where the same precoder is used over the full available uplink transmission band. Nevertheless, the proposed algorithms can be easily extended to scenarios where the WD 22 can use multiple precoders for transmission, based on the selected bandwidth within the granted allocation. In such cases, a covariance matrix may be estimated for each bandwidth allocation and the network node 16 should be able to indicate more than one precoder and their corresponding bandwidth ranges. Kalman Filtering Based Method FIG. 10 shows a block diagram illustrating an example of the proposed Kalman filter based uplink covariance estimation method (algorithm) which may be performed by covariance matrix estimator 32 of processing circuitry 68 of the network node 16. In some embodiments, the proposed method may utilize all uplink receptions in updating the Kalman filter state, i.e., the estimate of the uplink covariance matrix, without any restrictions on the number of layers or the utilized uplink precoding. Note that as an alternative equivalent solution, the uplink transmit covariance matrix can also be iteratively estimated using other iterative adaptive algorithms, e.g., the recursive least squares (RLS) algorithm. For example, let the L × L covariance matrix of the effective uplink transmit channel be defined as: (a) Since then i.e., the elements of are linear in R(t). Hence, each estimate of 2 yields L measurements of the elements of the matrix R(t). Therefore, R(t) can be estimated adaptively as: where denotes the Frobenius norm operat ( or. Now defining the ^ 91 vector x(t) = vec{R(t)}, using the identity vec{ABC} = ( Bec{B} where () T denotes the transpose operator, the above problem can be expressed as: where denotes the Kronecker product, and vec{#} denotes the matrix vectorization operator. A Kalman filter can be used to continuously track the vector x(t) from estimates of A state equation can be used, e.g., (b) x(t) = x(t − 1) + v x (t) where is the process noise, is chosen as e.g., to allow tracking of state vector by preventing the state covariance from dropping to zero, and Q is the estimate of the state vector given the measurement up to and including time ^. The measurement equation is given by: where is the measurement noise. The value of M depends on the expected mean square error in the innovation, and is typically chosen as a small value, e.g., to minimize At time instant t, there is the N × L equivalent channel the physical uplink shared channel (PUSCH) precoder W L (t), and the PUSCH physical resource block (PRB) frequency allocation S ƒ (t) of the WD 22. A Kalman filter can be used to iteratively track the state vector x(t) using the above state and measurement equations. Some embodiments of the method, which may be performed by the processing circuitry 68 may be given as follows: • Initialize: identity matrix and α is a large number that reflects low confidence in the initial estimate :Q e.g., α = 100; • At time t, given the rank-L PUSCH reception over subbands S ƒ (t), the N × L equivalent channels and the PUSCH precoder W L (t); o Compute predicted covariance: o Acquire new measurement: o Compute the measurement matrix: o For i = 1 to L 2 perform the following rank 1 updates: • Compute L 2 X 1 Innovation vector: v i (t) = y i (t) − where y i (t) is ith entry of y(t) and g i (t) is the ith row of G(t); • Compute Innovation variance • Compute M 2 X 1 Kalman filter gain: q i (t) = P(t − Perform state update: • Perform covariance update: P(t) = P(t − 1) − q i (t) g i (t) P(t − 1); o End For i = 1 to L 2 . Note that the total number of multiplications for each iteration is given by and that the memory requirements of the algorithm are M 4 + M 2 real numbers for storing the state and its covariance. FIG. 10 shows an example Kalman filter based uplink covariance estimation method (algorithm). In some embodiments, there may be an uplink reception using precoder W L (t) on subbands S ƒ (t) at network node 16. In step S140, network node 16 may obtain DMRS-based channel estimates. In step S142, network node 16 may compute a Kalman measurement vector. In step S144, network node 16 may perform L 2 rank 1 state updates. In step S146, from a previous state estimate, network node 16 may perform a Kalman filter prediction. The output may be a new state estimate, as shown in FIG. 10. Channel Provider-based Method In the proposed channel provider-based method, the network node 16 may, for example via the processing circuitry 68, explicitly estimate the N × L uplink channel matrices H(ƒ,t) for all the available frequencies from the corresponding N × L effective uplink channel matrices The uplink covariance matrix may then be estimated, via the covariance matrix estimator 32, from the uplink channel matrices. Note that if a full rank precoder is utilized by the WD 22, i.e., if L = M, then H(ƒ,t) can be easily obtained as H(ƒ,t) = However, this is not always the case as in general L ≤ M. Let h i (ƒ,t) denote the ^-th column of H(ƒ,t). If an antenna selection precoder, which may be implemented by the processing circuitry 84 and/or the radio interface 82 of the WD 22, is used to transmit layer- i from antenna k, i.e., w i (t) = α e k where e k is the MX1 vector containing zeros except for 1 in the oth entry and α is a scaling factor, then For example, during a first transmission from the WD’s first transmit antenna at time t 0 , the network node 16 can measure h 0 (ƒ,t 0 ) . In a second transmission, from the WD 22’s second transmit antenna at time t 1 , the network node 16 can measure h 1 (ƒ,t 1 ) . Note that t 0 can be equal to t 1 when two layers are simultaneously transmitted by the WD 22 at the same time instant. From M transmissions, the network node 16 can form H( ƒ, t max ) as H( ƒ, t max ) = [h 0 (ƒ,t 0 ) , h 1 (ƒ,t 1 ) , … , h M-1 (ƒ, t M-1 )] where t max = max {t 0 , t 1 , ... , t M-1 } if max {t 0 , t 1 , ... , t M-1 } - min {t 0 , t 1 , ... , t M-1 } < T c and wx is the coherence time of the channel. The uplink transmit covariance can then be estimated from H( ƒ, t max ) as where S ƒ is the set of subbands for which the channel estimates H( ƒ, t max ) are available. Uplink Transmission Mode Selection The performance of the iterative uplink covariance estimation method may depend on the rank and UL precoder selection. In the Kalman filter-based method, the number of state measurements may be equal to the square of the uplink precoder rank. In addition, since the precoder selection defines the directions of the state measurements in the M 2 -dimensional space. In contrast, for the channel provider-based method, only full rank precoders or antenna selection-based precoders might be used to update the covariance matrix estimate. Hence, proper selection of the uplink precoder can improve the accuracy of the iterative covariance estimation method. On the other hand, the uplink rank and precoder may also be selected to maximize the uplink throughput. Since the above two objectives do not necessarily lead to the same uplink rank and precoder selection, two modes of uplink transmission are proposed, in some embodiments: -The Exploration mode. The uplink precoder selection method may strive provide accurate uplink covariance estimates; and -The Exploitation mode. The uplink precoder selection method may strive to maximize uplink throughput by transmitting in the best directions of the channel. These directions may be obtained from the current estimate of the uplink transmit covariance matrix. Exploration Mode FIG. 11 is a flowchart of an uplink transmission mode and precoder selection algorithm that may be performed by processing circuitry 68. The algorithm may periodically force the transmission mode into exploration mode via an “Exploration mode timer”. In step S146, network node 16 determines the UL transmission (Tx) mode. If the mode is Exploitation mode, in step S148, network node 16 determines whether the exploration timer has expired. The timer may be started at the beginning of Exploitation mode transmission and the mode is switched to Exploration mode when the timer expires. If the timer has not expired, in step S150, network node 16 may select a rank and precoder for a current request. The method shown in FIG. 11 utilizes an Exploration Flag to indicate the current transmission mode of the system. The flag is set to ON state when the transmission mode is Exploration mode. If the timer has expired, in step S152, network node 16 may select an exploration set. In step S154, network node 16 sets the Exploration Flag to ON. At the beginning of each Exploration mode period, the algorithm may start by selecting a set of precoders from the exploration set to be used for Exploration, as shown in step S156. In step S158, as a result of receiving an uplink transmission, network node 16 may determine the UL Tx mode. If the UL Tx mode is Exploration mode, for each uplink transmission in Exploration mode, a precoder is selected from the Exploration set and utilized in the uplink transmission. The Exploration set is updated by removing the utilized precoder from the Exploration set when an uplink transmission is received that used this precoder, as shown in step S160. The transmission mode may be switched to Exploitation mode when all the precoders in the Exploration set are utilized, i.e., when the updated Exploration set is empty. For example, in step S162, network node 16 may determine that the exploration set is empty. In step S164, the Exploration Flag is then set to OFF. Note that a full rank uplink transmission may ensure that all the directions of the channel covariance are probed, i.e., the Kalman filtering algorithm may receive ^( independent measurements of the ^(-dimensional state variable. Hence, in some embodiments, the Exploration mode timer can be optionally reset when a full rank uplink transmission is received. such as in steps S166 and S168. Kalman Filtering Method When the Kalman filtering method is used, the Exploration codebook set may be selected, via the processing circuitry 68, for example, such that all the directions of the channel covariance matrix are probed using the minimum number of exploration mode precoders. Note that the L-layer precoder matrix W L,i provides measurements of the elements of the uplink covariance matrix along the directions of the rows of the L 2 X N matrix G L,i = denote the Exploration code book set where denotes the cardinality of the set Sy E . Define the exploration directions matrix as the matrix Hence, the exploration codebook set selection problem can be posed as: Since each L-layer precoder matrix provides L 2 measurements of the uplink covariance matrix using one uplink transmission, the rank of the optimum Exploration codebook set, L opt , is the highest rank that can be supported by the WD 22 and decoded successfully at the network node 16. Note that the cardinality of the exploration code book may satisfy where denotes the smallest integer greater than or equal to x. The optimum codebook set can be found by searching over all rank- L opt precoders W and selecting a set of precoders that satisfy the constraint of the exploration codebook set selection problem. Note that if L opt = M, the exploration codebook set will contain only 1 precoder. Channel Provider Method When the channel provider method is used, the Exploration codebook set may be selected such that all the M antennas are utilized in uplink transmissions using an antenna-selection precoder for each layer. During the Exploration mode, the WD 22 may be directed, by for example, the network node 16, to transmit from each transmit antenna independently, i.e., using an antenna selection precoder. The network node 16 can estimate, via the processing circuitry 68, the channel for transmission from each WD 22 antenna separately and then compute the correlation matrix by combining the estimates across all the transmissions. During the Exploitation mode the acquired channel correlation matrix can be updated continuously with a level confidence parameter. Exploitation Mode In Exploitation mode the precoder is selected based on the estimated covariance matrix R(t). For example, the same methods used in SRS-based precoding selection can be used for selecting the number of layers and the uplink precoder in exploitation mode. However, the estimated precoder may be obtained from processing the DMRS-based uplink covariance matrix R(t) instead of processing the SRS-based uplink covariance matrix. Note that the proposed uplink covariance estimation algorithms can still utilize the uplink transmissions during exploitation mode in updating the uplink covariance matrix estimate even if these transmissions are not in the optimal exploration directions. Performance Evaluation The performance of the proposed uplink SU-MIMO precoding technique using system-level simulations is now illustrated by simulating a 5G cellular system with bandwidth 30 MHz and carrier frequency 3.5 GHz. The system operates in time division duplex mode where the Downlink/Uplink timeslot pattern is 3/1. Consider a 7-site deployment scenario where each site has 3 cells, the inter-site distance is equal to 500 m and the WDs 22 are dropped randomly in the simulation area. Assume that all the WDs 22 have fully coherent uplink transmission capabilities where the number of the uplink transmit antennas at the WD 22 is equal to 4. The 3GPP 5G spatial channel modeling (SCM) Urban Macro channel model with non-line of sight (NLOS) communication is used in this simulation. The antenna configuration at the network node 16 is the 4x8x2 configuration (cross polarized antenna elements of 4 rows and 8 columns). The traffic model for the uplink is selected as full buffer. The performance of the proposed DMRS-based SU-MIMO precoding selection algorithm using a 3GPP Release 15 (Rel-15) uplink codebook is investigated. Consider SRS-based channel acquisition where the uplink transmit covariance matrix is estimated using periodically transmitted full-bandwidth SRS from the WD 22. For the SRS-based precoder selector, the channel estimates are obtained using a full band 4-Port SRS which is transmitted by the WD 22 every 2.5 msec. As a benchmark for comparison, also included is a legacy uplink transmission scheme where each scheduled WD 22 transmits from Port 0 with full available power. In order to confirm the ability of the proposed DMRS-based iterative covariance estimation algorithm, the normalized inner product between the SRS- based covariance estimate and the DMRS-based covariance estimate # is evaluated and is defined by: FIG. 12 is a graph showing the average normalized inner product versus the number of WDs 22 in the system. As can be seen, an embodiment of the proposed Kalman filter based covariance estimation method provides a relatively accurate estimate of the uplink covariance matrix and that the similarity between the SRS- based covariance matrix and DMRS-based covariance matrix is over 96%. The channel provider-based method provides a less-accurate estimate of the uplink covariance matrix as only full-rank and antenna switching based precoders are used in updating the covariance matrix estimate. However, the computational complexity of the channel provider-based algorithm is much lower than that of the Kalman filter based algorithm. FIG. 13 and FIG. 14 are graphs that show, respectively, the average and 10th percentile of the Uplink WD 22 throughput versus the number of WDs 22 in the simulation area. As can be seen, UL SU-MIMO offers 100% improvement in cell throughput over legacy transmission due to its spatial multiplexing capability while preserving the same cell edge throughput. FIGS. 13 and 14 show that the ability of the proposed DMRS-based SU-MIMO algorithm to accurately estimate the uplink covariance matrix translates into providing a performance relatively close to that of SRS-based SU-MIMO without the need for dedicated SRS resources. Some embodiments may include one or more of the following methods, as examples: 1) A method of selecting a transmit precoder for a subsequent reception including: i) Estimating a channel correlation matrix from the received signals; ii) Selecting a set of transmit precoders based on a quality of the computed channel correlation estimate; iii) Deciding a transmit precoder from the selected transmit precoder set for the next transmission; and/or iv) Informing the transmitter to use the selected precoder for the next transmission. 2) The method of (1) above, wherein estimating a channel correlation matrix from the received signals includes: i) Estimating the channel weights from the received signals and known reference signals; and/or ii) Computing the correlation matrix among the channel weights received from the transmit ports. 3) The method of (1) above, wherein selecting a set of precoders includes: i) Measuring a quality of the channel correlation matrix; and/or ii) Selecting precoders from available precoders 4) The method of (1) above, wherein deciding a transmit precoder includes: i) Measuring expected signal quality for each precoder in the selected precoder set; and/or ii) selecting the precoder corresponding to the highest expected signal quality. 5) The method of (1) above, wherein informing the transmitter includes: i) Sending a control information to the transmitter for a subsequent transmission to use the determined precoder. According to one aspect, a network node 16 configured to communicate with a wireless device (WD) is provided. The network node 16 includes a radio interface 62 and/or comprising processing circuitry 68 configured to estimate an uplink transmit covariance matrix from available samples of an uplink channel matrix, the estimating being based at least in part on uplink demodulation reference signals (DMRS) inserted in data symbols transmitted by the WD 22, the estimating being further based at least in part on a selected uplink precoder matrix. According to this aspect, in some embodiments, the estimate is obtained based at least in part by application of an iterative adaptive filter being one of a Kalman filter and a recursive least squares (RLS) algorithm. In some embodiments, the estimate is obtained based at least in part by estimating an NxM uplink channel matrix based at least in part on an NxL effective uplink channel matrix, where N is a number of network node 16 receive antennas, M is a number of WD 22 transmit antennas and L is a number of independent data streams transmitted by the WD 22. In some embodiments, the network node 16 is configured to operate in an exploration mode to select an uplink precoder matrix to achieve a selected accuracy of the estimate. In some embodiments, the network node 16 is configured to operate in an exploitation mode to select an uplink precoder matrix based on a measure of uplink throughput achieved by transmitting in certain directions, the directions being obtained from a current estimate of the uplink transmit covariance matrix. In some embodiments, the processing circuitry is further configured to execute a timer to measure time spent in an exploration mode and to switch from the exploration mode to the exploitation mode when the timer expires. In some embodiments, the radio interface is further configured to transmit an indication of the selected uplink precoder to the WD 22 and the processing circuitry is further configured to apply the selected uplink precoder to available samples obtained after sending the indication. According to another aspect, a method implemented in a network node 16 includes estimating, via the processing circuitry 68, an uplink transmit covariance matrix from available samples of an uplink channel matrix, the estimating being based at least in part on uplink demodulation reference signals (DMRS) inserted in data symbols transmitted by the WD 22, the estimating being further based at least in part on a selected uplink precoder matrix. According to this aspect, in some embodiments, the estimate is obtained by the processing circuitry 68 based at least in part by application of an iterative adaptive filter being one of a Kalman filter and a recursive least squares (RLS) algorithm. In some embodiments, the estimate is obtained based at least in part by estimating an NxM uplink channel matrix based at least in part on an NxL effective uplink channel matrix, where N is a number of network node 16 receive antennas, M is a number of WD 22 transmit antennas and L is a number of independent data streams transmitted by the WD 22. In some embodiments, the method further includes operating in an exploration mode to select an uplink precoder matrix to achieve a selected accuracy of the estimate. In some embodiments, the method further includes operating in an exploitation mode to select an uplink precoder matrix based on a measure of uplink throughput achieved by transmitting in certain directions, the directions being obtained from a current estimate of the uplink transmit covariance matrix. In some embodiments, the method further includes executing, via the processing circuitry 68, a timer to measure time spent in an exploration mode and to switch from the exploration mode to the exploitation mode when the timer expires. In some embodiments, the method further includes transmitting, via the radio interface 62, an indication of the selected uplink precoder to the WD 22 and the processing circuitry 68 is further configured to apply the selected uplink precoder to available samples obtained after sending the indication. According to yet another aspect, a wireless device (WD) is configured to communicate with a network node 16 and includes a radio interface and/or processing circuitry configured to receive an indication of an uplink precoder matrix selected by the network node 16, and use the indicated uplink precoder matrix to transmit demodulation reference signals (DMRS) for use by the network node 16 to estimate an uplink transmit covariance matrix. According to another aspect, a method implemented in a wireless device 22 includes receiving, via the radio interface 82, an indication of an uplink precoder matrix selected by the network node 16 and using, via the processing circuitry 84, the indicated uplink precoder matrix to cause transmission, via the radio interface 82, of demodulation reference signals (DMRS) for use by the network node 16 to estimate an uplink transmit covariance matrix. 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 can 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, can 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 can 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 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 can 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: Abbreviation Explanation AAS Adaptive Antenna System CSI Channel State Information DMRS Demodulation reference symbols LTE Long Term Evolution MIMO Multiple Input Multiple Output NLOS Non- Line of Sight SCM Spatially correlated channel SRS Sounding reference symbol SU Single-User TDD Time Division Duplex UE User Equipment 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.