Downlink symbol-level precoding as part of multi-user MISO communications
By searching for collinear factors and optimizing the lookup table, the computational complexity of symbol-level precoding is reduced, the problems of computational intensity and high energy consumption in the prior art are solved, and improvements in energy efficiency and symbol error rate are achieved.
Patent Information
- Application Number
- CN202080105212.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-16
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2040-09-16
AI Technical Summary
Existing symbol-level precoding schemes are computationally intensive, resulting in high energy consumption and high complexity, making it difficult to efficiently handle the high data rate requirements in multi-user MISO communications.
By searching for collinear factors, the output vector is determined using a lookup table or an optimization process, reducing computational complexity, optimizing transmit precoding and constellation rotation, and reducing the number of optimization problems and constraints.
A less computationally intensive symbol-level precoding is achieved, which improves energy efficiency and reduces computational resource requirements while maintaining the symbol error rate and performance of the detection process.
Smart Images

Figure CN116195201B_ABST
Abstract
Description
Technical Field
[0001] The embodiments presented herein relate to methods, network nodes, computer programs, and computer program products for downlink symbol-level precoding as part of multi-user multiple-input single-output (MISO) communications. Background Art
[0002] In communication networks, there may be different challenges. One such challenge is energy consumption. Research and development is ongoing to identify technologies that enable reduction of energy consumption without compromising quality or performance in terms of throughput, quality of service, etc.
[0003] On the other hand, new services require increasingly higher data rates. Therefore, there is a need for energy-efficient devices capable of handling high data rates. Physical layer technologies such as Multiple Input Multiple Output (MIMO) systems and Orthogonal Frequency Division Multiplexing (OFDM), as employed as air interfaces in Long Term Evolution (LTE) and Advanced Fourth Generation (4G) telecommunication systems, will continue to play a role in Fifth Generation (5G) telecommunication systems such as New Radio (NR).
[0004] The radio channel of the air interface fluctuates randomly in time, frequency, and space, limiting communication capacity and reliability. This poses a challenge to achieving efficient communication, especially when considering energy consumption. In a non-stationary wireless channel environment where the transmitter and receiver are moving relative to each other, the non-stationary nature of the radio channel severely impairs reception. Therefore, knowledge of the radio propagation environment is crucial for the design of communication systems. In this regard, symbol-level precoding (SLP) exploits interference in the downlink of multi-user MISO systems.
[0005] SLP can be implemented by determining the output vector symbol by symbol, which may lead to a better understanding of the interference properties and structure. In SLP, the output vector is designed to ensure that each symbol should be received in the correct detection area without any phase rotation. In symbol-level unicast precoding, the (radio) access network node conveys a separate message for each user. In SLP, interference can be classified as either constructive interference or destructive interference. This classification enables interference utilization between multiple transmitted data streams. However, SLP is based on joint optimization of precoding and constellation rotation. Constellation rotation has a higher impact at low modulation orders, and if the channel exhibits spatial correlation, constellation rotation still has an impactful saving at higher modulation orders. This optimization process is also computationally intensive.
[0006] Therefore, there is a need for a computationally efficient SLP scheme. Summary of the Invention
[0007] It is an object of embodiments herein to provide symbol-level precoding that is less computationally intensive than existing SLP schemes.
[0008] According to a first aspect, a method for downlink symbol-level precoding as part of multi-user MISO communication is presented. The method is performed by a network node. The method includes obtaining a data vector at a current time instant to be precoded. The data vector includes data symbols for K>1 users. The current time instant corresponds to a single symbol. The method includes precoding the obtained data vector by determining an output vector for the data vector at the current time instant. Determining the output vector for the current time instant includes searching for a data vector at a previous time instant that is collinear with the data vector at the current time instant based on a collinearity factor. When such a data vector at the previous time instant is found, the output vector is equal to the output vector at the previous time instant multiplied by the collinearity factor.
[0009] According to a second aspect, a network node is provided for downlink symbol-level precoding as part of multi-user MISO communication. The network node includes processing circuitry. The processing circuitry is configured to cause the network node to obtain a data vector at a current time instant to be precoded. The data vector includes data symbols for K>1 users. The current time instant corresponds to a single symbol. The processing circuitry is configured to cause the network node to precode the obtained data vector by determining an output vector for the data vector at the current time instant. Determining the output vector for the current time instant includes searching for a data vector at a previous time instant that is collinear with the data vector at the current time instant based on a collinearity factor. When such a data vector at the previous time instant is found, the output vector is equal to the output vector at the previous time instant multiplied by the collinearity factor.
[0010] According to a third aspect, a network node is provided for downlink symbol-level precoding as part of multi-user MISO communication. The network node includes an acquisition module configured to obtain a data vector at a current time instant to be precoded. The data vector includes data symbols for K>1 users. The current time instant corresponds to a single symbol. The network node includes a precoding module configured to precode the obtained data vector by determining an output vector for the data vector at the current time instant. Determining the output vector for the current time instant includes searching for a data vector at a previous time instant that is collinear with the data vector at the current time instant based on a collinearity factor. When such a data vector at the previous time instant is found, the output vector is equal to the output vector at the previous time instant multiplied by the collinearity factor.
[0011] According to a fourth aspect, there is presented a computer program for downlink symbol level precoding as part of multi-user MISO communication, the computer program comprising computer code which, when run on a network node, causes the network node to perform the method according to the first aspect.
[0012] According to a fifth aspect, there is presented a computer program product comprising the computer program according to the fourth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium can be a non-transitory computer readable storage medium.
[0013] Advantageously, these aspects provide symbol-level precoding that is less computationally intensive than existing SLP schemes.
[0014] Advantageously, these aspects provide symbol-level precoding with improved energy efficiency without affecting the symbol error rate or the detection process.
[0015] Advantageously, these aspects enable symbol-level precoding to optimize transmit precoding and constellation rotation without additional processing at the receiver. This utilizes per-user constellation rotation to improve general symbol alignment. Consequently, it is expected that more constructive interference will be employed to achieve higher energy efficiency.
[0016] Advantageously, these aspects enable a reduction in computational complexity by reducing the number of optimization problems to be solved or the number of constraints to be considered in a single optimization problem.
[0017] Other objectives, features and advantages of the accompanying embodiments will become apparent from the following detailed disclosure, from the attached dependent claims as well as from the accompanying drawings.
[0018] Generally, unless otherwise expressly defined herein, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field. Unless otherwise expressly stated, all references to "a / an / the element, device, component, part, module, step, etc." are to be interpreted openly as referring to at least one instance of the element, device, component, part, module, step, etc. Unless expressly stated otherwise, the steps of any method disclosed herein do not have to be performed in the exact order disclosed. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The present invention will now be described by way of example with reference to the accompanying drawings, in which:
[0020] Figure 1 is a schematic diagram illustrating a communication network according to an embodiment;
[0021] Figure 2 is a flow chart of a method according to an embodiment;
[0022] Figure 3 、 4 and 6 are block diagrams according to an embodiment;
[0023] Figure 5 shows a constellation diagram according to an embodiment;
[0024] Figure 7 shows simulation results according to an embodiment;
[0025] Figure 8 is a schematic diagram illustrating functional units of a network node according to an embodiment;
[0026] Figure 9 is a schematic diagram illustrating functional modules of a network node according to an embodiment;
[0027] Figure 10 An example of a computer program product including a computer-readable storage medium according to an embodiment is shown;
[0028] Figure 11 is a schematic diagram illustrating a telecommunications network connected to a host computer via an intermediary network according to some embodiments; and
[0029] Figure 12 is a schematic diagram illustrating a host computer communicating with a terminal device via a radio base station over a partially wireless connection according to some embodiments. DETAILED DESCRIPTION
[0030] The concepts of the present invention will now be described more fully below with reference to the accompanying drawings, in which certain embodiments of the concepts of the present invention are shown. However, the concepts of the present invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be comprehensive and complete and will fully convey the scope of the concepts of the present invention to those skilled in the art. Throughout this description, like numbers refer to like elements. Any steps or features shown by dashed lines should be considered optional.
[0031] Figure 1 1 is a schematic diagram illustrating a communication network 100 in which embodiments presented herein can be applied. The communication network 100a may be a third generation (3G), fourth generation (4G) or fifth generation (5G) telecommunication network and, where applicable, supports any 3GPP telecommunication standard.
[0032] Communications network 100 includes a transmission and reception point (TRP) 140 configured to provide network access to users in a (radio) access network 110 (as represented by users 160a, 160b). (Radio) access network 110 is operatively connected to a core network 120. Core network 120, in turn, is operatively connected to a service network 130, such as the Internet. Users 160a, 160b are thereby enabled to access services of service network 130 and exchange data therewith via TRP 140. TRP 140 includes, is collocated with, integrated with, or is in operational communication with network node 200. Network node 200 (via its TRP 140) and users 160a, 160b are configured to communicate with each other in beams, one of which is shown at reference numeral 150. Which beam to use is determined by precoding. In some aspects, the communication network 100 is a multi-user unicast MIMO system in which the network node 200 (via its TRP 140) exploits the spatial dimension by relying on channel state information to transmit multiple independent data streams to multiple users 160a, 160b on the same set of time-frequency resources (or resource elements).
[0033] Examples of network nodes 200 are radio access network nodes, radio base stations, base transceiver stations, node Bs, evolved node Bs, g-node Bs, access points, access nodes, and backhaul nodes. Examples of users 160a, 160b are wireless devices, mobile stations, mobile phones, handsets, wireless local loop phones, user equipment (UE), smartphones, laptops, tablets, network-equipped sensors, network-equipped vehicles, and so-called Internet of Things devices.
[0034] As mentioned above, there is a need for a computationally efficient SLP scheme.
[0035] In this regard, one bottleneck in the use of SLP in current communication systems is the number of operations required. In general, the number of operations is a function of the channel state information and the number of possible data vectors realized per channel. The number of possible output vector operations for each channel realization is equal to or in a single optimization problem interpretation equal to constraints, where m j is the modulation order for user j. This leads to significant computational complexity, especially for a large number of users and / or high modulation orders. Assuming a low-Doppler channel model with relatively flat or frequency-nonselective fading, the embodiments disclosed herein provide a low-complexity technique for determining beamforming weights for all users in the set of scheduled users based on uplink channel estimates.
[0036] The embodiments disclosed herein relate in particular to a mechanism for downlink symbol-level precoding as part of multi-user MISO communication. To achieve such a mechanism, a network node 200, a method performed by the network node 200, and a computer program product are provided, the computer program product including code, for example in the form of a computer program, which, when executed on the network node 200, causes the network node 200 to perform the method.
[0037] Figure 2 is a flow chart illustrating an embodiment of a method for downlink symbol level precoding as part of multi-user MISO communication. The method is performed by the network node 200. The method is advantageously provided as a computer program 1020.
[0038] Assume that data for K>1 users 160a, 160b are to be precoded for the current time n. Therefore, the network node 200 is configured to perform step S102:
[0039] S102: The network node 200 obtains a data vector d[n] to be precoded at the current time n. The data vector includes data symbols d1[n], ..., d2[n] for K>1 users 160a, 160b. K [n]. The current moment corresponds to a single symbol. Therefore, d[n]=[d1[n],…,d K [n]] T , where d j [n] is the data symbol for user j at time instant n, so that the vector d[n] is formed as the concatenation of the symbols from all users to be served simultaneously at time instant n.
[0040] Then, the data vector d[n] is precoded into the output vector x[n]. In particular, the network node 200 is configured to perform step S104:
[0041] S104: The network node 200 precodes the obtained data vector by determining an output vector x[n] for the data vector at the current time n. Determining the output vector x[n] for the current time includes searching for a data vector d[m] at the previous time m that is collinear with the data vector d[n] at the current time, based on a collinearity factor. When such a data vector at the previous time is found, the output vector x[n] is equal to the output vector x[m] at the previous time m multiplied by the collinearity factor.
[0042] Reference here Figure 33. A block diagram of a network node 200 in FIG. The data to be precoded is represented by a data flow block 310. The data is mapped to data vectors in a data vector block 320, one data vector per time instant. The data vectors are fed to a precoding block 350, where, for a given data vector d[n] at the current time instant, a corresponding output vector x[n] is determined. The output vectors thus determined (one per time instant) are represented by an output vector block 360. The transmission of the output vectors is represented by a data transmission (Tx) block 370. A description of the SNR target and modulation allocation block 330 and the CSI acquisition block 340 will be provided below.
[0043] Embodiments involving further details of downlink symbol level precoding as part of multi-user MISO communication as performed by the network node 200 will now be disclosed.
[0044] In some aspects, once the data vector d[n] has been precoded into the output vector x[n], the output vector x[n] is transmitted. The output vector x[n] may be transmitted by the network node 200, or at least the transmission of the output vector x[n] may be initiated by the network node 200. That is, in some embodiments, the network node 200 is configured to perform (optional) step S106:
[0045] S106: The network node 200 transmits the output vector x[n] at the current time n in the downlink.
[0046] There are various approaches to the collinearity factor (hereinafter referred to as ζ). In some embodiments, the data vector d[m] at the previous time is collinear with the data vector d[n] at the current time when the data vector d[n] at the current time is equal to the collinearity factor ζ multiplied by the data vector d[,] at the previous time. In other words, d[n] and d[m] are collinear only when d[n] = ζ·d[,].
[0047] There may be different examples of values for the collinearity factor ζ. In some examples, the collinearity factor takes a value in the set Z = {1, -1, i, -i}. That is, ζ∈Z.
[0048] As disclosed above, determining the output vector x[n] for the current time instant includes searching for the data vector d[m] at the previous time instant m. There may be different ways for the network node 200 to search for this data vector d[m]. In some embodiments, the data vector d[m] at the previous time instant is searched among the data vectors in a lookup table.
[0049] The pre-coding aspect will now be disclosed. Figure 4 In this regard, reference has been made to the block diagram of the network node 200 in FIG. Figure 3The data flow block 310 , the data vector block 320 , the output vector block 360 , and the data Tx block 370 are described, and therefore, duplicate descriptions are omitted.
[0050] In general, in the precoding block 350, for a given data vector d[n] at a current time instant, the corresponding data vector d[m] at a previous time instant is searched in the lookup table 410.
[0051] There are different ways to populate a lookup table with data vectors. Generally speaking, output vectors are added to the lookup table along with their corresponding data vectors when determined by an optimization process (as indicated by optimization block 420). In this regard, there are different alternatives regarding when to populate the lookup table with data vectors in terms of time. According to a first alternative, the lookup table is created immediately when the data vector is precoded into the output vector. That is, in some embodiments, the optimization process is performed as the data vector is precoded. When no data vectors from a previous moment that are collinear with the data vector at the current moment can be found when the data vector at the current moment is to be precoded (indicated by an unavailable output vector marked with an arrow), the optimization process is performed on the data vector at the current moment, and then the data vector at the current moment is added to the lookup table via mapping block 430 (indicated by the storage indicated by the arrow). Furthermore, when no data vectors from a previous moment that are collinear with the data vector at the current moment can be found when the data vector at the current moment is to be precoded, the output vector for the current moment is also determined by the optimization process. According to a second alternative, the lookup table is predetermined. That is, in some embodiments, the optimization process is performed before any data vectors are precoded. When the data vector at the current moment is to be precoded, a data vector at the previous moment that is collinear with the data vector at the current moment can always be found. The available output vectors marked by arrows indicate that the output vector has already been determined for the data vector at the current moment (either by table lookup or by optimization).
[0052] To reduce the computational resources required to perform the optimization process, in some examples, the optimization process is performed only on a reduced subset of all possible data vectors. That is, in some embodiments, the optimization process is performed only on a reduced subset of all possible data vectors, and output vectors are generated only for this reduced subset of all possible data vectors. When the optimization process is performed only on the reduced subset of all possible data vectors, the output vectors for all possible data vectors can be found by being collinear with the output vectors for the reduced subset of all possible data vectors. Further aspects of how to perform the optimization process only on a reduced subset of all possible data vectors will be disclosed below.
[0053] There may be different input parameters to the optimization process. In some non-limiting examples, the optimization process takes as input: a data vector at the current time instant, a set of candidate output vectors, channel state information for each user 160a, 160b at the current time instant, a signal-to-noise ratio (SNR) target for each user 160a, 160b at the current time instant, and a modulation assignment for each user 160a, 160b at the current time instant. Figure 3 and Figure 4 In the block diagram of , the input parameters to the optimization process are represented by the SNR target and modulation allocation blocks and the CSI acquisition block.
[0054] In some aspects, the optimization process is constrained by which constellation region the output vector is to be received in. Below, the constraints on constellation region will be referred to as constraints C1 and C2.
[0055] In some aspects, the optimization process involves determining a value for each user 160a, 160b at the current time instant, denoted as θ j The rotation optimization needs to be performed once per coherence and, in contrast to precoding, does not change from one symbol to the next.
[0056] Example embodiments will now be disclosed in which the lookup table is built on the fly as data vectors are precoded into output vectors, and in which the optimization process does not involve determining constellation rotations.
[0057] That is, in this example embodiment, the optimal constellation rotation for each user 160a, 160b is not found. One reason for this is that for each input data vector, an optimal output vector can be found, but no phase is found that is valid for all input data vectors. The number of possible output vector operations for each channel implementation is equal to However, according to this example embodiment, by exploiting collinearity, the number of operations can be reduced to one-fourth without compromising any achieved power savings or performance. Exploiting constellation symmetry, the output vector (x[n], x[m]) can be found by exploiting the relationship (i.e., collinearity) between the two data vectors (d[n], d[m]).
[0058] If d[m] = ζ·d[n], where ζ∈{1,-1,i,-i}, the output vector should have the following relationship x[m] = ζ·x[n]. Or, in other words, if a previously precoded data vector d[m] can be found (for which d[m] = ζ·d[n]), the output vector at the current moment is determined to be x[n] = ζ·x[m].
[0059] The optimization problem for finding the output vector x[n] can be formulated as
[0060] Make
[0061]
[0062] Here, the symbol Used to refer to a vector a being in a certain quadrant b in the constellation diagram, where b∈{1,2,3,4}.
[0063] As an example, assume that there are two users 160a, 160b and that 4-QAM is used to assign constellation points to each of the users. Therefore, the total number of all possible data vectors is 16, which results in solving 16 optimization problems with either 4 constraints or one optimization problem with 64 constraints. However, by exploiting collinearity, consider the problem as given by the set F reduced Four data vectors are sufficient, where:
[0064]
[0065] The remaining data vectors can be obtained from F by multiplying them by the collinearity factor ζ∈{1,-1,i,-i} reduced Generate, and this will F full The full space in (i.e., all possible symbol combinations) is generated as:
[0066]
[0067] This reduces the number of output vectors to be optimized, since reduced Instead of F full It is enough to optimize.
[0068] exist Figure 5 The graphical interpretation is depicted in the in-phase (I) and quadrature (Q) plots of . In this example, the input data vector is Figure 5 Depicted in (a) And the corresponding output vector x[1] is Figure 5 (b) shows that the two output vector components Located in the second quadrant. Figure 5 (c) depicts the input data vector Therefore, d[1] = -d[2]. Therefore, the corresponding output vector x[2] can be determined as x[2] = -x[1]. The output vector x[2] is Figure 5 (d) shows that it is in the fourth quadrant because x[2] is the reflection of x[1]. Further, if d[2] = ±id[1], this yields x[2] = ±ix[1].
[0069] An example embodiment will now be disclosed in which a lookup table is predetermined and an optimization process is involved in determining the constellation rotation.
[0070] refer to Figure 6 , which shows a block diagram of detailed lookup table generation in terms of lookup table generation block 610. Figure 3 and Figure 4 In
[0045] , inputs are provided from the SNR target and modulation assignment block 330 and from the CSI acquisition block 340. A description of these blocks is therefore omitted.
[0071] Using the modulation assigned to each user, the data vector block 620 generates a reduced subset of possible data vectors. The reduced subset of possible data vectors as generated by the efficient channel generation block 630, the efficient channel value, and the constellation rotation decision (yes or no) as provided by the rotation decision block 640 are provided to the optimization block 650. The efficient channel can be modeled as Among them I N is the identity matrix of size N, where N is the number of data vectors included in the optimization problem. Depending on the rotation decision (yes or no), the optimization problem to be solved needs to be decided. In the absence of rotation, the optimization is A quadratic problem with affine constraints. This optimization problem is a second-order conic programming optimization problem. In the case of rotations, the optimization problem is a quadratic problem with bilinear and constant modulus constraints. This problem can be solved using branch and bound in combination with semidefinite programming.
[0072] Energy efficiency can be improved by either optimizing only the output vector or jointly optimizing the constellation rotation and the output vector for each user. This allows the phase θ for each user j to be j , which is efficient for all possible input data vector possibilities because all of them are included in a single optimization problem. However, the optimization only needs to be performed for a reduced subset of possible data vectors, provided that output vectors can still be generated for the full set of all possible data vectors. To ensure that, it is necessary to identify a minimal subset from which the entire space of data vectors and output vectors can be drawn. An example is the following subset:
[0073]
[0074] The importance of constellation rotation comes from aligning the interferometric symbols to push the correct symbol deeper into its correct detection region, which allows the interferometer to act as an additional energy source. With such a streamlined subset F, only a single optimization problem with NK / 2 constraints instead of 2NK needs to be solved (where N is the total number of available data vectors). Therefore, the optimization problem for finding the output vector x[n] can be formulated as:
[0075] Make
[0076]
[0077] To solve this optimization problem, all vectors x[n] can be stacked into a single vector x v In, as follows:
[0078] x v =[x[1] T , ..., x[N] T ] T
[0079] The optimization problem can then be expressed as:
[0080] Make
[0081]
[0082] Then, using semidefinite programming, the optimization problem can be further expressed as:
[0083] Make
[0084]
[0085] x j =x v exp(iθ j )
[0086]
[0087] Therefore, X is a semidefinite matrix. When the rank of X is equal to 1, this optimization problem can be solved by using an iterative branch and bound algorithm. The solution will be the eigenvector of X with the largest eigenvalue, and since it is rank one, there will be eigenvalues that are not equal to zero. The matrix X can be decomposed into:
[0088] X=λe e H
[0089] where λ is the maximum eigenvalue and e is the eigenvector. The optimal value x v Can be found as You can use α j =e H x j Solve the optimal phase θ for each user j j , and then determine the phase as θ j =∠(α j). After finding the output vector x[n] for the reduced subset of possible data vectors, each data vector d[n] in the reduced subset of possible data vectors is shaped in a shaping block 660. The shaping block 660 is configured to reassign each data vector to a corresponding output vector. In this regard, the solution x[n] v represents a stacked, concatenated version of the solution, and thus x[n] needs to be mapped to its corresponding data vector d[n]. The thus shaped subset of possible data vectors is then mapped to its corresponding output vector in a mapping block 670, and the output vectors for the remaining data vectors (i.e., the data vectors excluded from the reduced subset) are then determined based on collinearity in a complete lookup table block 680. That is, if d[m] = ζ·d[n], where ζ∈{1, -1, I, -I}, the output vector should be x[n] = ζ·x[m].
[0090] Figure 7 The simulation results of ideal channel state information fed back by the user to the transmitter are shown in FIG. The number of antennas at the (radio) access network node is two, and the number of users is two. It is assumed that the spatial correlation |a| among the antennas at the (radio) access network node is 0.9. Figure 7 The transmit power required to achieve a certain signal to interference plus noise ratio (SINR) target at the receiver side is shown in . A comparison of the power savings that can be achieved between optimal conventional beamforming, denoted as OB, and symbol-level precoding according to the embodiments disclosed herein, denoted as SLP and SLPRo, is made. SLP refers to symbol-level precoding without rotation optimization, and SLPRo refers to joint optimization of output vector and phase rotation. It can be seen that the symbol-level precoding disclosed herein outperforms conventional precoding. The power savings of SLP are approximately 2.1 dB compared to OB, and SLPRo has power savings of approximately 5.9 dB and 3.8 dB compared to OB and SLP, respectively. SLPRo optimizes the phase with which each user receives its data and output vector, which increases the chance of having constructive interference.
[0091] In summary, the power consumption problem in the downlink of a multi-user MISO system has been addressed, as well as the complexity issues arising from a large number of constraints or multiple optimization problems.
[0092] First, the embodiments disclosed herein enable a reduction in required computations by reducing the number of constraints or optimization problems to be solved. By exploiting constellation symmetry, the number of input data vectors (for which corresponding output vectors need to be optimized) can be cut by a factor of four. This can reduce the algorithm complexity by a factor of four and, therefore, require less execution time and computational power than conventional SLP schemes without sacrificing any achieved transmit power savings.
[0093] Secondly, the embodiments disclosed herein enable increased energy efficiency by enabling per-user constellation rotation optimization. This improves interference utilization at the user by more efficiently aligning the interfering symbols to push the signal deeper into correct detection. To exploit multi-user interference at the receiver and convert it into useful power, symbol-level precoding is employed by jointly utilizing data information and channel state information.
[0094] According to the embodiments disclosed herein, the constellation rotation and transmitted symbol-level precoding for each user's data information are jointly optimized. One purpose of constellation rotation is to increase the probability of constructive interference and, therefore, achieve better energy efficiency. The optimized phase rotation varies with the CSI, but the output vector varies with the input data vector. Each user can be informed of or estimate the phase rotation of its constellation to ensure correct detection of the delivered data. Therefore, no additional processing is required at the receiver.
[0095] Figure 8 The components of the network node 200 according to an embodiment are schematically shown in terms of a number of functional units. The processing circuit 210 is provided using any combination of one or more of the following: being able to execute a computer program product 1010 (e.g., stored in a storage medium 230) Figure 10 The processing circuit 210 may be a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP) that executes software instructions in accordance with the present invention (as shown in FIG). The processing circuit 210 may further be provided as at least one application specific integrated circuit (ASIC) or field programmable gate array (FPGA).
[0096] In particular, the processing circuit 210 is configured to cause the network node 200 to perform a set of steps or operations as disclosed above. For example, the storage medium 230 may store the set of operations, and the processing circuit 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the network node 200 to perform the set of operations. The set of operations may be provided as a set of executable instructions.
[0097] Thus, the processing circuit 210 is thereby arranged to perform the method as disclosed herein. The storage medium 230 may also include a persistent storage device, which may be, for example, any single or combination of the following: magnetic storage, optical storage, solid-state storage, or even remotely mounted storage. The network node 200 may further include a communication interface 220, which is configured at least for communicating with other entities, functional nodes, and devices of the communication network 100. As such, the communication interface 220 may include one or more transmitters and receivers, which may include analog and digital components.
[0098] Processing circuitry 210 controls the general operation of network node 200, for example, by sending data and control signals to communication interface 220 and storage medium 230, receiving data and reports from communication interface 220, and retrieving data and instructions from storage medium 230. Other components of network node 200 and related functionality are omitted so as not to obscure the concepts presented herein.
[0099] Figure 9 The components of the network node 200 according to the embodiment are schematically shown in terms of a plurality of functional modules. Figure 9 The network node 200 includes multiple functional modules: an obtaining module 210a configured to perform step S102 and a precoding module 210b configured to perform step S104. Figure 9 The network node 200 may further include a plurality of optional functional modules, such as a transmission module 210c configured to perform step S106. In general, each functional module 210a-210c may be implemented solely with hardware in one embodiment, and with the help of software in another embodiment, i.e., the latter embodiment has computer program instructions stored on the storage medium 230, which, when executed on the processing circuit, causes the network node 200 to perform the above-mentioned steps in conjunction with the above-mentioned steps. Figure 9 The corresponding steps mentioned. It should also be mentioned that even if the modules correspond to parts of a computer program, they do not need to be separate modules therein, but the way they are implemented in software depends on the programming language used. Preferably, one or more or all of the functional modules 210a-210c can be implemented by the processing circuit 210 (possibly in cooperation with the communication interface 220 and / or the storage medium 230). Thus, the processing circuit 210 can be configured to retrieve instructions as provided by the functional modules 210a-210c from the storage medium 230 and execute these instructions, thereby performing any of the steps disclosed herein.
[0100] The network node 200 may be provided as a standalone device or as part of at least one other device. For example, the network node 200 may be provided in a node of a radio access network or in a node of a core network. Alternatively, the functionality of the network node 200 may be distributed between at least two devices or nodes. These at least two nodes or devices may be part of the same network portion (such as a radio access network or a core network) or may be distributed between at least two such network portions. Generally speaking, instructions requiring real-time execution may be executed in a device or node that is operatively closer to a cell than instructions not requiring real-time execution.
[0101] Thus, a first portion of the instructions executed by the network node 200 may be executed in a first device, and a second portion of the instructions executed by the network node 200 may be executed in a second device; the embodiments disclosed herein are not limited to any particular number of devices on which the instructions executed by the network node 200 may be executed. Thus, methods according to embodiments disclosed herein are suitable for execution by a network node 200 residing in a cloud computing environment. Thus, although Figure 8 A single processing circuit 210 is shown in FIG, but the processing circuit 210 may be distributed among multiple devices or nodes. The same applies to Figure 9 Functional modules 210a-210c and Figure 10 Computer program 1020.
[0102] Figure 10 An example of a computer program product 1010 including a computer-readable storage medium 1030 is shown. Computer-readable storage medium 1030 can store a computer program 1020 that can cause processing circuit 210 and entities and devices operatively coupled thereto (such as communication interface 220 and storage medium 230) to perform methods according to the embodiments described herein. Computer program 1020 and / or computer program product 1010 can thus provide means for performing any of the steps disclosed herein.
[0103] exist Figure 10 In the example of , computer program product 1010 is shown as an optical disc, such as a CD (Compact Disc) or a DVD (Digital Versatile Disc) or a Blu-ray Disc. Computer program product 1010 may also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM) or an electrically erasable programmable read-only memory (EEPROM), and more particularly as a non-volatile storage medium of a device in an external memory, such as a USB (Universal Serial Bus) memory or a flash memory, such as a compact flash memory. Thus, although computer program 1020 is schematically shown here as a track on the depicted optical disc, computer program 1020 can be stored in any manner suitable for computer program product 1010.
[0104] Figure 11 is a schematic diagram showing a telecommunication network according to some embodiments connected to a host computer 1130 via an intermediate network 1120. According to an embodiment, the communication system comprises a telecommunication network 1110, such as a cellular network of the 3GPP type), comprising an access network 1111, such as Figure 1 (Radio) access network 110 in ), and core network 1114 (such as Figure 1The access network 1111 includes a plurality of radio access network nodes 1112a, 1112b, 1112c, such as NB, eNB, gNB (each of which corresponds to Figure 1 113c). Each radio access network node 1112a, 1112b, 1112c may be connected to a core network 1114 via a wired or wireless connection 1115. A first UE 1191 located in the coverage area 1113c is configured to be wirelessly connected to or paged by the corresponding network node 1112c. A second UE 1192 in the coverage area 1113a may be wirelessly connected to the corresponding network node 1112a. Although multiple UEs 1191, 1192 are shown in this example, the disclosed embodiments are equally applicable to situations where a single UE is located in the coverage area or where a single terminal device is connected to the corresponding network node 1112. The UEs 1191, 1192 correspond to Figure 1 users 160a, 160b.
[0105] Telecommunications network 1110 itself is connected to a host computer 1130, which may be implemented in hardware and / or software as a standalone server, a cloud-based server, a distributed server, or as a processing resource in a server farm. Host computer 1130 may be owned or controlled by a service provider, or may be operated by or on behalf of a service provider. Connections 1121 and 1122 between telecommunications network 1110 and host computer 1130 may extend directly from core network 1114 to host computer 1130, or may pass through an optional intermediate network 1120. Intermediate network 1120 may be one of a public, private, or managed network, or a combination of more than one of these networks; intermediate network 1120 (if any) may be a backbone network or the Internet; in particular, intermediate network 1120 may include two or more subnetworks (not shown).
[0106] Figure 11The communication system as a whole enables connectivity between connected UEs 1191, 1192 and a host computer 1130. This connectivity can be described as an over-the-top (OTT) connection 1150. The host computer 1130 and the connected UEs 1191, 1192 are configured to communicate data and / or signaling via the OTT connection 1150, using the access network 1111, the core network 1114, any intermediate networks 1120, and possibly additional infrastructure (not shown) as intermediaries. The OTT connection 1150 can be transparent in the sense that the participating communication devices through which the OTT connection 1150 passes are unaware of the routing of uplink and downlink communications. For example, the network node 1112 may not be informed, or need not be informed, of the past routing of incoming downlink communications having data originating from the host computer 1130 to be forwarded (e.g., handed over) to the connected UE 1191. Similarly, network node 1112 need not be aware of future routing of outgoing uplink communications originating from UE 1191 toward host computer 1130 .
[0107] Figure 12 is a schematic diagram illustrating a host computer communicating with a UE via a radio access network node over a partially wireless connection according to some embodiments. Figure 12 Describe an exemplary implementation of the UE, radio access network node, and host computer discussed in the previous paragraphs according to an embodiment. In the communication system 1200, the host computer 1210 includes hardware 1215, which includes a communication interface 1216, and the communication interface 1216 is configured to establish and maintain a wired or wireless connection to the interface of different communication devices of the communication system 1200. The host computer 1210 also includes a processing circuit 1218, which may have storage and / or processing capabilities. In particular, the processing circuit 1218 may include one or more programmable processors, application-specific integrated circuits, field programmable gate arrays, or a combination of these (not shown) suitable for executing instructions. The host computer 1210 also includes software 1211, which is stored in the host computer 1210 or can be accessed by the host computer 1210 and can be executed by the processing circuit 1218. The software 1211 includes a host application 1212. The host application 1212 may be operable to provide services to a remote user, such as a UE 1230 connected via an OTT connection 1250 terminating between the UE 1230 and the host computer 1210. The UE 1230 corresponds to Figure 1 When providing services to remote users, the host application 1212 may provide user data transmitted using the OTT connection 1250.
[0108] The communication system 1200 also includes a radio access network node 1220 that is provided in the telecommunications system and includes hardware 1225 that enables the radio access network node 1220 to communicate with the host computer 1210 and to communicate with the UE 1230. The radio access network node 1220 corresponds to Figure 1 The hardware 1225 may include: a communication interface 1226 for establishing and maintaining a wired or wireless connection with an interface of different communication devices of the communication system 1200; and a radio interface 1227 for establishing and maintaining a connection with a network located in a coverage area ( Figure 12 1270 to the UE 1230 in the communication interface 1226. The communication interface 1226 may be configured to facilitate a connection 1260 to the host computer 1210. The connection 1260 may be a direct connection, or it may pass through the core network ( Figure 12 The radio access network node 1220 may also include hardware 1225 (not shown) and / or one or more intermediate networks outside the telecommunications system. In the illustrated embodiment, the hardware 1225 of the radio access network node 1220 also includes processing circuitry 1228, which may include one or more programmable processors, application specific integrated circuits, field programmable gate arrays, or a combination thereof (not shown) adapted to execute instructions. The radio access network node 1220 also includes software 1221, which may be stored internally or accessible via an external connection.
[0109] Communication system 1200 also includes the aforementioned UE 1230. Its hardware 1235 may include a radio interface 1237 configured to establish and maintain a wireless connection 1270 with a radio access network node serving the coverage area in which UE 1230 is currently located. UE 1230's hardware 1235 also includes processing circuitry 1238, which may include one or more programmable processors, application-specific integrated circuits, field-programmable gate arrays, or a combination thereof (not shown) adapted to execute instructions. UE 1230 also includes software 1231, which is stored in or accessible to UE 1230 and executable by processing circuitry 1238. Software 1231 includes client applications 1232. Client applications 1232 may be operable to provide services to human or non-human users via UE 1230 under the support of host computer 1210. In the host computer 1210, a host application 1212 executing therein can communicate with a client application 1232 executing therein via an OTT connection 1250 terminating at the UE 1230 and the host computer 1210. When providing a service to a user, the client application 1232 can receive request data from the host application 1212 and provide user data in response to the request data. The OTT connection 1250 can transmit both the request data and the user data. The client application 1232 can interact with the user to generate the user data it provides.
[0110] Notice that Figure 12 The host computer 1210, radio access network node 1220 and UE 1230 shown in FIG. Figure 11 The host computer 430, one of the network nodes 412a, 412b, 412c and one of the UEs 491, 492 are similar or identical. That is, the internal workings of these entities may be similar to Figure 12 As shown in , and independently, the surrounding network topology can be Figure 11 network topology.
[0111] exist Figure 12 In FIG, OTT connection 1250 is abstractly drawn to illustrate communication between host computer 1210 and UE 1230 via network node 1220, without explicitly mentioning any intermediary devices and the precise routing of messages via these devices. The network infrastructure can determine the routing, and it can be configured to hide the routing from UE 1230, hide the routing from the service provider operating host computer 1210, or hide the routing from both. While OTT connection 1250 is active, the network infrastructure can further make decisions that dynamically change the routing (e.g., based on load balancing considerations or reconfiguration of the network).
[0112] The wireless connection 1270 between the UE 1230 and the radio access network node 1220 is consistent with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of over-the-top (OTT) services provided to the UE 1230 using the OTT connection 1250, with the wireless connection 1270 forming the final leg. More specifically, the teachings of these embodiments can reduce interference due to improved classification capabilities for over-the-air UEs that can cause significant interference.
[0113] A measurement process may be provided for the purpose of monitoring data rates, latency, and other factors improved by one or more of the embodiments. Optional network functionality may also be present for reconfiguring the OTT connection 1250 between the host computer 1210 and the UE 1230 in response to changes in measurement results. The measurement process and / or the network functionality for reconfiguring the OTT connection 1250 may be implemented in the software 1211 and hardware 1215 of the host computer 1210, or in the software 1231 and hardware 1235 of the UE 1230, or in both. In an embodiment, a sensor (not shown) may be deployed in or associated with a communication device through which the OTT connection 1250 passes; the sensor may participate in the measurement process by providing values of the monitored quantities exemplified above or by providing values of other physical quantities, from which the software 1211, 1231 may calculate or estimate the monitored quantities. Reconfiguration of the OTT connection 1250 may include message formats, retransmission settings, preferred routes, and the like; such reconfiguration need not affect the network node 1220 and may be unknown or imperceptible to the radio access network node 1220. Such processes and functionality may be known and implemented in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates host computer 1210 measurements of throughput, propagation time, latency, and the like. Measurements may be achieved because software 1211 and 1231 causes messages (specifically, empty or "dummy" messages) to be transmitted using the OTT connection 1250 while software 1211 and 1231 monitors propagation time, errors, and the like.
[0114] The inventive concept has mainly been described above with reference to a few embodiments. However, as readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept as defined by the appended patent claims.
Claims
1. A method for downlink symbol-level precoding as part of multi-user MISO communication, the method being performed by a network node (200), the method comprising: Obtain (S102) a data vector d[n] at a current time instant n to be precoded, wherein the data vector comprises data symbols d1[n], ..., d1[n] for K>1 users (160a, 160b) K [n], and wherein the current moment corresponds to a single symbol; as well as The data vector obtained by precoding (S104) is determined by determining the output vector x[n] of the data vector for the current moment n, wherein determining the output vector for the current moment includes searching for a data vector d[m] at a previous moment m that is collinear with the data vector at the current moment according to a collinearity factor, and when such a data vector at the previous moment is found, the output vector is equal to the output vector x[m] at the previous moment multiplied by the collinearity factor.
2. The method according to claim 1, further comprising: The output vector at the current moment is transmitted (S106) in the downlink.
3. The method according to claim 1 or 2, wherein: When the data vector at the current moment is equal to the collinearity factor ζ multiplied by the data vector at the previous moment, the data vector at the previous moment is collinear with the data vector at the current moment.
4. The method according to claim 3, wherein: The collinearity factor takes a value in the set Z={1,-1,i,-i}.
5. The method according to claim 1 or 2, wherein: The data vector of the previous time instant is searched among the data vectors in the lookup table.
6. The method according to claim 5, wherein: When determined by the optimization process, the output vectors are added to the lookup table along with their corresponding data vectors.
7. The method according to claim 6, wherein: The optimization process takes as input the data vector at the current time instant, a set of candidate output vectors, channel state information for each user (160a, 160b) at the current time instant, a signal-to-noise ratio target for each user (160a, 160b) at the current time instant, and a modulation assignment for each user (160a, 160b) at the current time instant.
8. The method according to claim 6 or 7, wherein: The optimization process is subject to the constraint of the constellation region in which the output vector is to be received.
9. The method according to any one of claims 6 or 7, wherein The optimization process involves determining the constellation rotation θ for each user (160a, 160b) at the current time instant j .
10. The method according to claim 6, wherein: The optimization process is performed only on a reduced subset of all possible data vectors, and output vectors are generated only for the reduced subset of all possible data vectors.
11. The method according to claim 10, wherein: The output vectors for all possible data vectors are found by being collinear with the output vectors for the reduced subset of all possible data vectors.
12. The method according to claim 11, wherein When any data vector at a previous time instant cannot be found to be collinear with the data vector at the current time instant when the data vector at the current time instant is to be precoded, the optimization process is performed as the data vector is precoded.
13. The method according to claim 12, wherein: The output vector at the current moment is determined through the optimization process.
14. The method according to claim 6, wherein The optimization process is performed before any data vector is precoded, and wherein when the data vector at the current time instant is to be precoded, a data vector at a previous time instant can always be found that is collinear with the data vector at the current time instant.
15. A network node (200) for downlink symbol-level precoding as part of multi-user MISO communication, the network node (200) comprising processing circuitry (210) configured to cause the network node (200) to: Obtain a data vector d[N] at a current time instant n to be precoded, wherein the data vector includes data symbols d1[N], ..., d1[N] for K>1 users (160a, 160b) K [N], and wherein the current moment corresponds to a single symbol; and The obtained data vector is pre-encoded by determining an output vector x[n] for the data vector at the current moment n, wherein determining the output vector for the current moment includes searching for a data vector d[m] at a previous moment m that is collinear with the data vector at the current moment according to a collinearity factor, and when such a data vector at the previous moment is found, the output vector is equal to the output vector x[m] at the previous moment multiplied by the collinearity factor.
16. The network node (200) according to claim 15, wherein The network node is further configured to perform the method according to any one of claims 2 to 14.
17. A computer program (1020) for downlink symbol level precoding as part of multi-user MISO communication, the computer program comprising computer program code which, when executed on processing circuitry (210) of a network node (200), causes the network node (200) to: Obtain (S102) a data vector d[n] at a current time instant n to be precoded, wherein the data vector comprises data symbols d1[n], ..., d1[n] for K>1 users (160a, 160b) K [n], and wherein the current moment corresponds to a single symbol; and The data vector obtained by precoding (S104) is determined by determining the output vector x[n] of the data vector for the current moment n, wherein determining the output vector for the current moment includes searching for a data vector d[m] at a previous moment m that is collinear with the data vector at the current moment according to a collinearity factor, and when such a data vector at the previous moment is found, the output vector is equal to the output vector x[m] at the previous moment multiplied by the collinearity factor.
18. A computer program product (1010) comprising a computer program (1020) according to claim 17 and a computer-readable storage medium (1030) on which the computer program is stored.
Citation Information
Patent Citations
Method and apparatus for transmitting uplink control information
CN102474376A
Method and device for symbol-level multiuser precoding
LU92862B1