Some embodiments of the present invention pertain to wireless communication systems. Some embodiments pertain to beamforming using codebooks in closed-loop multiple-input multiple-output (MIMO) systems. Some embodiments relate to orthogonal frequency division multiplexed (OFDM) communications. Some embodiments relate to COordinate Rotation DIgital Computer (CORDIC) algorithms for calculating trigonometric functions using additions and shift operations.
Closed-loop MIMO systems typically transmit channel state information from a receiver to a transmitter over a feedback path. The channel state information may be used to employ beamforming to compensate for the current channel conditions increasing signal-to-noise (SNR) levels at the receiver. In some of these conventional systems, a beamforming matrix may be generated at the receiver based on the channel conditions. Codewords of the codebook may be provided to the transmitter as feedback. The codewords may indicate which beamforming matrix is to be used by the transmitter.
In MIMO systems, the process of determining the beamforming matrix from the channel conditions, searching for the proper codewords, and quantizing the codewords is processing intensive, conventionally requiring many complex multiplication operations. This is particularly an issue in MIMO devices as the number of transmit and receive antennas increase.
Thus, there are general needs for MIMO receivers and methods for providing feedback for beamforming with reduced processing.
The following description and the drawings sufficiently illustrate specific embodiments of the invention to enable those skilled in the art to practice them. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Examples merely typify possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in or substituted for those of other embodiments. Embodiments of the invention set forth in the claims encompass all available equivalents of those claims. Embodiments of the invention may be referred to herein, individually or collectively, by the term “invention” merely for convenience and without intending to limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed.
In some embodiments, reprogrammable CORDIC circuitry 106 may comprise a plurality of CORDIC elements 108 which may be reconfigured and/or reprogrammed by controller 110 to perform various CORDIC operations to generate quantized codewords 107. In these embodiments, reprogrammable CORDIC circuitry 106 may perform CORDIC operations using additions and shift operations instead of using multiplication operations. In these embodiments, reprogrammable CORDIC circuitry 106 may be configured to perform complex singular value decomposition (SVD) operations on channel matrix H 103 using CORDIC operations to generate the vector elements of a beamforming matrix V. Reprogrammable CORDIC circuitry 106 may also be configured to compute an inner product of a first of the vector elements and each of a plurality of codewords Ck using CORDIC operations to provide a quantized first vector element. Reprogrammable CORDIC circuitry 106 may also be configured to perform a recursive dimensional reduction on the beamforming matrix V based on the quantized first vector element using CORDIC operations to quantize remaining vector elements of the beamforming matrix as codewords. These embodiments are discussed in more detail below.
In some embodiments, MIMO receiver 100 may include codeword storage element 104 to store the codewords Ck in a non-vector form. The codewords in non-vector form may be used to compute the inner products using CORDIC operations. The non-vector form may comprise a series of rotation angles allowing the CORDIC operations to be performed during the inner product computations. In some embodiments, the codewords Ck may be stored in the non-vector form as a series of complex phase rotations and Given's rotations. In some embodiments, the codewords may be stored in the non-vector form prior to the inner product computations. These embodiments are also discussed in more detail below.
Although MIMO receiver 100 is illustrated as having several separate functional elements, one or more of the functional elements may be combined and may be implemented by combinations of software-configured elements, such as processing elements including digital signal processors (DSPs), and/or other hardware elements. For example, some elements may comprise one or more microprocessors, DSPs, application specific integrated circuits (ASICs), and combinations of various hardware and logic circuitry for performing at least the functions described herein. In some embodiments, the functional elements of MIMO receiver 100 may refer to one or more processes operating on one or more processing elements.
Referring to
In accordance with some embodiments, reprogrammable CORDIC circuitry 106 may be used generate quantized codewords for beamforming in a MIMO wireless communication system. In these embodiments, complex SVD operations may be performed on channel matrix H 103 using CORDIC operations to generate vector elements (i.e., 4×1 column vectors V1, V2, V3 and V4) of beamforming matrix V. An inner product of the first vector element V1 and each of the stored codewords Ck may be calculated using CORDIC operations to provide a quantized first vector element (i.e., V1=Ck). A recursive dimensional reduction may be performed on the beamforming matrix V based on the quantized first vector element V1 using CORDIC operations to quantize remaining vector elements of the beamforming matrix as codewords. In these embodiments, the codewords Ck used to compute the inner products are in a non-vector form comprising a series of rotation angles. This allows the CORDIC operations to be performed during the inner product computations rather than complex vector multiplication operations. This may result in a significant reduction in processing by reducing and/or eliminating most complex multiplication operations. In some embodiments, the vector elements (V1, V2, V3, and V4) of the beamforming matrix V may comprise column vectors, although the scope of the invention is not limited in this respect.
In some embodiments, the complex SVD operations are performed by the one or more CORDIC elements 108, the inner product may be computed by the one or more CORDIC elements 108, and the recursive dimensional reduction may be performed by the one or more CORDIC elements 108. In these embodiments, the CORDIC operations may comprise complex phase rotations and Given's rotations. These embodiments are discussed in more detail below.
In some embodiments, each of a plurality of vector codewords of a vector codebook may be decomposed into the series of complex phase rotations and Given's rotations using CORDIC operations performed by one or more of the CORDIC elements 108. In some embodiments, the codewords may be dynamically generated by parameters stored in codeword storage element 104 using CORDIC operations to represent each codeword by angles instead of vectors.
In some embodiments, the first vector element V1 may be quantized with a codeword, and a recursive dimensional reduction may be performed on the beamform matrix V which may include performing a unitary operation with the quantized vector element V1 using CORDIC operations and a recursive quantization in a lower dimension.
In some embodiments, the CORDIC operations performed for computing the inner products comprises an identification of one or more of the codewords for use in generation of beamforming coefficients at a transmitting station, although the scope of the invention is not limited in this respect.
For symmetric MIMO configurations, in some embodiments, the complex SVD operations may comprise zeroing-out off-diagonal elements of the channel matrix H in an iterative manner by performing CORDIC operations to generate the beamforming matrix V. In these embodiments, the channel matrix H is a square matrix for symmetric MIMO configurations where the number of transmit antennas is the same as the number of receive antennas. The zeroing-out the off-diagonal elements may comprise zeroing-out off-diagonal elements of 2×2 submatrices of the channel matrix in an iterative manner.
For asymmetric MIMO configurations, the complex SVD operations may include performing a QR decomposition on channel matrix H+ by applying complex phase rotations and Given's rotations using CORDIC operations to zero-out preselected elements of the channel matrix to generate an R matrix. SVD operations are then performed on the R matrix to determine the beamforming matrix V. In these embodiments, the channel matrix H is a non-square matrix for asymmetric MIMO configurations where the number of transmit antennas is not the same as the number of receive antennas. In these embodiments, the QR decomposition of a matrix is a decomposition of the matrix into an orthogonal matrix Q and an upper triangular matrix R. QR decomposition may be referred to as orthogonal matrix triangularization. These embodiments are described in more detail below.
In accordance with embodiments, a CORDIC operation that may be performed by any one or more of CORDIC elements 108 may be described by the following equation as rotations in real space.
In accordance with some embodiments, a 4×4 beam forming matrix may be represented by V=[V1, V2, V3, V4], where each vector element is a 4×1 column vector. The beamforming matrix V satisfies the relation V+V=I. To quantize the first column vector V1, a four-dimensional complex inner product may be calculated and the maximum may be selected in accordance with the following expression:
In this equation, codeword Ck (a codebook entry) may be a unit norm vector. With conventional matrix multiplication implementation, four complex multiplications, two more real multiplications, and a square root would be performed to calculate the inner product. Since each complex multiplication may be realized by three real multiplications, the total complexity is 14 real multiplications and one square root.
In accordance with some embodiments of the present invention, reprogrammable CORDIC circuitry 106 may be reconfigured to calculate the inner product and perform SVD computations. The reuse of the existing circuits (i.e., CORDIC elements 108) within reprogrammable CORDIC circuitry 106 may reduce the circuit area needed.
In accordance with some embodiments, each unitary codeword Ck may be expressed as a series of Given's rotations as shown below:
Based on the above equation, the inner product may be expressed as:
The absolute value of the inner product can be written as shown below.
Each complex phase rotation Ψ(n, φ) on a complex value is one CORDIC. Each Given's rotation G(i,j,θ) operation on a complex pair [x1+y1i,x2+y2i] includes two CORDIC operations, one each on real and imaginary parts. There are a total of 3*(2+1)=9 CORDIC operations for each four-dimensional inner product. The absolute value (ABS) function takes one more CORDIC operations. For three-dimensional and two-dimensional inner products, there are seven and four CORDIC operations respectively.
The following table compares computation complexity of vector internal products using multiplier operations and CORDIC operations, where N corresponds to the size of the unitary matrix.
Using 6-bit, 5-bit, and 4-bit codebooks for four-dimensional, three-dimensional, and two-dimensional vector codebooks respectively, the quantization search in the four-dimensional codebooks consumes 26*10=640 CORDIC operations. After the quantization of the first column vector {circumflex over (V)}1=CK, the V matrix may be transformed by the following operation illustrated below in Equation 3:
In this equation, [V21V31V41] is a 3×3 unitary matrix. Operations on the first column vector V1 may be omitted. This transformation may consume 3*9=27 operations. In accordance with embodiments, the quantization on the 3×3 unitary matrix [V21V31V41] with 5-bit three-dimensional vector codebook and the resulting 2×2 unitary matrix with 4-bit two-dimensional vector codebooks. The total complexity may comprise 26*10+3*9+25*7+2*6+24*4=967 CORDIC operations.
For embodiments that utilize 2×1 beamforming, 22=4 inner products are computed, which comprises 16 CORDIC operations. For embodiments that utilize 4×2 beamforming, 24=16 inner products are computed for the first singular mode, which comprise 160 CORDIC operations. In these embodiments, eight codewords may be selected. The eight codewords may be used to rotate the second column of the beamforming matrix to reduce it to a three-dimensional matrix from a four-dimensional matrix. The matrix reduction may comprise 8*9=72 CORDIC operations. Computing the three-dimensional inner product with the eight selected codewords may comprise 8*8*7=448 CORDIC operations. Therefore a total of 160+72+448=680 CORDIC operations may be performed.
For embodiments that utilize 4×3 beaming, 160 CORDIC operations may be performed to select twelve codewords out of 16 four-dimensional codewords. The dimension reduction of the beam forming matrix may comprise 12*10*2=240 CORDIC operations. Computing the three-dimensional inner product with eight codewords may comprise 8*12*7=672 CORDIC operations. Selecting 24 codewords and reducing the beamforming matrix to two dimensions may comprise 24*6=144 CORDIC operations. The two-dimensional inner product may comprise 24*4*4=384 CORDIC operations. The total complexity for 4×2 beamforming may comprise 160+240+672+144+384=1600 CORDIC operations.
In some embodiments, a similar process may be used to perform matrix inner products which may be useful for matrix codebooks based one quantization. In these embodiments, Given's angles may also be extracted from a unitary/orthogonal matrix for efficient storage and/or compressed feedback, as described below.
In accordance with some embodiments, reprogrammable CORDIC circuitry 106 may be reconfigured to perform a complex SVD operation using CORDIC operations. For a real 2×2 matrix A, the 2-sided Jacoby rotation may be illustrated as:
B=R(θ1)TAR(θ2)
This operation may utilize two CORDIC operations, 10 addition operations, and four scaling by ½ operations. For a real 2×2 matrix A, matrix A may be diagonalized and the corresponding rotation angles θ1 and θ2 may be calculated by two CORDIC operations, eight addition operations and four scaling by ½ operations.
For a complex 2×2 matrix A, a Cartesian-to-polar coordinate transformation may be performed as follows:
This may utilize four CORDIC operations. A complex rotation may be performed as follows to make second column real.
The complex rotation may utilize two addition operations. A conversion back to Cartesian coordinate may be performed as follows, which may utilize two CORDIC operations.
The α12 term may be zeroed out by a Given's rotation as follows:
And the terms μ and d22 may be obtained with one CORDIC operation. The following computation may utilize two additional CORDIC operations. Since the first column is complex, the real and imaginary parts each may utilize a CORDIC operation as follows:
A conversion from Cartesian coordinates to polar coordinates may be performed utilizing another two CORDIC operations as follows:
By mathematical manipulation, the following equation may result:
In some embodiments, an additional addition operation may be performed to compute the U matrix, which is discussed below. In some embodiments, the real Jacoby may be used to diagonalize the following expression
utilizing two CORDIC operations, six addition operations, and four scaling by ½ operations. Since one of the off-diagonal elements is zero, two addition operations may be eliminated. Based on this, a total of 13 CORDIC operations, eight addition operations, and four scaling by ½ operations may be performed to diagonalize a 2×2 complex matrix. The SVD of A=UΣV+ may be obtained from the following equation:
In some embodiments, U and V matrixes may be stored in the form illustrated above. The numerical value of the elements of the V matrix may be calculated utilizing two CORDIC operations, and the U matrix may utilize 10 CORDIC operations.
In accordance with some embodiments, reprogrammable CORDIC circuitry 106 may be configured to compute the SVD of any n×n complex matrix utilizing the 2×2 method discussed above by zeroing out the off-diagonal elements one by one. Iterations are performed so that the solution converges. In these embodiments, an n×n complex matrix A may be described by the following equation:
A single 2-sided Jacoby to zero out off-diagonal element 12 and 21
utilizes 13 CORDIC operations based on the above. Multiplying out the full matrix results in the following expression:
Accordingly, U12B utilizes 7(n−2) CORDIC operations, and CV12+ utilizes 3(n−2) CORDIC operations. The total operations for one Jacoby may comprise 13+10(n−2) CORDIC operations.
To sweep through all the off-diagonal elements, reprogrammable CORDIC circuitry 106 may utilize n(n−1)/2 2-sided Jacoby operations. If three iterations are performed for good convergence, the estimate of CORDIC operations to calculate the singular values of an n×n complex matrix may be shown as follows:
To construct the V matrix, multiple 3n(n−1)/2 terms of
[e−jφ
3n(n−1)/2*3n=9n2(n−1)/2 and 3n(n−1)/2*7n=21n2(n−1)/2 for the V and U matrices, respectively.
In asymmetric MIMO configurations such as 2×1, 4×2 and 4×3, where the transmitters have more antennas than the receivers, some embodiments of the present invention may perform SVD by implementing a QR decomposition for complexity reduction. In 4×3 embodiments, instead of computing the SVD for a 3×4 channel matrix H+, reprogrammable CORDIC circuitry 106 may utilize a channel matrix in the form H+. In these embodiments, reprogrammable CORDIC circuitry 106 may begin the QR decomposition by using a Given's rotation to zero out the 41 element of the matrix, which takes one CORDIC operation to extract the phase, and two CORDIC operations to rotate the 42 and 43 elements of the matrix. The Given's rotation takes one CORDIC operation to calculate the angle, four CORDIC operations to rotate elements 42/32 and 43/33 for a total of eight CORDIC operations, as illustrated below.
Similarly, zeroing out elements 13 and 12 of the matrix may unitize 16 CORDIC operations plus one additional CORDIC operation for extracting the angles of element 11. Repeating this for 2nd and 3rd columns of the matrix utilizes another 11 CORDIC operations and three CORDIC operations, respectively. The total complexity of the QR decomposition for a 4×3 matrix is 25+11+3=39 CORDIC operations, as illustrated by the following:
The SVD computation of a 3×3 matrix may utilize 207 CORDIC operations. The beam forming matrix V for the transmitter may be equivalent to
which may utilize 54 CORDIC operations. The extraction of the U matrix from the SVD may utilize 189 CORDIC operations. A total complexity for a 4×3 SVD may utilize 39+207+54+189=489 CORDIC operations. The quantization of 4×3 V matrix by a 654 codebook may be the same as the 4×4 V matrix quantization.
In accordance with some embodiments, for a general m×n matrix, with m>n, the QR complexity may be represented as follows:
Accordingly, significant processing reduction may be achieved when reprogrammable CORDIC circuitry 106 is configured to perform QR decompositions as part of the SVD computations.
Referring to
In some embodiments, MIMO receiver 100 may be part of a broadband wireless access (BWA) network communication station, such as a Worldwide Interoperability for Microwave Access (WiMax) communication station, although the scope of the invention is not limited in this respect as MIMO receiver 100 may be part of almost any wireless communication device. In some embodiments, MIMO receiver 100 may be part of a portable wireless communication device, such as a personal digital assistant (PDA), a laptop or portable computer with wireless communication capability, a web tablet, a wireless telephone, a wireless headset, a pager, an instant messaging device, a digital camera, an access point, a television, a medical device (e.g., a heart rate monitor, a blood pressure monitor, etc.), or other device that may receive and/or transmit information wirelessly.
In some embodiments, the frequency spectrums for the communication signals received by MIMO receiver 100 may comprise either a 5 gigahertz (GHz) frequency spectrum or a 2.4 GHz frequency spectrum. In these embodiments, the 5 GHz frequency spectrum may include frequencies ranging from approximately 4.9 to 5.9 GHz, and the 2.4 GHz spectrum may include frequencies ranging from approximately 2.3 to 2.5 GHz, although the scope of the invention is not limited in this respect, as other frequency spectrums are also equally suitable. In some BWA network embodiments, the frequency spectrum for the communication signals may comprise frequencies between 2 and 11 GHz, although the scope of the invention is not limited in this respect.
In some embodiments, MIMO receiver 100 may receive signals in accordance with specific communication standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.16-2004 and the IEEE 802.16(e) standards for wireless metropolitan area networks (WMANs) including variations and evolutions thereof, although the scope of the invention is not limited in this respect as they may also be suitable to transmit and/or receive communications in accordance with other techniques and standards. For more information with respect to the IEEE 802.16 standards, please refer to “IEEE Standards for Information Technology—Telecommunications and Information Exchange between Systems”—Metropolitan Area Networks—Specific Requirements—Part 16: “Air Interface for Fixed Broadband Wireless Access Systems,” May 2005 and related amendments/versions.
Antennas 101 may comprise one or more directional or omnidirectional antennas, including, for example, dipole antennas, monopole antennas, patch antennas, loop antennas, microstrip antennas or other types of antennas suitable for transmission of RF signals. In some multiple-input, multiple-output (MIMO) embodiments, two or more antennas may be used. In some embodiments, instead of two or more antennas, a single antenna with multiple apertures may be used. In these embodiments, each aperture may be considered a separate antenna. In some embodiments, each antenna may be effectively separated to take advantage of spatial diversity.
In some embodiments, MIMO receiver 100 may communicate in accordance with standards such as the Pan-European mobile system standard referred to as the Global System for Mobile Communications (GSM), including communication techniques in accordance with 2.5G and 3G wireless standards (See 3GPP Technical Specification, Version 3.2.0, March 2000). In some embodiments, MIMO receiver 100 may communicate in accordance with other standards or other air-interfaces including interfaces compatible with the enhanced data for GSM evolution (EDGE) standards (see 3GPP Technical Specification, Version 3.2.0, March 2000), although the scope of the invention is not limited in this respect.
Unless specifically stated otherwise, terms such as processing, computing, calculating, determining, displaying, or the like, may refer to an action and/or process of one or more processing or computing systems or similar devices that may manipulate and transform data represented as physical (e.g., electronic) quantities within a processing system's registers and memory into other data similarly represented as physical quantities within the processing system's registers or memories, or other such information storage, transmission or display devices. Furthermore, as used herein, a computing device includes one or more processing elements coupled with computer-readable memory that may be volatile or non-volatile memory or a combination thereof.
Embodiments of the invention may be implemented in one or a combination of hardware, firmware, and software. Embodiments of the invention may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by at least one processor to perform the operations described herein. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium may include read-only memory (ROM), random-access memory (RAM), magnetic disk storage media, optical storage media, flash-memory devices, and others.
The Abstract is provided to comply with 37 C.F.R. Section 1.72(b) requiring an abstract that will allow the reader to ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to limit or interpret the scope or meaning of the claims. The following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate embodiment.
This patent application claims the benefit of priority under 35 U.S.C. 119(e) to the U.S. Provisional Patent Application Ser. No. 60/785,694, filed Mar. 24, 2006, which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5630154 | Bolstad et al. | May 1997 | A |
6760388 | Ketchum et al. | Jul 2004 | B2 |
6785341 | Walton et al. | Aug 2004 | B2 |
6940917 | Menon et al. | Sep 2005 | B2 |
20030185309 | Pautler et al. | Oct 2003 | A1 |
20060023666 | Jalali et al. | Feb 2006 | A1 |
20060092054 | Li et al. | May 2006 | A1 |
20060106902 | Howard et al. | May 2006 | A1 |
20060155533 | Lin et al. | Jul 2006 | A1 |
20060155534 | Lin et al. | Jul 2006 | A1 |
20080108310 | Tong et al. | May 2008 | A1 |
Number | Date | Country |
---|---|---|
WO 2007037716 | Apr 2007 | WO |
WO-2007112225 | Oct 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20070226287 A1 | Sep 2007 | US |
Number | Date | Country | |
---|---|---|---|
60785694 | Mar 2006 | US |