Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SINGULAR VALUE DECOMPOSITION PRECONDING FOR WIRELESS COMMUNICATION
Document Type and Number:
WIPO Patent Application WO/2023/121647
Kind Code:
A1
Abstract:
In an example, channel matrices of sub carriers are obtained by a processor of a receiving device of orthogonal frequency-division multiplexing (OFDM). Each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition. A cost function is obtained by the processor based on at least one of first variations of the sets of candidate precoding matrices between the subcarriers, or second variations of the sets of candidate precoded channel matrices between the sub carriers. An optimal precoding matrix of each of the sub carriers is determined from the respective set of candidate precoding matrices based on the cost function. The antennas are controlled by the processor to transmit the optimal precoding matrices of the sub carriers to a transmitting device.

Inventors:
YAN AIGUO (US)
WANG YI-HSIU (US)
Application Number:
PCT/US2021/064407
Publication Date:
June 29, 2023
Filing Date:
December 20, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZEKU INC (US)
International Classes:
H04B7/02; H04J11/00; H04B7/04; H04B7/06
Foreign References:
US7676007B12010-03-09
US20130301751A12013-11-14
US20170222699A12017-08-03
US20210021307A12021-01-21
US20110085627A12011-04-14
Attorney, Agent or Firm:
ZOU, Zhiwei (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A receiving device of orthogonal frequency-division multiplexing (OFDM), comprising: antennas; a processor operatively coupled to the antennas; and memory storing instructions that, when executed by the processor, cause the processor to: determine channel matrices of subcarriers, wherein each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition; obtain a cost function based on at least one of (i) first variations of the sets of candidate precoding matrices between the subcarriers, or (ii) second variations of the sets of candidate precoded channel matrices between the subcarriers; determine an optimal precoding matrix of each of the subcarriers from the respective set of candidate precoding matrices based on the cost function; and control the antennas to transmit the optimal precoding matrices of the subcarriers to a transmitting device.

2. The receiving device of claim 1, wherein the cost function is based on at least one of the first variations or the second variations between every two adjacent subcarriers of the subcarriers.

3. The receiving device of claim 1, wherein the cost function is based on at least one of the first variations or the second variations between each of the subcarriers and a reference subcarrier of the subcarriers.

4. The receiving device of claim 1, wherein the cost function is based on at least one of the first variations or the second variations between any two subcarriers of the subcarriers.

5. The receiving device of claim 1, wherein the cost function is further based on at least one of a first weight of the first variations, or a second weight of the second variations.

27

6. The receiving device of claim 5, wherein at least one of the first weight or the second weight varies based on the respective subcarrier.

7. The receiving device of claim 1 , wherein execution of the instructions further causes the processor to: control the antennas to receive channel sounding signals over the subcarriers from the transmitting device; and determine the channel matrices of the subcarriers based on the channel sounding signals.

8. The receiving device of claim 1, wherein the set of candidate precoded channel matrices is determined by the set of candidate precoding matrices and the respective channel matrix.

9. The receiving device of claim 1 , wherein to determine the optimal precoding matrix, execution of the instructions causes the processor to: calculate the at least one of the first variations or the second variations; and minimize the cost function, such that a sum of the at least one of the first variations or the second variations is minimized.

10. The receiving device of claim 9, wherein a portion of the at least one of the first variations or the second variations is calculated in parallel between the subcarriers.

11. A method for orthogonal frequency-division multiplexing (OFDM) implemented by a receiving device comprising antennas and a processor, the method comprising: determining, by the processor, channel matrices of subcarriers, wherein each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition; obtaining, by the processor, a cost function based on at least one of (i) first variations of the sets of candidate precoding matrices between the subcarriers, or (ii) second variations of the sets of candidate precoded channel matrices between the subcarriers; determining, by the processor, an optimal precoding matrix of each of the subcarriers from the respective set of candidate precoding matrices based on the cost function; and controlling, by the processor, the antennas to transmit the optimal precoding matrices of the subcarriers to a transmitting device.

12. The method of claim 11, wherein the cost function is based on at least one of the first variations or the second variations between every two adjacent subcarriers of the subcarriers.

13. The method of claim 11, wherein the cost function is based on at least one of the first variations or the second variations between each of the subcarriers and a reference subcarrier of the subcarriers.

14. The method of claim 11, wherein the cost function is further based on at least one of a first weight of the first variations, or a second weight of the second variations.

15. The method of claim 14, wherein at least one of the first weight or the second weight varies based on the respective subcarrier.

16. The method of claim 11, further comprising: controlling the antennas to receive channel sounding signals over the subcarriers from the transmitting device; and determining the channel matrices of the subcarriers based on the channel sounding signals.

17. The method of claim 11, wherein the set of candidate precoded channel matrices is determined based on the set of candidate precoding matrices and the respective channel matrix.

18. The method of claim 11, wherein determining the optimal precoding matrix comprises: calculating the at least one of the first variations or the second variations; and minimizing the cost function, such that a sum of the at least one of the first variations or the second variations is minimized.

19. The method of claim 18, wherein a portion of the at least one of the first variations or the second variations is calculated in parallel between the subcarriers.

20. A non-transitory computer-readable medium encoded with instructions that, when executed by a processor of a receiving device of orthogonal frequency-division multiplexing (OFDM), perform a process comprising: determining channel matrices of subcarriers, wherein each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition; obtaining a cost function based on at least one of (i) first variations of the sets of candidate precoding matrices between the subcarriers, or (ii) second variations of the sets of candidate precoded channel matrices between the subcarriers; determining an optimal precoding matrix of each of the subcarriers from the respective set of candidate precoding matrices based on the cost function; and controlling transmitting the optimal precoding matrices of the subcarriers to a transmitting device.

Description:
SINGULAR VALUE DECOMPOSITION PRECODING FOR WIRELESS COMMUNICATION

BACKGROUND

[0001] Embodiments of the present disclosure relate to apparatus and method for wireless communication.

[0002] Wireless communication systems are widely deployed to provide various telecommunication services such as telephony, video, data, messaging, and broadcasts. Precoding is a generalization of beamforming to support multi-stream (or multi-layer) transmission in multiantenna wireless communications, such as the multi-input, multi-output (MIMO) schemes, which have been widely used in wireless communication systems. MIMO orthogonal frequency-division multiplexing (MIMO-OFDM) combines the MIMO scheme, which multiplies capacity by transmitting different signals over multiple antennas, and the OFDM technology, which divides a radio channel into a large number of closely-spaced orthogonal subcarriers to provide more reliable communications at high speeds.

SUMMARY

[0003] In one example, a receiving device of OFDM includes antennas, a processor operatively coupled to the antennas, and memory storing instructions. The instructions when executed by the processor, cause the processor to determine channel matrices of subcarriers. Each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition. The instructions when executed by the processor, also cause the processor to obtain a cost function based on at least one of first variations of the sets of candidate precoding matrices between the subcarriers, or second variations of the sets of candidate precoded channel matrices between the subcarriers. The instructions when executed by the processor, further cause the processor to determine an optimal precoding matrix of each of the subcarriers from the respective set of candidate precoding matrices based on the cost function, and control the antennas to transmit the optimal precoding matrices of the subcarriers to a transmitting device.

[0004] In another example, a method for OFDM implemented by a receiving device including antennas and a processor is disclosed. Channel matrices of subcarriers are obtained by the processor. Each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition. A cost function is obtained by the processor based on at least one of first variations of the sets of candidate precoding matrices between the subcarriers, or second variations of the sets of candidate precoded channel matrices between the subcarriers. An optimal precoding matrix of each of the subcarriers is determined from the respective set of candidate precoding matrices based on the cost function. The antennas are controlled by the processor to transmit the optimal precoding matrices of the subcarriers to a transmitting device.

[0005] In still another example, a non-transitory computer-readable medium is encoded with instructions that, when executed by a processor of a receiving device of OFDM, perform a process. The process includes determining channel matrices of subcarriers. Each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition. The process also includes obtaining a cost function based on at least one of first variations of the sets of candidate precoding matrices between the subcarriers, or second variations of the sets of candidate precoded channel matrices between the subcarriers. The process further includes determining an optimal precoding matrix of each of the subcarriers from the respective set of candidate precoding matrices based on the cost function, and controlling transmitting the optimal precoding matrices of the subcarriers to a transmitting device.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments of the present disclosure and, together with the description, further serve to explain the principles of the present disclosure and to enable a person skilled in the pertinent art to make and use the present disclosure.

[0007] FIG. 1 illustrates an exemplary wireless network, according to some embodiments of the present disclosure.

[0008] FIG. 2 illustrates a block diagram of an exemplary node, according to some embodiments of the present disclosure.

[0009] FIG. 3 illustrates an exemplary MIMO communication system, according to some embodiments of the present disclosure.

[0010] FIG. 4 illustrates a block diagram of an exemplary MIMO-OFDM communication system, according to some embodiments of the present disclosure [0011] FIG. 5 illustrates a block diagram of an exemplary de-precoding module in a MIMO-OFDM communication system, according to some embodiments of the present disclosure. [0012] FIG. 6A illustrates an exemplary sequential singular value decomposition (SVD) optimization scheme, according to some embodiments of the present disclosure.

[0013] FIG. 6B illustrates an exemplary parallel SVD optimization scheme, according to some embodiments of the present disclosure.

[0014] FIGs. 7A and 7B illustrate block diagrams of an exemplary apparatus including a host chip, a radio frequency (RF) chip, and a baseband chip implementing an SVD optimization scheme in software and hardware, respectively, according to some embodiments of the present disclosure.

[0015] FIG. 8 illustrates a flow chart of an exemplary method of OFDM, according to some embodiments of the present disclosure.

[0016] Embodiments of the present disclosure will be described with reference to the accompanying drawings.

DETAILED DESCRIPTION

[0017] Although specific configurations and arrangements are discussed, it should be understood that this is done for illustrative purposes only. A person skilled in the pertinent art will recognize that other configurations and arrangements can be used without departing from the spirit and scope of the present disclosure. It will be apparent to a person skilled in the pertinent art that the present disclosure can also be employed in a variety of other applications.

[0018] It is noted that references in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” “some embodiments,” “certain embodiments,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it would be within the knowledge of a person skilled in the pertinent art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

[0019] In general, terminology may be understood at least in part from usage in context. For example, the term “one or more” as used herein, depending at least in part upon context, may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures or characteristics in a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context. In addition, the term “based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.

[0020] Various aspects of wireless communication systems will now be described with reference to various apparatus and methods. These apparatus and methods will be described in the following detailed description and illustrated in the accompanying drawings by various blocks, modules, units, components, circuits, steps, operations, processes, algorithms, etc. (collectively referred to as “elements”). These elements may be implemented using electronic hardware, firmware, computer software, or any combination thereof. Whether such elements are implemented as hardware, firmware, or software depends upon the particular application and design constraints imposed on the overall system.

[0021] The techniques described herein may be used for various wireless communication networks, such as frequency division multiple access (FDMA) system, orthogonal frequency division multiple access (OFDMA) system, and other networks. The terms “network” and “system” are often used interchangeably. An OFDMA network may implement a radio access technology (RAT), such as Wi-Fi, Bluetooth®, or cellular (e.g., Long-Term Evolution (LTE) or New Radio (NR)). The techniques described herein may be used for the wireless networks and RATs mentioned above, as well as other wireless networks and RATs that are compatible with MIMO-OFDM.

[0022] The channel conditions across different transmitted signal streams (also known as “transmitted layers”) vary in time and frequency in known wireless MIMO communication systems. The frequency-domain channel matrix thus has to be estimated in actual applications. The estimation is normally very noisy. Therefore, many smoothing, filtering, and de-noising techniques are used to mitigate the impact of the noise and increase the accuracy and reliability of the channel estimates with the implicit assumption, which is often true for a real-life system, that the channel matrices are smooth and vary slowly between different subcarriers in MIMO-OFDM. [0023] Even this assumption may be true for channel matrix; however, in the context of precoding, such as SVD precoding, neither the precoding matrices derived from the channel matrices using SVD, nor the precoded channel matrices set based on the precoding matrices, can be guaranteed to be smooth and vary slowly between different subcarriers. For example, the WiFi standards over the last two decades have proposed multiple ways to minimize the negative impact of this issue, despite not providing any specific way to resolve this issue, i.e., how to limit the variations across subcarriers. Moreover, some known solutions of limiting the variations are based on intuitions, and consequently, sub-optimal.

[0024] Various embodiments in accordance with the present disclosure provide a systematic and generic way to determine a set of optimal precoding matrices from channel matrices of the subcarriers with minimized variations among different subcarriers during channel sounding. The solution provided herein can choose the most suitable precoding matrix for each subcarrier based on predefined optimization criteria from an infinite number of candidates derived using SVD, which limits the variations of precoding matrices between subcarriers as much as possible. The present disclosure further provides various examples of cost functions implementing the optimization criteria based on, for example, the difference between two adjacent subcarriers, the difference between any two subcarriers, or the difference between each subcarrier and a reference subcarrier. Moreover, the computation to solve the cost functions can be performed partially in parallel to reduce latency and power consumption.

[0025] In some embodiments, the receiving device feedbacks the optimal precoding matrices to the transmitting device, which are smooth and slowly changes among different subcarriers, with heavily decimated subcarrier indices to reduce the feedback overhead during channel sounding. Also, certain tones for channel estimation, such as high-efficiency, long training field (HE-LTF) or extreme high throughput, long training field (EHT-LTF), could be only transmitted at a set of decimated subcarrier indices. This would also greatly reduce the length of each HE-LTF/EHT-LTF and the overall HE-LTF/EHT-LTF portion, thereby reducing the feedback overhead as well. In some embodiments, the optimal precoded channel matrices determined based on the optimal precoding matrices enable the receiving device to continuously use various filtering, smoothing, and de-noise techniques to improve channel estimate quality. Further, if multiple adjacent precoded channel matrices have small variations, it is then possible to perform matrix manipulations once for multiple adjacent subcarriers, which would also significantly reduce computation load and power consumption.

[0026] FIG. 1 illustrates an exemplary wireless network 100, in which certain aspects of the present disclosure may be implemented, according to some embodiments of the present disclosure. As shown in FIG. 1, wireless network 100 may include a network of nodes, such as a user equipment (UE) 102, an access node 104, and a core network element 106. User equipment 102 may be any terminal device, such as a mobile phone, a desktop computer, a laptop computer, a tablet, a vehicle computer, a gaming console, a printer, a positioning device, a wearable electronic device, a smart sensor, or any other device capable of receiving, processing, and transmitting information, such as any member of a vehicle to everything (V2X) network, a cluster network, a smart grid node, or an Intemet-of-Things (loT) node. It is understood that user equipment 102 is illustrated as a mobile phone simply by way of illustration and not by way of limitation.

[0027] Access node 104 may be a device that communicates with user equipment 102, such as a wireless access point, a base station (BS), a Node B, an enhanced Node B (eNodeB or eNB), a next-generation NodeB (gNodeB or gNB), a cluster master node, or the like. Access node 104 may have a wired connection to user equipment 102, a wireless connection to user equipment 102, or any combination thereof. Access node 104 may be connected to user equipment 102 by multiple connections, and user equipment 102 may be connected to other access nodes in addition to access node 104. Access node 104 may also be connected to other user equipments. It is understood that access node 104 is illustrated by a radio tower by way of illustration and not by way of limitation. [0028] Core network element 106 may serve access node 104 and user equipment 102 to provide core network services. Examples of core network element 106 may include a home subscriber server (HSS), a mobility management entity (MME), a serving gateway (SGW), or a packet data network gateway (PGW). These are examples of core network elements of an evolved packet core (EPC) system, which is a core network for the LTE system. Other core network elements may be used in LTE and in other communication systems. In some embodiments, core network element 106 includes an access and mobility management function (AMF) device, a session management function (SMF) device, or a user plane function (UPF) device, of a core network for the NR. system. It is understood that core network element 106 is shown as a set of rack-mounted servers by way of illustration and not by way of limitation.

[0029] Core network element 106 may connect with a large network, such as the Internet 108, or another Internet Protocol (IP) network, to communicate packet data over any distance. In this way, data from user equipment 102 may be communicated to other user equipments connected to other access points, including, for example, a computer 110 connected to Internet 108, for example, using a wired connection or a wireless connection, or to a tablet 112 wirelessly connected to Internet 108 via a router 114. Thus, computer 110 and tablet 112 provide additional examples of possible user equipments, and router 114 provides an example of another possible access node. [0030] A generic example of a rack-mounted server is provided as an illustration of core network element 106. However, there may be multiple elements in the core network including database servers, such as a database 116, and security and authentication servers, such as an authentication server 118. Database 116 may, for example, manage data related to user subscription to network services. A home location register (HLR) is an example of a standardized database of subscriber information for a cellular network. Likewise, authentication server 118 may handle authentication of users, sessions, and so on. In the NR system, an authentication server function (AUSF) device may be the specific entity to perform user equipment authentication. In some embodiments, a single server rack may handle multiple such functions, such that the connections between core network element 106, authentication server 118, and database 116, may be local connections within a single rack.

[0031] It is understood that wireless network 100 may be implemented using different RATs at different scales. Besides cellular networks, such as LTE or NR systems, wireless network 100 may also include a wireless local area network (WLAN) that links various user equipments and access points without Internet 108 and core network element 106, such as Wi-Fi networks. Wireless network 100 may further includes a wireless personal area network (WPAN), such as Bluetooth® network or ZigBee network, which connects various user equipments within an individual person’s workspace.

[0032] As described below in detail, in some embodiments, MIMO-OFDM communication can be established between any suitable nodes in wireless network 100, such as between user equipments (e.g., 102, 110, or 112) or access points (e.g., 104 or 114), for sending and receiving data through a MIMO channel. A transmitting device may establish the MIMO channel with a receiving device (e.g., establishing a multipath communication link between multiple transmitting antennas and multiple receiving antennas) and transmit encoded symbols in multiple signal streams through the MIMO channel. During channel sounding, the receiving device can derive candidate precoding matrices from channel matrices of multiple subcarriers using SVD and then determine the optimal precoding matrices of the subcarriers based on a cost function that minimizes the variations of the precoding matrices and/or the variations of the precoded channel matrices between the subcarriers. The receiving device can then feedback the optimal precoded channel matrices to the transmitting device to allow the transmitting device to perform channel precoding based on the optimal precoding matrices.

[0033] Each of the elements of FIG. 1 may be considered a node of wireless network 100. More detail regarding the possible implementation of a node is provided by way of example in the description of a node 200 in FIG. 2. Node 200 may be configured as user equipment 102, access node 104, or core network element 106 in FIG. 1. Similarly, node 200 may also be configured as computer 110, router 114, tablet 112, database 116, or authentication server 118 in FIG. 1. As shown in FIG. 2, node 200 may include a processor 202, a memory 204, and a transceiver 206. These components are shown as connected to one another by a bus, but other connection types are also permitted. When node 200 is user equipment 102, additional components may also be included, such as a user interface (UI), sensors, and the like. Similarly, node 200 may be implemented as a blade in a server system when node 200 is configured as core network element 106. Other implementations are also possible.

[0034] Transceiver 206 may include any suitable device for sending and/or receiving data. Node 200 may include one or more transceivers, although only one transceiver 206 is shown for simplicity of illustration. An antenna 208 is shown as a possible communication mechanism for node 200. Multiple antennas and/or arrays of antennas may be utilized for MIMO communication. Other communication hardware, such as a network interface card (NIC), may be included as well. [0035] As shown in FIG. 2, node 200 may include processor 202. Although only one processor is shown, it is understood that multiple processors can be included. Processor 202 may include microprocessors, microcontrollers (MCUs), digital signal processors (DSPs), applicationspecific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functions described throughout the present disclosure. Processor 202 may be a hardware device having one or many processing cores. Processor 202 may execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Software can include computer instructions written in an interpreted language, a compiled language, or machine code. Other techniques for instructing hardware are also permitted under the broad category of software. [0036] As shown in FIG. 2, node 200 may also include memory 204. Although only one memory is shown, it is understood that multiple memories can be included. Memory 204 can broadly include both memory and storage. For example, memory 204 may include random-access memory (RAM), read-only memory (ROM), static RAM (SRAM), dynamic RAM (DRAM), ferroelectric RAM (FRAM), electrically erasable programmable ROM (EEPROM), CD-ROM or other optical disk storage, hard disk drive (HDD), such as magnetic disk storage or other magnetic storage devices, Flash drive, solid-state drive (SSD), or any other medium that can be used to carry or store desired program code in the form of instructions that can be accessed and executed by processor 202. Broadly, memory 204 may be embodied by any computer-readable medium, such as a non-transitory computer-readable medium.

[0037] Processor 202, memory 204, and transceiver 206 may be implemented in various forms in node 200 for performing MIMO-OFDM communication functions. In some embodiments, processor 202, memory 204, and transceiver 206 of node 200 are implemented (e.g., integrated) on one or more system-on-chips (SoCs). In one example, processor 202 and memory 204 may be integrated on an application processor (AP) SoC (sometimes known as a “host,” referred to herein as a “host chip”) that handles application processing in an operating system environment, including generating raw data to be transmitted. In another example, processor 202 and memory 204 may be integrated on a baseband processor (BP) SoC (sometimes known as a “modem,” referred to herein as a “baseband chip”) that converts the raw data, e.g., from the host chip, to signals that can be used to modulate the carrier frequency for transmission, and vice versa, which can run a real-time operating system (RTOS). In still another example, processor 202 and transceiver 206 (and memory 204 in some cases) may be integrated on a radio frequency (RF) SoC (sometimes known as a “transceiver,” referred to herein as an “RF chip”) that transmits and receives RF signals with antenna 208. It is understood that in some examples, some or all of the host chip, baseband chip, and RF chip may be integrated as a single SoC. For example, a baseband chip and an RF chip may be integrated into a single SoC that manages all the radio functions for cellular communication.

[0038] Various aspects of the present disclosure related to MIMO-OFDM with SVD precoding may be implemented as software and/or firmware elements executed by a generic processor in a baseband chip (e.g., a baseband processor). It is understood that in some examples, one or more of the software and/or firmware elements may be replaced by dedicated hardware components in the baseband chip, including integrated circuits (ICs), such as ASICs. [0039] FIG. 3 illustrates an exemplary MEMO communication system 300, according to some embodiments of the present disclosure. MIMO communication system 300 may be used between suitable nodes in wireless network 100. As shown in FIG. 3, MIMO communication system 300 may include a transmitting device 310, a receiving device 320, and a MIMO channel 330 (e.g., multipath communication links between the transmitting antennas and the receiving antennas). For example, transmitting device 310 and receiving device 320 each may be an example of user equipment 102, access node 104, or core network element 106 of wireless network 100 in FIG. 1. MIMO communication system 300 may be used for increasing the data transmission rate between transmitting device 310 and receiving device 320. Both transmitting device 310 and receiving device 320 may include a processor, a memory, and a transceiver, which may be examples of processor 202, memory 204, and transceiver 206 described above in detail, respectively, with respect to FIG. 2.

[0040] As shown in FIG. 3, transmitting device 310 may process the original data (e.g., process the input bits through various function stages of coding and interleaving, modulation, symbol mapping, and layer mapping and precoding) and may transmit the processed data (e.g., the encoded symbols) in multiple signal streams to receiving device 320 through MIMO channel 330. Receiving device 320 may receive the multiple transmitted signal streams and detect the original data (e.g., the decoded bits) through reverse processes, such as de-precoding, MIMO detection, demapping, and channel decoding.

[0041] As an example of MIMO communication system 300, FIG. 4 illustrates a detailed block diagram of an exemplary MIMO-OFDM communication system 400, according to some embodiments of the present disclosure. As shown in FIG. 4, transmitting device 310 may include a channel coding and interleaving module 412, a modulation module 414, a symbol mapping module 416, and a layer mapping and precoding module 418 for processing the original data to be transmitted.

[0042] For example, channel coding and interleaving module 412 may be configured to add extra bits (i.e., redundancy bits) to the original data (e.g., the input bits) for error detection purposes. Modulation module 414 (e.g., a quadrature amplitude modulation (QAM) modulation module) may be configured to modulate and combine different signals (e.g., different bitstreams) by modulating two carrier waves (e.g., out of phase with each other by 90°) using amplitude-shift keying (ASK) digital modulation scheme or amplitude modulation (AM) analog modulation scheme, and to add the two carrier waves together. Symbol mapping module 416 may be configured to map the combined signals to encoded symbols. Layer mapping and precoding module 418 may be configured to map the encoded symbols onto different signal streams/layers. For example, layer mapping and precoding module 418 may perform spatial multiplexing precoding where the encoded symbols on each signal stream/layer are pre-coded to a signal vector and transmitted via all transmitting antennas as described below in detail.

[0043] As illustrated in FIG. 3, transmitting device 310 may include M transmitting antennas (e.g., labeled Txl, Tx2, ..., TxM, respectively) for transmitting M transmitted signal streams, and receiving device 320 may include N receiving antennas (e.g., labeled Rxl, Rx2, ..., RxN respectively) for receiving N received signal streams. The channel matrix H of MIMO channel 330 may include M columns (e.g., corresponding to conditions of the M transmitted signal streams) and N rows (e.g., corresponding to conditions of the N receiving antennas).

[0044] For MIMO-OFDM communication system 400 that involves K OFDM subcarriers, the input/output relationship for the k-th subcarrier can be model by Equation (1). or in the short-handed matrix/vector form of Equation (2): ywxl(fc) = #Nx M (fc) Mxl(fc) + W Wxl (fc) (2), where k = 1, K, y(k) represents the signal vector of the k-th subcarrier received by receiving device 320, x(k) represents the signal vector of the k-th subcarrier transmitted by transmitting device 310, H(k) represents the channel matrix of the k-th subcarrier, and w(k) represents the noise vector of the k-th subcarrier in MIMO channel 330.

[0045] Referring back to FIG. 4, receiving device 320 may include a de-precoding module 422, a de-mapping module 426, and a channel decoding module 428 for reversing the transmitter processing operations (e.g., de-precoding, de-mapping, demodulation, decoding etc.) and may determine the original data transmitted by transmitting device 310 to generate the decoded bits. Receiving device 320 may also include a MIMO detection module 424 for detecting the transmitted signal vector based on the channel matrix and the received signal vector.

[0046] Consistent with the scope of the present disclosure, precoding is a generalization of beamforming to support multi-stream (or multi-layer) transmission in multi-antenna wireless communications, such as in MIMO-OFDM communication system 400. Precoding can involve preprocessing of the transmitted signal based on channel state information (CSI) of MIMO channel 330 by layer mapping and precoding module 418 of transmitting device 320 to improve performance and increase spectral efficiency. Precoding can be used to implement the superposition of multiple beams, including several different signal streams of information for spatial multiplexing. Precoding may be the transmitter signal processing needed to affect the received signal’s maximization to specific receiving antenna(s) while reducing the interference to all other receiving antenna(s) of receiving device 320.

[0047] Precoding can start with channel sounding that involves sending a channel sounding signal of the k-th subcarrier, i.e., a coded message (a.k.a. a sounding packet or a pilot signal), from transmitting device 310 to receiving device 320. De-precoding module 422 of receiving device 320 can determine the CSI of MIMO channel 330 based on the channel sounding signals and send back the CSI to transmitting device 310. The CSI can include a precoding matrix of the k-th subcarrier to be used by layer mapping and precoding module 418 of transmitting device 310 to set the precoded channel matrix of the k-th subcarrier for subsequent data transmission.

[0048] The CSI can be determined by de-precoding module 422 of receiving device 320 using various approaches including, for example, SVD. In some embodiments, the CSI includes a precoding matrix V(k) of the k-th subcarrier that can be derived from the channel matrix H(k) based on SVD. In linear algebra, SVD is a factorization of a real or complex matrix, which generalizes the eigendecomposition of a square normal matrix with an orthonormal eigenbasis to any M-by-N matrix, such as the channel matrix H(k). For example, de-precoding module 422 of receiving device 320 may perform SVD with channel matrix H( ) according to the economic form of SVD in Equation (3):

HNXM( ) = UNXT (k)S TxT k)(V MxT k)) H (3), where T = min ([AT, TV]), V(k) represents the precoding matrix of the k-th subcarrier, S(k) represents a Z-by-T diagonal matrix with denotes to the complex conjugate and transpose (a.k.a. Hermitian) for the matrix A. Since the {U, V} matrix pairs are not unique for a given H matrix according to SVD, as described below in detail, de-precoding module 422 of receiving device 330 can determine an optimal precoding matrix V(k) for the k-th subcarrier that can limit the variations of precoding matrix V(k) according to k as much as possible and feedback the optimal precoding matrix V(k) for the k-th subcarrier to transmitting device 310.

[0049] Layer mapping and precoding module 418 of transmitting device 310 can then perform precoding to data (e.g., encoded symbols) on each signal stream based on the optimal precoding matrix V(k) received from receiving device 320 during channel sounding, for example, according to Equation (4): xMxl(^) = ^MXT( TX1(7 (4), where d(k) represents the data (e.g., encoded symbols) of the k-th subcarrier to be pre-coded. Accordingly, Equation (2) can be transferred to Equation (5) below according to Equation (4): where H Ne (k) represents the precoded channel matrix of the k-th subcarrier for subsequent data transmission). That is, based on the optimal precoding matrix V(k), layer mapping and precoding module 418 of transmitting device 310 can set a new precoded channel matrix H New (k), which takes into consideration the CSI of MIMO channel 330, to replace the channel matrix H(k) of the k-th subcarrier in MIMO-OFDM communication system 400 to reduce interference.

[0050] As described above, in MIMO-OFDM communication system 400 that involve multiple subcarriers, although the channel matrix H(k) are smooth and vary slowly according to the subcarrier k, since the precoding matrix V(k) may not be smooth according to k due to the nature of SVD, both the precoding matrix V(k) and the precoded channel matrix H New (k) may not be smooth according to k. In other words, SVD precoding may hurt the smoothness of precoded channel matrices across multiple subcarriers. Since SVD can derive a variety of candidate precoding matrices of the k-th subcarrier, the smoothness of precoded channel matrices across multiple subcarriers can be optimized by choosing the right candidate precoding matrix of the k-th subcarrier according to a cost function. Consistent with the scope of the present disclosure, the variations of the precoding matrix V(k) and/or the variations of the precoded channel matrix H New (k) between multiple subcarriers can be used as the basis for setting the cost function to choose the optimal precoding matrices of multiple subcarriers to minimize the negative impact on the subcarrier smoothness in SVD precoding.

[0051] FIG. 5 illustrates a block diagram of exemplary de-precoding module 422 in MIMO-OFDM communication system 400, according to some embodiments of the present disclosure. As shown in FIG. 5, de-precoding module 422 may include a channel matrix module 502 and an SVD module 504. It is understood that in some examples, at least parts of de-precoding module 422, such as channel matrix module 502 and an SVD module 504, may be activated only during channel sounding, but not during normal data communication. Channel matrix module 502 may be configured to determine a channel matrix of a subcarrier, for example, during channel sounding of MEMO channel 330. In MIMO-OFDM communication system 400 that involves multiple subcarriers, channel matrix module 502 can determine a channel matrix of each subcarrier, i.e., channel matrices of the subcarriers, respectively. In some embodiments, channel matrix module 502 controls the receiving antennas of receiving device 320 to receive channel sounding signals over the subcarriers from transmitting device 310, and then determines the channel matrices of the subcarriers based on the channel sounding signals. For example, receiving device 320 may receive channel sounding signals in the form of sounding packets or pilot signals over multiple subcarriers as the received signal vectors y(k), and estimate the noise vectors w(k) of MEMO channel 330. Since channel sounding signals transmitted by transmitting device 310, i.e., transmitted signal vectors x(k) are known to receiving device 320, for example, according to standards, channel matrix module 502 of receiving device 320 may determine the channel matrices H(k) of the multiple subcarriers based on transmitted sounding signals, received sounding signals, and noise, for example, according to Equation (2) described above in detail.

[0052] SVD module 504 may be configured to determine the optimal SVD precoding matrices of the multiple subcarriers based on the MEMO channel matrices of the multiple subcarriers using SVD in combination with an optimization process. As shown in FIG. 5, SVD module 504 may include an SVD calculation unit 506, a precoding matrices (V) variation calculation unit 508, a precoded channel matrices (HV) variation calculation unit 510, and an optimization unit 512. SVD calculation unit 506 may be configured to perform SVD to decompose each channel matrix H of a respective subcarrier to obtain a set of candidate precoding matrices V of the respective subcarrier, for example, according to Equation (3) described above in detail. In some embodiments, the set of candidate precoding matrices 7(fc) of the k-th subcarrier is represented by Equation (6): where D(k) = diag([e-/ e i( k ) e ;0 2 (fc) ... e j0r(J<)]'), a unitary diagonal matrix with each angle arbitrary. That is, each channel matrix of a respective subcarrier may be associated with a set of candidate precoding matrices of the respective subcarrier based on SVD by SVD calculation unit 506.

[0053] SVD calculation unit 506 may be configured to calculate a set of candidate precoded channel matrices of the k-th subcarrier based on the channel matrix H(k) of the k-th subcarrier and the set of candidate precoding matrices V (fc) of the k-th subcarrier, for example, according to Equation (7):

That is, each channel matrix of a respective subcarrier may also be associated with a set of candidate precoded channel matrices of the respective subcarrier by SVD calculation unit 506.

[0054] V variation calculation unit 508 may be configured to receive sets of candidate precoding matrices of subcarriers from SVD calculation unit 506 and calculate the variations of candidate precoding matrices between the subcarriers. The variation of candidate precoding matrices between two subcarriers may be represented by the difference (e.g., distance) of two candidate precoding matrices of two corresponding subcarriers, which may further be represented in any suitable forms, such as the norm of the two candidate precoding matrices. For example, the variation of two candidate precoding matrices V(kk) and V(&2) of the k -th and kl-th subcarriers may be represented as ||7(fcl) — 7(fc2) || norm • It is understood that the variation may be represented in any other suitable forms in other examples.

[0055] Similarly, HV variation calculation unit 510 may be configured to receive sets of candidate channel precoding matrices of subcarriers from SVD calculation unit 506 and calculate the variations of candidate precoded channel matrices between the subcarriers. The variation of candidate channel precoding matrices between two subcarriers may be represented by the difference of two candidate precoded channel matrices of two corresponding subcarriers, which may further be represented in any suitable forms, such as the norm of the two candidate precoded channel matrices. For example, the variation of two candidate precoded channel matrices H New (kl') and H New (k2) of the k\-th and kZ-th subcarriers may be represented as || H New (kl~) — H New (k2) || norm- It is understood that the variation may be represented in any other suitable forms in other examples.

[0056] Optimization unit 512 may be configured to obtain a cost function 514 and determine an optimal precoding matrix of each of the subcarriers from the respective set of candidate precoding matrices based on cost function 514. Cost function 514 may be constructed in any suitable forms based on predefined optimization criteria with respect to the candidate precoding matrices. Consistent with the scope of the present disclosure, the optimization criteria include limiting the variations of the candidate precoding matrices and/or the variations of the candidate precoded channel matrices according to the subcarrier as much as possible. For example, the optimization criteria may include finding the most suitable V(k) such that the difference among different V(k) and/or the difference among different H'' e " k) are minimized according to cost function 514. Various examples of cost function 514 are described below in detail. In some embodiments, cost function 514 is a convex function to ensure a closed-form solution can be obtained based on the convex function.

[0057] Cost function 514 may be constructed based on the V variations of the sets of candidate precoding matrices between the subcarriers calculated by V variation calculation unit 508, and/or the HV variations of the sets of candidate precoded channel matrices between the subcarriers calculated by HV variation calculation unit 510. In some embodiments, the cost function is further constructed based on a V weight of the V variations and/or an HV weight of the HV variations. For example, the V weight or the HV weight may be zero such that cost function 514 may be constructed based on the V variations only (e.g., when the HV weight of the HV variations is zero) or based on the HV variations only (e.g., when the V weight of V variations is zero). In some embodiments, the V weight and/or the HV weight vary based on the respective subcarrier. In other words, the weights may not be constant values for different subcarriers. To determine the optimal precoding matrices, optimization unit 512 may be configured to minimize cost function 514, such that the sum of the V variations of all subcarriers and/or the sum of the HV variations of all subcarriers are minimized.

[0058] Besides the different ways of representing the variation between two matrices (e.g., based on matrix norm as described above) and the different weights assigned to different types of variations (e.g., the V variation and/or the HV variation), cost function 514 may be constructed based on different ways of representing two subcarriers. In some embodiments, cost function 514 is constructed based on every two adjacent subcarriers (e.g., the k-th subcarrier and the k+\-th subcarrier) of K subcarriers. In other words, the variation between two matrices of two adjacent subcarriers may be used as the basis for minimizing the overall variations among all the subcarriers. In one example, cost function 514 J may be constructed based on the V variations and/or the HV variations between every two adjacent subcarriers of the subcarriers, as well as the V weight and the HV weight, for example, according to Equation (8): where fk 2 represents the V weight, ||7(fc) — V(k + 1) || norm represents the V variation between two adjacent subcarriers k and k+\, a 2 represents the HV weight, ||W(fc)7(fc) — H(k + l)7(fc + 1) II norm represents the HV variation between two adjacent subcarriers k and k+\, and D(k) = diag([ e -/ e i( k ) e jO 2 W ... gjOrWy), [0059] To obtain the optimal precoding matrices, cost function 514 represented using Equation (8) may be minimized by optimization unit 512, such that the sum of the V variations and/or the sum of the HV variations of K subcarriers in Equation (8) are minimized. For example, with Frobenius norm being chosen, the closed-form solution of D(k+ ) in Equation (8) may be represented as Equations (9):

Since the scalar 0 t (k + 1) is independent of each other, Equation (8) may be simplified as Equation (10), with only 2 subcarriers for simplicity:

(10).

Since the matrices E(k) and E(k+V) in Equation (10) are mutually independent, the computation of E(k) can be performed in parallel, for example, by different processing cores of processor 202 of receiving device 320, to reduce latency and power consumption. In other words, a portion (e.g., parts related to E(k) in Equation (10)) of the V variations and/or the HV variations is calculated in parallel between the subcarriers. For example, as shown in FIG. 6A, parts related to D(k) in Equation (10) of the V variations and/or the HV variations, which are not mutually independent, may be calculated in sequence. In contrast, as shown in FIG. 6B, parts related to E(k) in Equation (10) of the V variations and/or the HV variations, which are mutually independent, may be calculated in parallel. It is understood that Frobenius norm is given as one example for obtaining closed-form solutions, and any other suitable approaches may be applied as well to solve cost function 514 (e.g., represented by Equation (8)), such as machine learning methods (e.g., various gradient descent algorithms. [0060] In some embodiments, cost function 514 is constructed based on each subcarrier (e.g., the k-th subcarrier) of K subcarriers and a reference subcarrier (e.g., a ko-th subcarrier) of K subcarrier. The reference subcarrier may be any arbitrary subcarrier used as a reference to measure the difference between each subcarrier and the reference. In other words, the variation between two matrices of any subcarrier and the reference subcarrier may be used as the basis for minimizing the overall variations among all the subcarriers. In one example, cost function 514 J may be constructed based on the V variations and/or the HV variations between each subcarrier and the reference subcarrier, as well as the V weight and the HV weight, for example, according to

Equation (11): || ||

[0061] In some embodiments, cost function 514 is constructed based on any two adjacent subcarriers (e.g., the k-th subcarrier and the k+ \ -th subcarrier) of K subcarriers. In other words, the variation between two matrices of any two subcarriers may be used as the basis for minimizing the overall variations among all the subcarriers. In one example, cost function 514 J may be constructed based on the V variations and/or the HV variations between any two adjacent subcarriers of the subcarriers, as well as the V weight and the HV weight. For simplicity, assuming #=4, i.e., k= 1, 2, 3, and 4, cost function 514 Jmay be represented in Equation (12): [0062] As described above, in some embodiments, the V weight and/or the HV weight vary based on the respective subcarrier. That is, the V weight and/or the HV weight may be index (k) dependent weighting factors, for example, a[k v k^ . In one example, each channel error may be further normalized by to-be-used-singular values, i.e., 1 - , where det[]

^det [ S(k Y )] det [ S(k 2 ) ] represents a determinant, and S(k) represents the diagonal matrix decomposed from the channel matrix H(k) of the k-th subcarrier using SVD shown in Equation (3) above.

[0063] Regardless of the specific form of cost function 514, by minimizing cost function 514, optimization unit 512 can determine the optimal precoding matrix of each subcarrier from the respective set of candidate precoding matrices, for example, by finding the closed-form solutions of the diagonal matrix D. The optimal precoding matrices of all subcarriers can then be transmitted back to transmitting device 310, as part of the CSI for precoding in subsequent data transmission after channel sounding.

[0064] It is contemplated that de-precoding module 422 described above for MIMO- OFDM communication may be implemented either in software or hardware. For example, FIGs. 7A and 7B illustrate block diagrams of an exemplary apparatus 700 including a host chip, an RF chip, and a baseband chip implementing the SVD optimization scheme described herein in software and hardware, respectively, according to some embodiments of the present disclosure. Apparatus 700 may be an example of any suitable node of wireless network 100 in FIG. 1, such as user equipment 102 or access node 104. As shown in FIGs. 7 A and 7B, apparatus 700 may include an RF chip 702, a baseband chip 704 (baseband chip 704A in FIG. 7A or baseband chip 704B in FIG. 7B), a host chip 706, and multiple antennas 710. In some embodiments, baseband chip 704 is implemented by processor 202 and memory 204, and RF chip 702 is implemented by processor 202, memory 204, and transceiver 206, as described above with respect to FIG. 2. Besides on-chip memory 712 (also known as “internal memory,” e.g., as registers, buffers, or caches) on each chip 702, 704, or 706, apparatus 700 may further include a system memory 708 (a.k.a. the main memory) that can be shared by each chip 702, 704, or 706 through the main bus. Although baseband chip 704 is illustrated as a standalone SoC in FIGs. 7A and 7B, it is understood that in one example, baseband chip 704 and RF chip 702 may be integrated as one SoC; in another example, baseband chip 704 and host chip 706 may be integrated as one SoC; in still another example, baseband chip 704, RF chip 702, and host chip 706 may be integrated as one SoC, as described above. [0065] In the uplink, host chip 706 may generate original data and send it to baseband chip 704 for encoding, modulation, and mapping. Baseband chip 704 may access the original data from host chip 706 directly using an interface 714 or through system memory 708 and then perform the functions of channel coding and interleaving module 412, modulation module 414, symbol mapping module 416, and layer mapping and precoding module 418, as described above in detail with respect to FIG. 4. Baseband chip 704 then may pass the modulated signals to RF chip 702 through interface 714. A transmitter (Tx) 716 of RF chip 702 may convert the modulated signals in the digital form from baseband chip 704 into analog signals, i.e., RF signals, and transmit the RF signals in multiple signal streams through multiple antennas 710, respectively, into MIMO channel 330.

[0066] In the downlink, multiple antennas 710 may receive the RF signals in the multiple transmitted signal streams through MIMO channel 330 and pass the RF signals to a receiver (Rx) 718 of RF chip 702. RF chip 702 may perform any suitable front-end RF functions, such as filtering, down-conversion, or sample-rate conversion, and convert the RF signals into low- frequency digital signals (baseband signals) that can be processed by baseband chip 704. In the downlink, interface 714 of baseband chip 704 may receive the baseband signals, for example, the multiple transmitted signals streams. Baseband chip 704 then may perform the functions of de- precoding module 422, MIMO detection module 424, de-mapping module 426, and channel decoding module 428, as described above in detail with respect to FIG. 4. The original data may be extracted by baseband chip 704 from the baseband signals and passed to host chip 706 through interface 714 or stored into system memory 708.

[0067] In some embodiments, the SVD optimization schemes disclosed herein (e.g., by de- precoding module 422) may be implemented in software by baseband chip 704A in FIG. 7A having a baseband processor 720 executing the stored instructions, as illustrated in FIG. 7A. Baseband processor 720 may be a generic processor, such as a central processing unit (CPU) or a microcontroller unit (MCU), not dedicated to SVD optimization. That is, baseband processor 720 is also responsible for any other functions of baseband chip 704A and can be interrupted when performing SVD optimization due to other processes with higher priorities. Each element in de- precoding module 422 may be implemented as a software module executed by baseband processor 720 to perform the respective functions described above in detail.

[0068] In some other embodiments, the SVD optimization schemes disclosed herein (e.g., by de-precoding module 422) may be implemented in hardware by baseband chip 704B in FIG. 7B having a dedicated SVD optimization circuit 722, as illustrated in FIG. 7B. SVD optimization circuit 722 may include one or more integrated circuits (ICs), such as ASICs, dedicated to implementing the SVD optimization schemes disclosed herein. Each element in de-precoding module 422 may be implemented as a circuit to perform the respective functions described above in detail. One or more MCUs (not shown) in baseband chip 704B may be used to program and/or control the operations of SVD optimization circuit 722. It is understood that in some examples, the SVD optimization schemes disclosed herein may be implemented in a hybrid manner, e.g., in both hardware and software. For example, some elements in de-precoding module 422 may be implemented as a software module executed by baseband processor 720, while some elements in de-precoding module 422 may be implemented as circuits.

[0069] FIG. 8 illustrates a flow chart of an exemplary method 800 of OFDM, according to some embodiments of the present disclosure. Examples of the apparatus that can perform operations of method 800 include, for example, receiving device 320 depicted in FIGs. 3 - 5, 7A, and 7B or any other apparatus disclosed herein. It is understood that the operations shown in method 800 are not exhaustive and that other operations can be performed as well before, after, or between any of the illustrated operations. Further, some of the operations may be performed simultaneously, or in a different order than shown in FIG. 8.

[0070] Referring to FIG. 8, method 800 starts at operation 802, in which channel sounding signals over subcarriers are received from a transmitting device. Operation 802 may be performed by channel matrix module 502 implemented on processor 202 in conjunction with antennas 208 of receiving device 320. For example, processor 202 may control antennas 208 of receiving device 320 to receive channel sounding signals over subcarriers during channel sounding of MIMO- OFDM from transmitting device 310.

[0071] Method 800 proceeds to operation 804, as illustrated in FIG. 8, in which channel matrices of the subcarriers are determined, for example, based on the channel sounding signals. Operation 804 may be performed by channel matrix module 502 implemented on processor 202. For example, processor 202 may determine a channel matrix H(k) of the k-th subcarrier based on the transmitted channel sounding signal and the received channel sounding signal of the k-th subcarrier. In some embodiments, each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on SVD. In some embodiments, the set of candidate precoded channel matrices is determined based on the set of candidate precoding matrices and the respective channel matrix. For example, processor 202 may perform SVD to decompose the channel matrix H(k) into a set of candidate precoding matrices V(k) of the k-th subcarrier and also determine a set of candidate precoded channel matrices su bcarrier based on the channel matrix H(k) and the set of candidate precoding matrices V(k).

[0072] Method 800 proceeds to operation 806, as illustrated in FIG. 8, in which a cost function is obtained. The cost function can be constructed based on at least one of (i) first variations of the sets of candidate precoding matrices between the subcarriers, or (ii) second variations of the sets of candidate precoded channel matrices between the subcarriers. In some embodiments, the cost function is based on at least one of the first variations or the second variations between every two adjacent subcarriers of the subcarriers. In some embodiments, the cost function is based on at least one of the first variations or the second variations between each of the subcarriers and a reference subcarrier of the subcarriers. In some embodiments, the cost function is based on at least one of the first variations or the second variations between any two subcarriers of the subcarriers. In some embodiments, the cost function is further based on at least one of a first weight of the first variations, or a second weight of the second variations. For example, at least one of the first weight or the second weight may vary based on the respective subcarrier. Operation 806 may be performed by optimization unit 512 implemented on processor 202. For example, processor 202 may obtain cost function 514, such as represented in Equation (8), (11), or (12).

[0073] Method 800 proceeds to operation 808, as illustrated in FIG. 8, in which an optimal precoding matrix of each of the subcarriers is determined from the respective set of candidate precoding matrices based on the cost function. In some embodiments, to determine the optimal precoding matrix, the at least one of the first variations or the second variations are calculated, and the cost function is minimized, such that a sum of the at least one of the first variations or the second variations is minimized. Operation 808 may be performed by optimization unit 512 in conjunction with V variation calculation unit 508 and HV variation calculation unit 510 implemented on processor 202. For example, processor 202 may calculate the V variations and/or the HV variations and minimize cost function 514, such that the sum of the V variations and/or the sum of the HV variations among the K subcarriers are minimized. As a result, processor 202 may determine the optimal precoding matrices of the K subcarriers.

[0074] Method 800 proceeds to operation 810, as illustrated in FIG. 8, in which the optimal precoding matrices of the subcarriers are transmitted to the transmitting device. Operation 810 may be performed by optimization unit 512 implemented on processor 202 in conjunction with antennas 208 of receiving device 320. For example, processor 202 may control antennas 208 of receiving device 320 to transmit the optimal precoding matrices of the subcarriers to transmitting device 310 during channel sounding, such that transmitting device 310 can perform precoding based on the optimal precoding matrices in subsequent data transmission after the channel sounding.

[0075] In various aspects of the present disclosure, the functions described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as instructions or code on a non-transitory computer-readable medium. Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a receiving device, such as node 200 in FIG. 2. By way of example, and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, HDD, such as magnetic disk storage or other magnetic storage devices, Flash drive, SSD, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a processing system, such as a mobile device or a computer. Disk and disc, as used herein, includes CD, laser disc, optical disc, DVD, and floppy disk where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0076] According to one aspect of the present disclosure, a receiving device of OFDM includes antennas, a processor operatively coupled to the antennas, and memory storing instructions. The instructions when executed by the processor, cause the processor to determine channel matrices of subcarriers. Each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition. The instructions when executed by the processor, also cause the processor to obtain a cost function based on at least one of first variations of the sets of candidate precoding matrices between the subcarriers, or second variations of the sets of candidate precoded channel matrices between the subcarriers. The instructions when executed by the processor, further cause the processor to determine an optimal precoding matrix of each of the subcarriers from the respective set of candidate precoding matrices based on the cost function, and control the antennas to transmit the optimal precoding matrices of the subcarriers to a transmitting device.

[0077] In some embodiments, the cost function is based on at least one of the first variations or the second variations between every two adjacent subcarriers of the subcarriers. [0078] In some embodiments, the cost function is based on at least one of the first variations or the second variations between each of the subcarriers and a reference subcarrier of the subcarriers.

[0079] In some embodiments, wherein the cost function is based on at least one of the first variations or the second variations between any two subcarriers of the subcarriers.

[0080] In some embodiments, the cost function is further based on at least one of a first weight of the first variations, or a second weight of the second variations.

[0081] In some embodiments, at least one of the first weight or the second weight varies based on the respective subcarrier.

[0082] In some embodiments, execution of the instructions further causes the processor to control the antennas to receive channel sounding signals over the subcarriers from the transmitting device, and determine the channel matrices of the subcarriers based on the channel sounding signals.

[0083] In some embodiments, the set of candidate precoded channel matrices is determined by the set of candidate precoding matrices and the respective channel matrix.

[0084] In some embodiments, to determine the optimal precoding matrix, execution of the instructions causes the processor to calculate the at least one of the first variations or the second variations, and minimize the cost function, such that a sum of the at least one of the first variations or the second variations is minimized.

[0085] In some embodiments, a portion of the at least one of the first variations or the second variations is calculated in parallel between the subcarriers.

[0086] According to another aspect of the present disclosure, a method for OFDM implemented by a receiving device including antennas and a processor is disclosed. Channel matrices of subcarriers are obtained by the processor. Each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition. A cost function is obtained by the processor based on at least one of first variations of the sets of candidate precoding matrices between the subcarriers, or second variations of the sets of candidate precoded channel matrices between the subcarriers. An optimal precoding matrix of each of the subcarriers is determined from the respective set of candidate precoding matrices based on the cost function. The antennas are controlled by the processor to transmit the optimal precoding matrices of the subcarriers to a transmitting device. [0087] In some embodiments, the cost function is based on at least one of the first variations or the second variations between every two adjacent subcarriers of the subcarriers.

[0088] In some embodiments, the cost function is based on at least one of the first variations or the second variations between each of the subcarriers and a reference subcarrier of the subcarriers.

[0089] In some embodiments, wherein the cost function is based on at least one of the first variations or the second variations between any two subcarriers of the subcarriers.

[0090] In some embodiments, the cost function is further based on at least one of a first weight of the first variations, or a second weight of the second variations.

[0091] In some embodiments, at least one of the first weight or the second weight varies based on the respective subcarrier.

[0092] In some embodiments, the antennas are controlled to receive channel sounding signals over the subcarriers from the transmitting device, and the channel matrices of the subcarriers are determined based on the channel sounding signals.

[0093] In some embodiments, the set of candidate precoded channel matrices is determined by the set of candidate precoding matrices and the respective channel matrix.

[0094] In some embodiments, to determine the optimal precoding matrix, the at least one of the first variations or the second variations are calculated, and the cost function is minimized, such that a sum of the at least one of the first variations or the second variations is minimized.

[0095] In some embodiments, a portion of the at least one of the first variations or the second variations is calculated in parallel between the subcarriers.

[0096] According to still another aspect of the present disclosure, a non-transitory computer-readable medium is encoded with instructions that, when executed by a processor of a receiving device of OFDM, perform a process. The process includes determining channel matrices of subcarriers. Each of the channel matrices is associated with a set of candidate precoding matrices and a set of candidate precoded channel matrices based on singular value decomposition. The process also includes obtaining a cost function based on at least one of first variations of the sets of candidate precoding matrices between the subcarriers, or second variations of the sets of candidate precoded channel matrices between the subcarriers. The process further includes determining an optimal precoding matrix of each of the subcarriers from the respective set of candidate precoding matrices based on the cost function, and controlling transmitting the optimal precoding matrices of the subcarriers to a transmitting device. [0097] The foregoing description of the specific embodiments will so reveal the general nature of the present disclosure that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present disclosure. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.

[0098] Embodiments of the present disclosure have been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.

[0099] The Summary and Abstract sections may set forth one or more but not all exemplary embodiments of the present disclosure as contemplated by the inventor(s), and thus, are not intended to limit the present disclosure and the appended claims in any way.

[0100] Various functional blocks, modules, and steps are disclosed above. The particular arrangements provided are illustrative and without limitation. Accordingly, the functional blocks, modules, and steps may be re-ordered or combined in different ways than in the examples provided above. Likewise, certain embodiments include only a subset of the functional blocks, modules, and steps, and any such subset is permitted.

[0101] The breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.