Low complexity beamforming with compression feedback

By employing QR decomposition and phase rotation techniques to generate compressed feedback in wireless local area networks, the problem of high computational complexity in existing beamforming technologies is solved, achieving low-complexity and low-power beamforming feedback generation and improving transmission efficiency.

CN116318304BActive Publication Date: 2026-06-02MARVELL ASIA PTE LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MARVELL ASIA PTE LTD
Filing Date
2017-12-15
Publication Date
2026-06-02

Smart Images

  • Figure CN116318304B_ABST
    Figure CN116318304B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to low complexity beamforming with compressed feedback. A first communication device receives a plurality of training signals from a second communication device via a communication channel. The first communication device determines a channel matrix corresponding to the communication channel based on the plurality of training signals, and determines compressed feedback to be provided to the second communication device based on the channel matrix and without decomposing a steering matrix. The first communication device transmits the compressed feedback to the second communication device to enable the second communication device to steer at least one subsequent transmission to the first communication device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with international application number PCT / US2017 / 066786, international application date of December 15, 2017, entered the Chinese national phase on August 15, 2019, Chinese national application number 201780086676.9, and invention title "Low-complexity beamforming using compressed feedback".

[0002] Cross-references to related applications

[0003] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 435,667, filed December 16, 2016, entitled “Low Complexity Methods and Systems for Beamforming with Compressed Feedback,” the disclosure of which is hereby expressly incorporated herein by reference in its entirety. Technical Field

[0004] This disclosure generally relates to communication networks, and more particularly to beamforming in communication networks. Background Technology

[0005] Wireless Local Area Networks (WLANs) have evolved rapidly over the past decade, and the development of WLAN standards, such as the IEEE 802.11 family of standards, has improved peak single-user data throughput. For example, the IEEE 802.11b standard specifies a peak single-user throughput of 11 megabits per second (Mbps), the IEEE 802.11a and 802.11g standards specify 54 Mbps, the IEEE 802.11n standard specifies 600 Mbps, and the IEEE 802.11ac standard specifies peak single-user throughput in the gigabits per second (Gbps) range. The IEEE 802.11ax standard, currently under development, promises even greater throughput, such as in the tens of Gbps range. Summary of the Invention

[0006] In one embodiment, a method for providing beamforming feedback in a communication channel includes: receiving a plurality of training signals from a second communication device via the communication channel at a first communication device; determining a channel matrix corresponding to the communication channel at the first communication device based on the plurality of training signals; determining compressed feedback to be provided to the second communication device at the first communication device based on the channel matrix, wherein determining the compressed feedback does not include decomposing the steering matrix; and transmitting the compressed feedback from the first communication device to the second communication device such that the second communication device can steering at least one subsequent transmission to the first communication device.

[0007] In another embodiment, a first communication device includes a network interface device having one or more integrated circuits configured to: receive a plurality of training signals from a second communication device via a communication channel; determine a channel matrix corresponding to the communication channel based on the plurality of training signals; determine a compression feedback to be provided to the second communication device based on the channel matrix, wherein determining the compression feedback does not include decomposing the bootstrap matrix; and transmit the compression feedback to the second communication device such that the second communication device can bootstrap at least one subsequent transmission to the first communication device. Attached Figure Description

[0008] Figure 1 This is a block diagram of an example wireless local area network (WLAN) according to one embodiment;

[0009] Figure 2 This is a flowchart of a technique according to one embodiment for jointly determining a guiding matrix and a compressed feedback representing the guiding matrix;

[0010] Figures 3A-3B This is a flowchart of a technique according to one embodiment, which uses one iteration of QR decomposition to jointly determine the guiding matrix and the compression feedback representing the guiding matrix;

[0011] Figure 4 This is a flowchart according to one embodiment, illustrating the use of Figures 3A-3B The phase rotation operation performed by the technology;

[0012] Figure 5A This is a flowchart according to one embodiment, illustrating the use of Figures 3A-3B The technology performs Givens rotational operations;

[0013] Figure 5B This is a flowchart of a technique according to one embodiment, which utilizes Figure 5A The Givens rotation operation performs a derotation operation;

[0014] Figures 6A-6BThis is a flowchart of a technique according to one embodiment, which uses multiple iterations of QR decomposition to jointly determine the guiding matrix and the compression feedback representing the guiding matrix;

[0015] Figures 7A-7F This is a diagram illustrating various operations according to an embodiment where the channel comprises four spatial streams, these operations being performed to jointly determine the bootstrap matrix and the compression feedback representing the bootstrap matrix by decomposing a 4×4 matrix; and

[0016] Figure 8 This is a flowchart of an example method according to one embodiment, which is used to provide beamforming feedback in a communication channel. Detailed Implementation

[0017] For illustrative purposes only, the beamforming feedback technique described below is discussed in the context of wireless local area networks (WLANs) that utilize protocols identical or similar to those defined by the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard. However, in other embodiments, beamforming feedback is utilized in other types of wireless communication systems, such as personal area networks (PANs), mobile communication networks (such as cellular networks), metropolitan area networks (MANs), and so on.

[0018] In the embodiments described below, a wireless network device (such as an access point (AP) of a wireless local area network (WLAN)) transmits a data stream to one or more client stations. In some embodiments, the WLAN supports multiple-input multiple-output (MIMO) communication, where the AP and / or client stations include more than one antenna, thereby creating multiple spatial (or space-time) streams on which data can be transmitted simultaneously. In embodiments where the AP employs multiple antennas for transmission, the AP utilizes various antennas to transmit the same signal while phasing (and amplifying) the signal as it is provided to various transmit antennas to achieve beamforming or beam steering. To implement beamforming techniques, the AP generally needs knowledge of certain characteristics of a communication channel between the AP and one or more client stations for which a beamforming pattern will be created. To obtain channel characteristics, according to one embodiment, the AP transmits probe packets to the client stations, which include a number of training fields that allow the client stations to accurately estimate the MIMO channel. The client stations then transmit or feed back the obtained channel characteristics to the AP in some form, for example by including channel characteristic information in management or control frames transmitted to the AP. In various embodiments, once the AP receives information representing the corresponding communication channel from one or more client stations, it generates a desired beam pattern for use in subsequent transmissions to one or more stations.

[0019] In one embodiment, the client station determines the bootstrap matrix based on channel characteristics obtained using training signals from the AP and transmits compressed feedback to the AP. The compressed feedback includes compressed information, such as angles representing the bootstrap matrix, which the AP can then use to reconstruct the bootstrap matrix. To efficiently generate the compressed feedback, in one embodiment, the client station uses techniques that do not involve decomposing the bootstrap matrix. For example, in one embodiment, the client station decomposes the channel matrix or an intermediate matrix obtained from the channel matrix to jointly determine the bootstrap matrix and the compressed feedback representing it. In at least some embodiments, various techniques for determining compressed feedback based on the channel matrix without decomposing the bootstrap matrix allow the client station to determine the compressed feedback that accurately represents the bootstrap matrix more quickly, utilizing less hardware, smaller physical area, less power consumption, lower computational complexity, and so on, compared to systems that first determine the bootstrap matrix and then obtain compressed feedback by decomposing it.

[0020] Figure 1 This is a block diagram of an example WLAN 110 according to one embodiment. WLAN 110 includes an access point (AP) 114, which includes a host processor 118 coupled to a network interface device 122. The network interface device 122 includes a media access control (MAC) processor 126 and a physical layer (PHY) processor 130. The PHY processor 130 includes a plurality of transceivers 134, and the transceivers 134 are coupled to a plurality of antennas 138. Although Figure 1 The diagram illustrates three transceivers 134 and three antennas 138, but in other embodiments, the AP 114 includes other suitable numbers (e.g., 1, 2, 4, 5, etc.) of transceivers 134 and antennas 138. In some embodiments, the AP 114 includes more antennas 138 than transceivers 134 and utilizes antenna switching technology.

[0021] Network interface device 122 is implemented using one or more integrated circuits (ICs) configured to operate as discussed below. For example, MAC processor 126 may be implemented at least partially on a first IC, and PHY processor 130 may be implemented at least partially on a second IC. As another example, at least a portion of MAC processor 126 and at least a portion of PHY processor 130 may be implemented on a single IC. For example, network interface device 122 may be implemented using a system-on-a-chip (SoC), wherein the SoC includes at least a portion of MAC processor 126 and at least a portion of PHY processor 130.

[0022] In various embodiments, the MAC processor 126 and / or PHY processor 130 of AP 114 are configured to generate data units and process received data units that conform to WLAN communication protocols (such as communication protocols conforming to the IEEE 802.11 standard) or other suitable wireless communication protocols. For example, MAC processor 126 may be configured to implement MAC layer functions, including MAC layer functions of WLAN communication protocols, and PHY processor 130 may be configured to implement PHY functions, including PHY functions of WLAN communication protocols. For example, MAC processor 126 may be configured to generate MAC layer data units, such as MAC Service Data Units (MSDUs), MAC Protocol Data Units (MPDUs), etc., and provide the MAC layer data units to PHY processor 130.

[0023] PHY processor 130 can be configured to receive MAC layer data units from MAC processor 126 and encapsulate the MAC layer data units to generate PHY data units, such as PHY protocol data units (PPDUs), for transmission via antenna 138. PHY processor 130 includes circuitry (e.g., in transceiver 134) configured to upconvert baseband signals to radio frequency (RF) signals for wireless transmission via antenna 138.

[0024] Similarly, PHY processor 130 can be configured to receive PHY data units received via antenna 138 and extract MAC layer data units encapsulated within the PHY data units. PHY processor 130 can provide the extracted MAC layer data units to MAC processor 126, which processes the MAC layer data units. PHY processor 130 includes circuitry (e.g., in transceiver 134) configured to down-convert RF signals received via antenna 138 into baseband signals.

[0025] WLAN 110 includes multiple client stations 154. Although Figure 1 The diagram illustrates three client stations 154, but in various embodiments, WLAN 110 includes other suitable numbers (e.g., 1, 2, 4, 5, 6, etc.) of client stations 154. Client station 154-1 includes a host processor 158 coupled to a network interface device 162. Network interface device 162 includes a MAC processor 166 and a PHY processor 170. The PHY processor 170 includes multiple transceivers 174, and the transceivers 174 are coupled to multiple antennas 178. Although... Figure 1The diagram illustrates three transceivers 174 and three antennas 178, but in other embodiments, client station 154-1 includes other suitable numbers (e.g., 1, 2, 4, 5, etc.) of transceivers 174 and antennas 178. In some embodiments, client station 154-1 includes more antennas 178 than transceivers 174 and utilizes antenna switching technology.

[0026] Network interface device 162 is implemented using one or more ICs configured to operate as discussed below. For example, MAC processor 166 may be implemented on at least a first IC, and PHY processor 170 may be implemented on at least a second IC. As another example, at least a portion of MAC processor 166 and at least a portion of PHY processor 170 may be implemented on a single IC. For example, network interface device 162 may be implemented using a SoC, wherein the SoC includes at least a portion of MAC processor 166 and at least a portion of PHY processor 170.

[0027] In various embodiments, the MAC processor 166 and PHY processor 170 of the client device 154-1 are configured to generate data units and process received data units conforming to the WLAN communication protocol or another suitable communication protocol. For example, the MAC processor 166 may be configured to implement MAC layer functions, including the MAC layer functions of the WLAN communication protocol, and the PHY processor 170 may be configured to implement PHY functions, including the PHY functions of the WLAN communication protocol.

[0028] MAC processor 166 can be configured to generate MAC layer data units, such as MSDU, MPDU, etc., and provide the MAC layer data units to PHY processor 170. PHY processor 170 can be configured to receive MAC layer data units from MAC processor 166 and encapsulate the MAC layer data units to generate PHY data units (such as PPDU) for transmission via antenna 178. PHY processor 170 includes circuitry (e.g., in transceiver 174) configured to upconvert baseband signals into RF signals for wireless transmission via antenna 178.

[0029] Similarly, PHY processor 170 can be configured to receive PHY data units received via antenna 178 and extract MAC layer data units encapsulated within the PHY data units. PHY processor 170 can provide the extracted MAC layer data units to MAC processor 166, which processes the MAC layer data units. PHY processor 170 includes circuitry (e.g., in transceiver 174) configured to down-convert RF signals received via antenna 178 into baseband signals.

[0030] In one embodiment, each of client stations 154-2 and 154-3 has the same or similar structure as client station 154-1. Each of client stations 154-2 and 154-3 has the same or different numbers of transceivers and antennas. For example, according to one embodiment, each of client station 154-2 and / or client station 154-3 has only two transceivers and two antennas (not shown).

[0031] In one embodiment, AP 114 is configured to use knowledge of the characteristics of the communication channel between AP 114 and one or more client stations 154 to implement beamforming for transmissions to one or more client stations 154. In one embodiment, to obtain knowledge of the characteristics of the communication channel between AP 114 and client station 154 (e.g., client station 154-1), AP 114 transmits a known training signal to client station 154-1. For example, in one embodiment, AP 114 transmits probe packets to client station 154-1, wherein the probe packets include one or more training fields (e.g., long training field (LTF)) that include a training signal. In one embodiment, client station 154-1 receives the training signal from AP 114 and generates a channel description of the communication channel based on the training signal received from AP 114. In mathematical terms, the signal received by client station 154-1 from AP 114 via the communication channel can be written as:

[0032]

[0033] Where y is the received signal vector, and N r N is the number of receiving antennas; t H is the number of transmitting antennas; H is the channel matrix corresponding to the communication channel; x is the transmitted signal vector; and w is the additive noise vector. In one embodiment, client station 154-1 determines the channel matrix H based on the received signal y and its knowledge of the transmitted training signal x. In embodiments using OFDM communication, client station 154-1 determines multiple channel matrices H. i Channel matrix H i The corresponding channel matrix in the text corresponds to the corresponding OFDM tone in the communication channel.

[0034] Based on one or more determined channel matrices H, client station 154-1 generates compressed beamforming feedback to be transmitted to AP 114. In one embodiment, the compressed beamforming feedback includes information (e.g., angle) representing one or more steering matrices determined based on one or more channel matrices H. In one embodiment, client station 154-1 is configured to jointly determine the steering matrix and the compressed feedback representing the steering matrix based on the channel matrix H. For example, as explained in more detail below, in one embodiment, client station 154-1 is configured to implement a technique that determines the compressed feedback during the determination of the steering matrix without first determining the steering matrix and then decomposing it.

[0035] According to one embodiment, client station 154-1 is configured to determine compression feedback by performing a QR decomposition of a symmetric intermediate matrix obtained from the channel matrix. Generally, a QR decomposition of a symmetric matrix yields an orthogonal matrix Q and an upper triangular matrix R, where the orthogonal matrix Q is a sufficiently good approximation of the singular vectors (e.g., eigenvectors) of the symmetric matrix. Therefore, in one embodiment, the QR decomposition of the symmetric intermediate matrix obtained from the channel matrix generates an orthogonal matrix Q, which is a sufficiently good approximation of the guiding matrix having singular values ​​of the channel matrix, such as, for example, the right singular vector matrix V obtained from the SVD decomposition of the channel matrix. In some embodiments, client station 154-1 is configured to perform multiple iterations of the QR decomposition to obtain a Q matrix, which is a better approximation of the guiding matrix. In one embodiment, each iteration of the QR decomposition is performed on a matrix that is the product of the intermediate matrix obtained from the channel matrix and the matrix Q determined in a previous iteration of the QR decomposition. In at least some embodiments, several iterations of the QR decomposition performed in this manner converge to the right singular vector matrix V obtained from the SVD decomposition of the channel matrix.

[0036] In some embodiments, client station 154-1 is configured to perform one or both of the following: i) sorting the columns of the matrix operated on during each stage of QR decomposition such that the dominant vector is determined in each stage of QR decomposition, and ii) dynamically scaling the elements of the matrix operated on during each stage of QR decomposition to prevent overflow, and using fixed-point arithmetic to improve computational accuracy. In at least some embodiments, such various techniques allow client stations to determine the compressed feedback that accurately represents the guiding matrix more quickly, with less hardware, smaller physical area, less power consumption, lower computational complexity, etc., compared to systems that first determine the guiding matrix and then obtain the compressed feedback by decomposing the guiding matrix. These techniques determine the compressed feedback based on the channel matrix and do not decompose the guiding matrix, and employ one or both of the following: i) sorting the columns of the matrix operated on during each stage of computation, and ii) dynamically scaling the elements of the matrix operated on during each stage of QR decomposition.

[0037] Figure 2 This is a flowchart of technique 200 according to one embodiment, technique 200 being used to jointly determine a guidance matrix and a compression feedback representing the guidance matrix. In one embodiment, the client station (e.g., Figure 1 The client station 154-1 is configured to implement technology 200 to determine the compressed feedback to be fed back to AP 114, and for illustrative purposes, refer to Figure 1 The client station 154-1 will be used to discuss technology 200. However, in other embodiments, technology 200 is provided by an AP (e.g., Figure 1 It can be implemented by AP 114, or by another suitable communication device.

[0038] At box 204, the intermediate matrix B is obtained from the channel matrix H. In one embodiment, the intermediate matrix B is a symmetric square matrix. For example, in a channel matrix H with N... r ×N t In the embodiment of the dimension, the determined intermediate matrix B has N t ×N t The dimension. In one embodiment, the intermediate matrix B is determined by multiplying the channel matrix H by its Hermitian transpose, according to the following formula:

[0039] B = H H Equation 2

[0040] Where the Hermitian operator H represents the conjugate transpose. In another embodiment, the intermediate matrix B is determined by performing an initial QR decomposition of the channel matrix H to generate an orthogonal matrix Q1 and an upper triangular matrix R1 (i.e., [Q1,R1] = qr(H)), and according to The intermediate matrix B is then determined. In this embodiment, determining the intermediate matrix B avoids performing matrix multiplication. Therefore, in this embodiment, determining the intermediate matrix B requires less hardware. In other embodiments, the intermediate matrix B is determined based on the channel matrix H in other suitable ways.

[0041] At block 206, several initializations are performed. In one embodiment, block 206 includes initializing matrix Q0 to be equal to the initial matrix Q. init In one embodiment, the initial matrix Q init It is a suitable (e.g., random) orthogonal matrix. In one embodiment, the initial matrix Q... init It has dimensions corresponding to the dimensions of the intermediate matrix B. For example, in one embodiment, the initial matrix Q... init Having N t ×N t The dimension. In one embodiment, box 206 further includes initializing an integer counter k to equal 1.

[0042] Boxes 208-212 perform iterative QR decomposition. At box 208, in the first iteration, the QR decomposition of the matrix product of the intermediate B determined at box 204 and the matrix Q0 initialized at box 206 is performed. At box 210, it is checked whether the iteration number N has been reached. iter If it is determined that the iteration count N has not yet been reached... iter (k <N iter If the result is true, then the integer counter k at box 212 is incremented, and the technique returns to box 208. In one embodiment, in each subsequent iteration (iteration k) after the first iteration, the QR decomposition at box 208 is the intermediate matrix B determined at box 204 and the matrix Q determined in the previous iteration (iteration k-1). k-1 The matrix generated by multiplication is executed.

[0043] Once it is determined at box 210 that the iteration count N has been reached... iter (k <N iter If the result is false, then technique 200 terminates, and the result is the matrix Q determined in the final iteration. Niter Generally, in at least some embodiments, one or more iterations of technique 200 are sufficient to generate a matrix Q as follows. Niter The matrix Q Niter This is a good approximation of the guiding matrix V, for example, generated by the SVD decomposition of the channel matrix H. As described in more detail below, in one embodiment, in addition to generating the guiding matrix Q... Niter In addition, one or more iterations of the execution technique 200 also generate a representation guiding matrix Q. Niter Compression feedback.

[0044] Still referencing Figure 2 In one embodiment, the QR decomposition at execution block 208 is performed using phase rotation and Givens rotation. Generally, in one embodiment, the matrix M is used for decomposition... nxn The QR decomposition is performed in stages, with phase rotation and Givens rotation performed in each stage. In the k-th stage of the QR decomposition, a phase rotation is performed on the rows of matrix M(k:n,k:n) such that the elements of the first column of matrix M(k:n,k:n) are positive real numbers. In one embodiment, the phase rotation operation can be expressed as a left multiplication with a matrix having the following general form:

[0045]

[0046] Then, a Givens rotation is performed on the resulting (phase-rotated) matrix M(k:n,k:n) to zero out the elements M(k+1:n,1). In one embodiment, the Givens rotation operation can be expressed as a left multiplication with a matrix having the following general form:

[0047] Where i > k

[0048] Phase rotation and Givens rotation generate angles respectively. (1≤k≤n, k≤i≤n) and angle ψ ik A set of (1≤k<n, k<i≤n). In general, angles... and angle ψ ik The set includes compressed beamforming feedback. As will be explained in more detail below, in one embodiment, client station 154-1 is configured to further process the set of angles generated by phase rotation. To compute a new set of angles Where k ≤ i < n. In this embodiment, i) the new set of angles and ii) the set of angles ψ used for Givens rotation operations ik This includes compressing the feedback angle. In this embodiment, client station 154-1 is configured to quantize this new set of angles. and angle set ψ ik And the quantitative perspective is fed back to AP 114.

[0049] Figures 3A-3B This is a flowchart of technique 300 according to one embodiment, technique 300 using a single iteration of QR decomposition to jointly determine the guiding matrix and a compressed feedback representing the guiding matrix. In one embodiment, the client station (e.g., Figure 1The client station 154-1 is configured to implement technology 300 to determine the compressed feedback to be fed back to AP 114, and for illustrative purposes, refer to Figure 1 The client station 154-1 will be used to discuss technology 300. However, in other embodiments, technology 300 is provided by an AP (e.g., Figure 1 It can be implemented by AP 114, or by another suitable communication device.

[0050] At block 302, client station 154-1 determines the channel matrix H. In one embodiment, client station 154-1 determines the channel matrix H based on multiple training signals received from AP 114. In one embodiment, the training signals are included in data units (such as probe data units) received by client station 154-1 from AP 114. For example, in one embodiment, the training signals are included in the training field (e.g., a long training field (LTF)) of the preamble of the data units (such as probe data units) received by client station 154-1 from AP 114. In other embodiments, client station 154-1 determines the channel matrix H in other suitable ways.

[0051] At box 304, client station 154-1 obtains intermediate matrix B from the channel matrix H determined at box 302. In one embodiment, intermediate matrix B is a symmetric square matrix. In one embodiment, client station 154-1 as described above... Figure 2 As described in box 204, the intermediate matrix B is obtained from the channel matrix H. For example, in one embodiment, client station 154-1 obtains the intermediate matrix B according to B = H. H H (Equation 2) determines the intermediate matrix B by multiplying the channel matrix H and its Hermitian transpose, where the Hermitian operator... H This represents the conjugate transpose. In another embodiment, client station 154-1 obtains the intermediate matrix B by: decomposing the channel matrix H using QR decomposition to generate an orthogonal matrix Q1 and an upper triangular matrix R1, where [Q1,R1]=qr(H), and setting the intermediate matrix... Hermitian operator H This represents the conjugate transpose. In this embodiment, client station 154-1 obtains the intermediate matrix B without performing matrix multiplication. Therefore, in this embodiment, determining the intermediate matrix B requires less hardware. For example, in one embodiment, the QR decomposition block (such as a CORDIC block) used to determine the intermediate matrix B is also used in further QR processing, which is performed to generate compressed feedback based on the intermediate matrix B. On the other hand, in some embodiments where the intermediate matrix B is determined using matrix multiplication according to Equation 2, a better approximation of the guiding matrix is ​​obtained. In some embodiments, the intermediate matrix B is determined based on the channel matrix H in other suitable ways.

[0052] At box 306, client station 154-1 dynamically scales the intermediate matrix B to generate a scaled matrix. In one embodiment, dynamically scaling the intermediate matrix B involves scaling each element of matrix B by a scalar factor corresponding to the "maximum" element or the element with the highest magnitude of matrix B. In one embodiment, client station 154-1 identifies the element with the maximum magnitude of matrix B by analyzing the magnitudes of the elements on the diagonal of matrix B. In this embodiment, client station 154-1 identifies the maximum element B on the diagonal of matrix B that satisfies the following formula. jj :

[0053] j = argmax B ii Equation 3

[0054] Where arg max represents the argument of the maximum value operator. Client station 154-1 then determines the element B identified for scaling matrix B. jj The scaling factor makes the storage of element B... jj The leading bit of a certain number of bits is logic 1 (1). In other words, in one embodiment, the scaling factor is determined such that element B... jj The scaling factor determined by scaling will affect element B. jj The magnitude is scaled to make:

[0055]

[0056] In another embodiment, the scaling factor is determined based on the column with the highest norm value (e.g., L2 norm or L2 norm squared). In any case, in one embodiment, once the scaling factor is determined, client station 154-1 scales all elements of matrix B to the determined scaling factor to generate a scaled matrix. In at least some embodiments, matrix B is scaled such that element B jj The leading bit of the magnitude is logic 1 (1) to prevent overflow and improves the scaling of the matrix using fixed-point arithmetic. The accuracy in subsequent processing. Therefore, in at least some embodiments, more reliable compression feedback (e.g., more reliable feedback angle) is determined with less hardware compared to embodiments that do not utilize dynamic scaling.

[0057] At box 308, client station 154-1 determines the scaled matrix. The corresponding vector norm value (e.g., L2 norm value or L2 norm squared value) of the column. j In one embodiment, for For each column j, client station 154-1 calculates the L2 norm squared value (sometimes referred to as the "squared norm value" in this paper) according to the following formula.

[0058]

[0059] In one embodiment, client station 154-1 will be used for the matrix. The corresponding calculated square norm value c of the column. j Stored in memory.

[0060] Now for reference Figure 3B At box 310, in one embodiment, the matrix Initialized to be equal to the scaled matrix And the integer counter l is initialized to equal 1. In one embodiment, client station 154-1 then iteratively performs the operations at boxes 312-328 until the number of spatial streams in the channel matrix H is reached. Generally, in the first stage (l=1) of QR decomposition, the operations at boxes 312-328 are performed on the matrix. Executed. In each subsequent stage of the QR decomposition, the operations at boxes 312-328 are performed on a submatrix of the matrix generated when the previous stage was completed. As an example only, in a system with four spatial flows (N... SS In the embodiment of =4), in the first stage, the matrix is... The operation is performed on (1:4, 1:4). Continuing with the same example, in one embodiment, in the second stage, the submatrix C(2:4, 2:4) is operated on, where C is the result matrix of the first stage. Similarly, in one embodiment, in the third stage, the submatrix D(3:4, 3:4) is operated on, where D is the result matrix of the second stage.

[0061] Still referencing Figure 3B At box 312, in various embodiments, client station 154-1 determines a new square norm value, or updates the square norm value determined at box 308. In one embodiment, box 312 is not performed for the first stage of QR decomposition (i.e., skipped). Alternatively, in one embodiment, the square norm value determined and stored at box 308 is used for the first stage. In one embodiment, for each subsequent stage after the first stage, a new column square norm value is determined at box 312 for the columns of the submatrix operated on in the corresponding stage. For example, in a matrix with four spatial flows (N... SS In the embodiment of =4), in the first stage, box 312 is skipped and the matrix is ​​determined at box 308. The column square norm value is used. Continuing with the same example, in one embodiment, in the second stage, a new square norm value is determined for the columns of submatrix C (2:4, 2:4), where C is the result matrix of the first stage. Similarly, in one embodiment, in the third stage, a new square norm value is determined for the columns of submatrix D (3:4, 3:4), where D is the result matrix of the second stage. In one embodiment, determining the new column square norm value at box 312 includes repeating the operation of box 308 for the submatrix for which the new square norm value is being determined. In another embodiment, determining the new square norm value at box 312 includes updating the square norm value determined for the corresponding column in a previous stage. For example, in one embodiment, the square norm value is updated at box 312 according to the following formula:

[0062]

[0063] in It is the newly determined column square norm value. It is the column square norm from the previous stage l-1. The matrix being operated on at the current stage l The intermediate submatrix, and m l-1 This is the scaling factor applied at stage l-1. In one embodiment, the updated square norm value corresponds to the remaining N in the orthogonal complement space of the first l-1 guiding vectors. t -l+1 vectors. In at least some embodiments, updating the column square norm at box 312 instead of directly calculating the new square norm at box 312 is more efficient and less computationally dense.

[0064] At box 314, the sorted matrix It is determined by the following: for the matrix The columns are sorted such that the column with the highest square norm is the first column operated on in the current stage of the QR decomposition. In at least some embodiments, sorting the columns such that the column with the highest square norm is the first column operated on in the current stage of the QR decomposition ensures that the dominant guiding vector among the remaining guiding vectors is determined in each stage of the QR decomposition, thereby improving the approximation of the guiding matrix Q determined as the result of the QR decomposition. In one embodiment, the matrix... It is determined by the following: Identification matrix Find the column with the highest square norm, and combine the column with the matrix. The first column is swapped. In one embodiment, block 314 includes: in stage 1, based on the stored square norm value c, according to the following formula. j To determine the matrix (or submatrix) Indexes to columns with the highest square norm

[0065]

[0066] And the matrix The Columns and Matrices The first column is swapped. In one embodiment, box 314 further includes: swapping the matrix... The square norm of the first column c l With the corresponding matrix The The square norm of the column exchange.

[0067] At position 318, the matrix Dynamic scaling of the elements is performed to generate the matrix. In one embodiment, box 318 is not performed for the first stage of the QR decomposition (i.e., skipped). Instead, scaling performed at 306 is relied upon in the first stage. In one embodiment, for each stage i in subsequent stages, scaling is based on the submatrix. The column with the largest square norm among the columns, as described above regarding box 318, is the submatrix. Each element is scaled. In one embodiment, the submatrix... The elements are scaled so that in the submatrix In the real and imaginary parts of the elements, a suitable number of leading bits (e.g., one leading bit, two leading bits, etc.) of the absolute value of the maximum value have a logic 1 value. In another embodiment, the submatrix The elements are scaled so that in the submatrix In the square norm values ​​of the columns, a suitable number of leading bits (e.g., one leading bit, two leading bits, etc.) of the largest square norm value have a logic 1 value. In yet another embodiment, the submatrix The elements are scaled so that in the submatrix In the norm of a column, a suitable number of leading bits of the maximum norm (e.g., one leading bit, two leading bits, etc.) have a logic 1 value.

[0068] At position 320, the matrix Phase rotations are performed on the elements of the matrix to make the matrix The elements in the first column are positive real numbers. Figure 4 This is a flowchart 400 according to one embodiment, which illustrates that in Figure 3B The phase rotation operation is performed at box 320. At box 402, the integer counter i is initialized to the current value of the integer counter l. At box 404, the matrix... element r il phase The phase is determined at box 406 and box 404. Stored in memory, for example, a phase array held in memory. In the middle. At position 408, element r il The phase is rotated to determine the phase at box 404. The value of r makes element r il It becomes a positive real number. In one embodiment, element r il Multiply With rotation element r il The phase of element r makes the element r il It becomes a positive real number. At box 410, the integer counter k is initialized to the current value of the integer counter l. At boxes 412-416, element r... il The phase of the remaining elements in a portion of the rows is iteratively rotated until the matrix has been reached. The number of columns (i.e., k>N at box 416) c If true, then N c It is a matrix (the number of columns). In one embodiment, element r... il The phase of the remaining elements of a portion of the row is iteratively rotated to the phase determined at box 404. The value of . For example, in one embodiment, element r il It is the remaining elements of a portion of the rows multiplied by Rotate the phase of the remaining elements in that row to the phase determined at box 404. The value of .

[0069] At box 418, the integer counter i is incremented. At box 420, it is determined whether the matrix has been reached. The last line. If the last line has not yet been reached (i.e., if i ≤ N at box 420). r If true, then N r It is a matrix If the number of rows in the matrix is ​​determined, then technique 400 returns to box 404, and subsequent iterations of technique 400 are performed to rotate the matrix. The elements are selected such that the first element of the subsequent row is a positive real number. Alternatively, in one embodiment, if it is determined at box 420 that the last row has been reached (i.e., if i > N), the elements are selected such that the first element of the subsequent row is a positive real number. r If the matrix is ​​true, then the matrix is ​​true. The determination is complete, and Technology 400 is terminated. The following section discusses... Figures 7A-7F An example phase rotation operation is described in an example embodiment with four spatial flows.

[0070] Return to reference Figure 3B At box 322, Figure 3B The integer counter i is set to the value l+1. In box 324, for i from l+1 to N... r For the matrix element r il Perform a Givens rotation operation. In one embodiment, the Givens rotation makes the matrix... element r il Rotate to bring the elements to zero. Figure 5A This is a flowchart 500 according to one embodiment, illustrating a Givens rotation operation performed at block 324 for a specific value of i and for a specific phase l. During the specific phase l, technique 500 targets values ​​from l+1 to N. r Each value of i is performed, and the resulting matrix product is determined to generate a matrix. refer to Figure 5A In box 501, the value of i is set to l+1. In box 502, (r ll +jr il ) angle ψ il It is determined that r ll and r il Each is a matrix The index is the real part of the element of ll and il. The angle ψ is determined at box 504 and box 502. il It is stored in memory, for example, in a phase array ψ held in memory. At box 506, there is an input r. ll ,r il ,ψ il The derotation operation is performed. (Brief reference) Figure 5B The general technique 550 for a derotation operation with inputs x, y, θ includes boxes 552 and 554. In box 552, the values ​​of variables a and b are calculated according to the following formula:

[0071] a = xcos(θ) + ysin(θ) Equation 8

[0072] b = -xsin(θ) + ycos(θ) Equation 9

[0073] At box 554, in one embodiment, x and y are set to the calculated values ​​of a and b, respectively, and the rotation operation is completed.

[0074] Return to reference Figure 5A At box 510, the integer counter k is initialized to l+1. At box 512, two derotation operations are performed. Specifically, in one embodiment, the input Re(c) is... lk ),Re(c ik ),ψ ilThe first rotation is as mentioned above. Figure 5B The described execution, where c lk and c ik It is a matrix The complex elements are indexed as lk and ik, respectively. Additionally, in one embodiment, the input Im(c) is... lk ), Im(c ik ),ψ il The second rotation is as described above. Figure 5B The described execution, where c lk and c ik It is a matrix The multiple elements are indexed as lk and ik, respectively.

[0075] At box 514, the integer counter k is incremented. At boxes 512-518, the matrix... Rows i and l, and columns l+1 to N c All elements are iteratively derotated according to the derotation performed at box 506.

[0076] At box 518, determine whether the matrix has been reached. The last column. If it is determined at box 518 that the matrix has not yet been reached. The last column (i.e., if k≤N) c If true, then technique 500 returns to box 512, and the next element c in rows l and i is... lk and c ik The rotations are performed separately. On the other hand, in one embodiment, if it is determined at box 518 that the matrix has been reached... The last column (i.e., if k > N) c If true, then block G is used for the current iteration i. il The operation is complete.

[0077] Still referencing Figure 5A At box 520, the integer counter i is incremented. At box 522, it is determined whether the matrix has been reached. The last row. If it is determined at box 520 that the matrix has not yet been reached. The last row (i.e., if i≤N) r If true, then technology 500 returns to box 502, and G il Another iteration i of the block is executed. Alternatively, in one embodiment, if it is determined at block 520 that the matrix has been reached... The last row (i.e., if i > N) r If true, then technical 500 terminates.

[0078] The following text is about Figures 7A-7FTo describe an example Givens rotation operation in an example embodiment with four spatial flows.

[0079] Return to reference Figure 3B At box 326, the integer counter l is incremented. At box 328, it is determined whether the final space flow has been reached. If it is determined at box 328 that the final space flow has not yet been reached (i.e., if l ≤ N), then... ss If the condition is true, then technique 300 returns to box 312, and another phase of the QR decomposition (boxes 312-328) is executed. Alternatively, in one embodiment, if it is determined at box 328 that the final spatial flow has been reached (i.e., if l > N), then... ss If the matrix is ​​true, then the matrix is ​​true. The QR decomposition is complete, and technology 300 is terminated.

[0080] In one embodiment, the angles are stored at frames 406 and 504, respectively. ψ generally corresponds to the feedback angle that needs to be fed back to AP 114. and ψ ij In one embodiment, client station 154-1 is configured to further process angles. To determine the new set of feedback angles φ ij For example, customer station 154-1 determines the new set of angles φ using the following method. ij According to the following formula, each angle is determined from each of the other rows in stage j. In the middle, subtract the angle determined in the last line of stage j.

[0081]

[0082] Where j ≤ i < n. On the other hand, in one embodiment, the angle ψ stored at box 504 does not require further calculation. In one embodiment, client station 154-1 is configured to quantize i) based on the angle stored at box 406. The determined new angle φ ij And ii) the angle ψ stored at box 504, and the quantized angle is provided as feedback to AP114.

[0083] Figures 6A-6B This is a flowchart of technique 600 according to one embodiment, technique 600 using multiple iterations of QR decomposition to jointly determine the guiding matrix and the compression feedback representing the guiding matrix. In one embodiment, the client station (e.g., Figure 1 The client station 154-1 is configured to implement technology 600 to determine the compressed feedback to be fed back to AP 114, and for illustrative purposes, refer to Figure 1The client station 154-1 will discuss technology 600. However, in other embodiments, method 600 is provided by an AP (e.g., Figure 1 It can be implemented by AP 114, or by another suitable communication device.

[0084] Technology 600 is roughly similar to Figures 3A-3B Technology 300, and includes with Figures 3A-3B Many boxes in the same numbered boxes as technical specification 300 are not described again for the sake of brevity. However, with Figures 3A-3B Unlike technique 300, technique 600 includes performing multiple iterations of QR decomposition to jointly determine the guiding matrix and the compressed feedback representing the guiding matrix.

[0085] refer to Figure 6A In one embodiment, technique 600 begins with the above description regarding... Figure 3A The description refers to boxes 302-308. Technique 600 continues at box 608, where the integer counter n is initialized to 1. Now refer to... Figure 6B At box 610, several initializations are performed. In one embodiment, the matrix... Initialized to be equal to the scaled matrix Similarly, in one embodiment, the matrix Initialized to be equal to the scaled matrix Additionally, in one embodiment, the integer counter l is initialized to equal 1. Technique 600 continues iteratively executing blocks 312-318, 620, 322, 624, and 326 until the number N of spatial streams in the channel matrix H is reached. ss At this point, the first iteration is complete. In one embodiment, boxes 620 and 624 are respectively similar to... Figure 3B Except for boxes 320 and 324, boxes 620 and 624 directly apply the phase rotation operation P and the Givens rotation operation G to the scaled matrix, respectively. To efficiently determine the scaled matrix The product of the matrix Q determined in the previous iteration.

[0086] Continue to refer to Figure 6B At box 614, in one embodiment, the matrix Set to equal matrix The conjugate transpose of the matrix Set to equal matrix And the integer counter l is set to equal to 1. At box 616, it is determined whether the iteration count N has been reached. iter If it is determined at box 616 that the iteration number has not yet been reached (i.e., if n < N), then... iterIf n is true, then at box 618, the integer counter n is incremented, and technique 600 returns to box 312 to begin another iteration n of boxes 312-318, 620, 322, 624, 326, 328, 614, and 616. Alternatively, in one embodiment, if it is determined at box 616 that the last iteration has been reached (i.e., if n ≥ N),... iter If true, this indicates that the determination of the guiding vector is complete, and technique 600 terminates. In one embodiment, client station 154-1 is configured based on the phase rotation angle determined in the last iteration n. The Givens rotation angle ψ is used to generate feedback to AP 114.

[0087] Figures 7A-7F This is a diagram illustrating various operations performed to jointly determine the steering matrix Q and the feedback angle representing the steering matrix Q in an example embodiment where the communication channel comprises four spatial streams. In one embodiment, the client station (e.g., Figure 1 Client station 154-1 is configured to implement compressed feedback when determining the feedback to be fed back to AP 114 for a channel with 4 spatial streams. Figures 7A-7F The operation is illustrated in the figure, and for illustrative purposes, please refer to [reference needed]. Figure 1 Let's discuss this on customer site 154-1. Figures 7A-7F However, in other embodiments, Figures 7A-7F The operation illustrated in the figure is performed by AP (e.g., Figure 1 It can be implemented by AP 114, or by another suitable communication device.

[0088] Figure 7A This is a diagram illustrating QR operations performed to decompose an example 4×4 matrix A in an embodiment where the communication channel includes four spatial streams, in order to jointly determine the guiding matrix and the compressed feedback representing the guiding matrix based on matrix A. Figure 7A In this context, variable c represents the complex number of the matrix, and variable r represents a positive real number. In one embodiment, Figure 7A The superscript in a matrix generally indicates the element before and after the corresponding operation of QR decomposition on the elements of matrix A. Therefore, for example, in one embodiment, the element... This represents the element in the first column and first row of matrix A before the first phase rotation operation P1 is performed. This represents the element in the first column and first row of matrix A after the first phase rotation operation P1 has been performed; In the first Givens rotation operation G 21 The elements in the first column and first row of matrix A after execution; etc.

[0089] like Figure 7A As illustrated in the diagram, the QR decomposition of the 4×4 matrix A 702 is performed in three stages. In the first stage of the QR decomposition, the first phase rotation operation P1 rotates the elements in the first column of matrix A [1:4, 1:4], making the elements positive real numbers. Then, the Givens rotation operation G... 21 G 31 and G 41 The operations are performed sequentially to zero out the elements in the second, third, and fourth rows of the first column of the rotated matrix A, respectively. In the illustrated embodiment, the first stage of the QR decomposition produces matrix B704. In the second stage of the QR decomposition, the second phase rotation operation P2 rotates the elements in the first column of the submatrix B[2:4,2:4] such that the elements become positive real numbers. Then, the Givens rotation operation G... 32 and G 42 The operations are performed sequentially to zero out the elements in the second and third rows of the first column of the rotated submatrix B[2:4,2:4]. In the illustrated embodiment, the second stage of the QR decomposition produces matrix C 706. In the third stage of the QR decomposition, the third phase rotation operation P3 rotates the elements in the first column of the submatrix C[3:4,3:4] so that the elements become positive real numbers. Then, the Givens rotation operation G... 43 This is performed to zero out the elements in the second row of the first column of the rotated submatrix C[3:4,3:4]. In the illustrated embodiment, the third stage of the QR decomposition produces matrix 708.

[0090] Figure 7A The cumulative effect of the operation applied to matrix 702 to obtain matrix 708 can be written as matrix multiplication Q. H =G 43 P3G 42 G 32 P2G 41 G 31 G 21 P1, where P1, P2, and P3 are Figure 7B The matrix shown in the figure, and G 21 G 31 G 41 G 32 G 42 and G 43 yes Figure 7C The matrix shown in the diagram. Figures 7B-7C As shown, Figure 7A Operations in set of angles The set of angles {ψ} 21 ,ψ 31 ,ψ 41 ,ψ32 ,ψ 42 ,ψ 43 In one embodiment, Figure 7A The phase rotation (P) operation used in Angles such as Figure 7D As illustrated in the figure, it is determined. In one embodiment, Figure 7A The ψ angle used in the Givens rotation (G) operation is as follows: Figure 7E It is determined as illustrated in the figure. In one embodiment, as shown... Figure 7D As shown in the diagram, the determination is as follows. The set of angles, such as Figure 7F As illustrated in the figure, it is further processed to calculate a new set of φ angles. In one embodiment, as... Figure 7F The new set of φ determined as shown in the figure and as Figure 7E The set of ψ angles defined as illustrated in the figure includes the feedback angle. Therefore, in one embodiment, as... Figure 7F The new set of φ determined as shown in the figure and as Figure 7E The set of ψ angles, as shown in the diagram, is quantized and fed back to AP 114.

[0091] Figure 8 This is a flowchart of an example method 800 according to one embodiment, which is used to provide beamforming feedback in a communication channel. In one embodiment, method 800 is implemented by a first communication device. (See reference...) Figure 1 In one embodiment, method 800 is implemented by network interface device 162. For example, in one such embodiment, PHY processor 170 is configured to implement method 800. According to another embodiment, MAC processor 166 is also configured to implement at least a portion of method 800. Continuing to refer to... Figure 1 In yet another embodiment, method 800 is implemented by network interface device 122 (e.g., PHY processor 130 and / or MAC processor 126). In other embodiments, method 800 is implemented by other suitable network interface devices.

[0092] At block 802, multiple training signals are received from the second communication device. In one embodiment, a probe packet is received, wherein the probe packet includes multiple training signals. In one embodiment, the training signals are received in one or more LTF fields of the probe packet. In other embodiments, the training signals are received in other suitable manner.

[0093] At block 804, the channel matrix corresponding to the communication channel is determined. In one embodiment, the channel matrix is ​​determined based on the training signal received at block 802.

[0094] At block 806, the compressed feedback is determined based on the channel matrix determined at block 804. In one embodiment, determining the compressed feedback at block 806 does not include decomposing the steering matrix. In one embodiment, the compressed feedback uses... Figure 2 The technique 200 was determined. In another embodiment, compression feedback uses... Figures 3A-3B The technology 300 was determined. In yet another embodiment, compression feedback is used. Figures 6A-6B Technique 600 was determined. In other embodiments, the compression feedback was determined to use other suitable techniques that do not involve decomposing the guiding matrix.

[0095] At block 808, the compression feedback defined at block 806 is transmitted to the second communication device. In one embodiment, the compression feedback is transmitted to the second communication device such that the second communication device can direct at least one subsequent transmission to the first communication device based on the compression feedback. Therefore, in one embodiment, the first communication device is configured to receive at least one subsequent transmission directed based on the compression feedback from the second communication device.

[0096] In one embodiment, a method for providing beamforming feedback in a communication channel includes: receiving a plurality of training signals from a second communication device via the communication channel at a first communication device; determining a channel matrix corresponding to the communication channel at the first communication device based on the plurality of training signals; determining compressed feedback to be provided to the second communication device at the first communication device based on the channel matrix, wherein determining the compressed feedback does not include decomposing the steering matrix; and transmitting the compressed feedback from the first communication device to the second communication device such that the second communication device can steering at least one subsequent transmission to the first communication device.

[0097] In other embodiments, the method further includes one or any suitable combination of two or more of the following features.

[0098] The method further includes: at the first communication device, obtaining an intermediate matrix from the channel matrix, wherein determining the compression feedback includes decomposing the intermediate matrix.

[0099] Determining the intermediate matrix includes determining the product of the channel matrix and its Hermitian transpose.

[0100] Determining the intermediate matrix involves performing an initial QR decomposition of the channel matrix to obtain an initial Q matrix and an initial R matrix, where the conjugate transpose of the intermediate matrix is ​​the initial R matrix.

[0101] Decomposing the intermediate matrix involves performing a QR decomposition of the intermediate matrix to determine the Q matrix and the R matrix.

[0102] The method further includes: for each of one or more stages of the QR decomposition, determining a norm value corresponding to the column of a submatrix of the R matrix to be processed in that stage of the QR decomposition.

[0103] The method further includes, for each of one or more stages of the QR decomposition, prior to performing the QR decomposition of the submatrix, sorting the columns of the submatrix such that the column corresponding to the highest norm among the determined norms is the first column of the submatrix.

[0104] The second phase of determining the norm for QR decomposition includes updating the norm previously determined for the first phase of QR decomposition, where the first phase of QR decomposition is performed before the second phase of QR decomposition.

[0105] The method further includes, for each of one or more stages of the QR decomposition, dynamically scaling elements of a submatrix of the R matrix to be processed in that stage of the QR decomposition, including one of the following: i) dynamically scaling elements based on the absolute value of the largest of a) real part and b) imaginary part of the elements of the submatrix, such that the leading bit of the absolute value is logic 1, and ii) dynamically scaling elements based on the largest norm among the norms corresponding to the columns of the submatrix, such that the leading bit of the largest norm is logic 1.

[0106] Determining the compression feedback includes performing multiple iterations of the QR decomposition, including the initial iteration of multiple iterations on the intermediate matrix.

[0107] The method further includes determining, for each iteration of one or more iterations of the QR decomposition following the initial iteration of the QR decomposition, the product of the intermediate matrix and the Q matrix generated by the previous iteration of the QR decomposition, including determining the product by directly applying the QR decomposition to the scaled intermediate matrix during the previous iteration of the QR decomposition.

[0108] In another embodiment, a first communication device includes a network interface device having one or more integrated circuits configured to: receive a plurality of training signals from a second communication device via a communication channel; determine a channel matrix corresponding to the communication channel based on the plurality of training signals; determine a compression feedback to be provided to the second communication device based on the channel matrix, wherein determining the compression feedback does not include decomposing the bootstrap matrix; and transmit the compression feedback to the second communication device such that the second communication device can bootstrap at least one subsequent transmission to the first communication device.

[0109] In other embodiments, the first communication device further includes one or any suitable combination of two or more of the following features.

[0110] One or more integrated circuits are also configured to obtain an intermediate matrix from the channel matrix.

[0111] Determining the compression feedback includes: decomposing the intermediate matrix.

[0112] One or more integrated circuits are configured to determine an intermediate matrix by at least determining the product of the channel matrix and the Hermitian transpose of the channel matrix.

[0113] One or more integrated circuits are configured to determine an intermediate matrix by at least performing an initial QR decomposition of the channel matrix to obtain an initial Q matrix and an initial R matrix, wherein the conjugate transpose of the intermediate matrix is ​​the initial R matrix.

[0114] One or more integrated circuits are configured to decompose the intermediate matrix at least by performing QR decomposition of the intermediate matrix to determine the Q matrix and R matrix.

[0115] One or more integrated circuits are further configured to: for each of one or more stages of the QR decomposition, determine a norm value corresponding to a column of a submatrix of the R matrix to be processed in that stage of the QR decomposition.

[0116] One or more integrated circuits are further configured to: for each of one or more stages of QR decomposition, prior to performing QR decomposition of the submatrix, sort the columns of the submatrix such that the column corresponding to the highest norm among the determined norms is the first column of the submatrix.

[0117] One or more integrated circuits are configured to determine a norm value for a second stage of QR decomposition by at least updating the norm value previously determined for the first stage of QR decomposition, wherein the first stage of QR decomposition is performed before the second stage of QR decomposition.

[0118] One or more integrated circuits are further configured to, for each of one or more stages of the QR decomposition, dynamically scale the elements of a submatrix of the R matrix to be processed in that stage of the QR decomposition, including one of the following: i) dynamically scaling the elements based on the absolute value of the largest of a) real part and b) imaginary part of the elements of the submatrix, such that the leading bit of the absolute value is logic 1, and ii) dynamically scaling the elements based on the largest norm among the norms corresponding to the columns of the submatrix, such that the leading bit of the largest norm is logic 1.

[0119] One or more integrated circuits are configured to determine compression feedback by performing at least multiple iterations of QR decomposition, including the initial iteration of multiple iterations on the intermediate matrix.

[0120] One or more integrated circuits are further configured to: for each iteration of one or more iterations of the QR decomposition following the initial iteration of the QR decomposition, determine the product of the intermediate matrix and the Q matrix generated by the previous iteration of the QR decomposition, including determining the product by directly applying the QR decomposition to the scaled intermediate matrix during the previous iteration of the QR decomposition.

[0121] At least some of the various frameworks, operations, and techniques described above can be implemented using hardware, a processor executing firmware instructions, a processor executing software instructions, or any combination thereof. When implemented using a processor executing software or firmware instructions, the software or firmware instructions can be stored in any computer-readable storage medium, such as on a disk, optical disk, or other storage medium, in RAM or ROM or flash memory, in a processor, hard disk drive, optical disk drive, tape drive, etc. The software or firmware instructions may include machine-readable instructions that, when executed by one or more processors, cause one or more processors to perform various actions.

[0122] When implemented in hardware, the hardware may include one or more of discrete components, integrated circuits, application-specific integrated circuits (ASICs), programmable logic devices (PLDs), etc.

[0123] Although the invention has been described with reference to specific examples intended to be illustrative and not limiting, changes, additions and / or deletions may be made to the disclosed embodiments without departing from the scope of the invention.

Claims

1. A method for providing beamforming information about a communication channel, characterized in that... The method includes: The initial matrix is ​​calculated at the first communication device based on the estimate of the communication channel; At the first communication device, matrix decomposition of the initial matrix is ​​performed to decompose the initial matrix into a plurality of decomposed matrices, wherein performing the matrix decomposition includes determining the angle of a rotation operation performed on the initial matrix as part of decomposing the initial matrix, and wherein determining the angle of the rotation operation performed on the initial matrix includes: Determine the first angle of the first rotation operation performed on the rows of the initial matrix as part of performing the matrix decomposition, and Determine a second angle for the second rotation operation performed on the columns of the initial matrix as part of performing the matrix decomposition; Determining compression feedback at the first communication device using the angle determined as part of the decomposition of the initial matrix into the plurality of decomposition matrices includes: using i) the first angle determined as part of the decomposition of the initial matrix into the plurality of decomposition matrices, and ii) the second angle determined as part of the decomposition of the initial matrix into the plurality of decomposition matrices, wherein the compression feedback is a compressed representation of the beamforming steering matrix corresponding to the estimation of the communication; and The compression feedback is transmitted from the first communication device to the second communication device so that the second communication device can perform beamforming on at least one subsequent transmission to the first communication device.

2. The method according to claim 1, wherein: The first angle is determined as a phase rotation performed on the rows of different submatrices of the initial matrix to transform the elements of the columns of the submatrices into positive real numbers; as well as The second angle is determined to correspond to a Givens rotation performed on the columns of the different submatrix to transform the elements of the columns of the submatrix to zero.

3. The method according to any one of claims 1 or 2, further comprising: At the first communication device, a channel estimation matrix H corresponding to the estimation of the communication channel is determined; as well as H is used at the first communication device to calculate the initial matrix.

4. The method of claim 3, wherein determining the initial matrix comprises determining the product of H and the Hermitian transpose of H.

5. The method according to any one of claims 3 or 4, further comprising: Multiple training signals are received from the second communication device via the communication channel at the first communication device; as well as The estimation of the communication channel is determined at the first communication device based on receiving the plurality of training signals.

6. The method according to any one of claims 1 to 5, wherein: Performing the matrix decomposition of the initial matrix includes multiple iterations of the matrix decomposition algorithm, including the last iteration. Each iteration of the matrix factorization algorithm includes determining a set of angles corresponding to the rotation operations performed on the corresponding matrix during the iteration. as well as Determining the compression feedback includes using the set of angles determined as part of the last iteration.

7. The method according to any one of claims 1 to 6, wherein decomposing the initial matrix comprises performing a QR decomposition of the initial matrix to determine an orthogonal Q matrix and an upper triangular R matrix.

8. The method according to any one of claims 1 to 7, wherein the matrix decomposition of the initial matrix is ​​performed such that the product of the plurality of decomposed matrices is equal to the initial matrix.

9. The method according to any one of claims 1 to 8, wherein performing the matrix decomposition of the initial matrix comprises: Determine the norm values ​​corresponding to the columns of the submatrices of the initial matrix; as well as The columns of the submatrix are sorted using the norm value.

10. A first communication device for providing beamforming information about a communication channel, characterized in that... The first communication device includes: A network interface device having one or more integrated circuits (ICs) configured to: The initial matrix is ​​calculated based on the estimation of the communication channel. Performing matrix decomposition on the initial matrix to decompose the initial matrix into a plurality of decomposed matrices, wherein performing the matrix decomposition includes determining the angle of a rotation operation performed on the initial matrix as part of decomposing the initial matrix, and wherein determining the angle of the rotation operation performed on the initial matrix includes: Determine the first angle of the first rotation operation performed on the rows of the initial matrix as part of performing the matrix decomposition, and Determine a second angle for the second rotation operation performed on the columns of the initial matrix as part of performing the matrix decomposition; The one or more ICs are further configured to: Determining compression feedback at the first communication device using the angle determined as part of the plurality of decomposed matrices of the initial matrix includes: using i) the first angle determined as part of the plurality of decomposed matrices of the initial matrix, and ii) the second angle determined as part of the plurality of decomposed matrices of the initial matrix, wherein the compression feedback is a compressed representation of the beamforming steering matrix corresponding to the estimate of the communication channel; and The one or more ICs are further configured to transmit the compression feedback to the second communication device so that the second communication device can perform beamforming on at least one subsequent transmission to the first communication device.

11. The first communication device according to claim 10, wherein the one or more ICs are further configured to: The first angle is determined as a phase rotation performed on the rows of different submatrices of the initial matrix to transform the elements of the columns of the submatrices into positive real numbers; and The second angle is determined to correspond to a Givens rotation performed on the columns of the different submatrix to transform the elements of the columns of the submatrix to zero.

12. The first communication device according to claim 10 or 11, wherein the one or more ICs are further configured to: At the first communication device, determine the channel estimation matrix H corresponding to the estimation of the communication channel; and H is used at the first communication device to calculate the initial matrix.

13. The first communication device according to claim 12, wherein the one or more ICs are further configured to: The initial matrix is ​​determined as the product of H and the Hermitian transpose of H.

14. The first communication device according to claim 12 or 13, wherein the one or more ICs are further configured to: Receive multiple training signals from the second communication device via the communication channel; and The estimation of the communication channel is determined based on receiving the plurality of training signals.

15. The first communication device according to any one of claims 10 to 14, wherein: The one or more ICs are further configured to perform the matrix decomposition of the initial matrix by performing multiple iterations of a matrix decomposition algorithm, the multiple iterations including the last iteration; Each iteration of the matrix factorization algorithm includes determining a set of angles corresponding to the rotation operations performed on the corresponding matrix during the iteration. as well as The one or more ICs are also configured to use the set of angles determined as part of the last iteration to determine the compression feedback.

16. The first communication device according to any one of claims 10 to 15, wherein the one or more ICs are further configured to determine an orthogonal Q matrix and an upper triangular R matrix by performing QR decomposition of the initial matrix.

17. The first communication device according to any one of claims 10 to 16, wherein the one or more ICs are further configured to perform the matrix decomposition of the initial matrix such that the product of the plurality of decomposed matrices is equal to the initial matrix.

18. The first communication device according to any one of claims 10 to 17, wherein the one or more ICs are further configured to, as part of performing the matrix decomposition of the initial matrix: Determine the norm values ​​corresponding to the columns of the submatrices of the initial matrix; and The columns of the submatrix are sorted using the norm value.

19. The first communication device according to any one of claims 10 to 18, wherein the network interface device includes one or more wireless transceivers implemented on the one or more ICs.

20. The first communication device according to claim 19, further comprising: One or more antennas are coupled to the one or more transceivers.