HK1119857A - Efficient filter weight computation for a mimo system - Google Patents
Efficient filter weight computation for a mimo system Download PDFInfo
- Publication number
- HK1119857A HK1119857A HK08111621.6A HK08111621A HK1119857A HK 1119857 A HK1119857 A HK 1119857A HK 08111621 A HK08111621 A HK 08111621A HK 1119857 A HK1119857 A HK 1119857A
- Authority
- HK
- Hong Kong
- Prior art keywords
- matrix
- channel response
- deriving
- spatial filter
- processor
- Prior art date
Links
Description
I. Field of the invention
The present disclosure relates generally to communication, and more specifically to techniques for computing filter weights in a communication system.
II. background
A multiple-input multiple-output (MIMO) communication system employs multiple (T) transmit antennas at a transmitting station and multiple (R) receive antennas at a receiving station for data transmission. The MIMO channel formed by the T transmit antennas and the R receive antennas may be decomposed into S spatial channels, where S ≦ min { T, R }. The S spatial channels may be utilized to transmit data in a manner that achieves higher overall throughput and/or greater reliability.
The transmitting station may transmit T data streams simultaneously from the T transmit antennas. These data streams are distorted by the MIMO channel response and further degraded by noise and interference. The receiving station receives the transmitted data streams through the R receive antennas. The received signal from each receive antenna contains scaled versions of the T data streams transmitted by the transmitting station. The transmitted data streams are thus spread among the R received signals from the R receive antennas. The receiving station would then perform receiver spatial processing on the R received signals with a spatial filter matrix to recover the transmitted data streams.
The derivation of the weights for this spatial filter matrix is computationally intensive. This is because the spatial filter matrix is typically derived based on a function that includes matrix inversion, which is computationally intensive to compute directly.
There is therefore a need in the art for techniques that can efficiently calculate filter weights.
Summary of the invention
Techniques for efficiently computing weights of a spatial filter matrix are described herein. These techniques avoid direct computation of matrix inversions.
In deriving spatial filter matricesMIn the first embodiment, based on the channel response matrixHIteratively deriving Hermitian matricesPAnd the matrix inversion is calculated indirectly by iteratively deriving the Hermitian matrix. The Hermitian matrix may be initialized to an identity matrix. An iteration is then performed for each row of the channel response matrix, and an efficient series of calculations is performed for each iteration. For the ith iteration, based on a channel response row vector formed by the ith row of the channel response matrixh iDeriving an intermediate row vectora i. Deriving a scalar r based on the intermediate row vector and the channel response row vectori. And deriving an intermediate matrix based also on the intermediate row vectorC i. The Hermitian matrix is then updated based on the scalar and the intermediate matrix. When all are finishedAfter iteration, the spatial filter matrix is derived based on the Hermitian matrix and the channel response matrix.
In embodiment 2, multiple rotations are performed to iteratively solve matrix 1 of the pseudo-inverse of the channel response matrixP 1/2And a second matrixB. One iteration is performed for each row of the channel response matrix. For each iteration, a matrix is formed that includes the 1 st and 2 nd matrices from the previous iterationY. Then to the matrixYMultiple Givens rotations are performed to zero out the elements in row 1 of the matrix, resulting in updated 1 st and 2 nd matrices for the next iteration. After all iterations are completed, the spatial filter matrix is derived based on the 1 st and 2 nd matrices.
In embodiment 3, a matrix is formed based on the channel response matrixXAnd decomposing (e.g., using eigenvalue decomposition) the matrixXTo obtain a unitary matrixVAnd a pair of angle arraysΛ. The decomposition may be by a pair matrixXImplemented iteratively performing Jacobi rotations. The spatial filter matrix is then derived based on the unitary matrix, the diagonal matrix, and the channel response matrix.
Various aspects and embodiments of the invention are described further below.
Brief description of the drawings
The features and nature of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout.
Fig. 1, 2 and 3 show a process for calculating an MMSE spatial filter matrix based on the first, second and third embodiments, respectively.
Fig. 4 shows a block diagram of an access point and a user terminal.
Detailed description of the invention
The word "exemplary" is used herein to mean "serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
The filter weight calculation techniques described herein may be used for single carrier MIMO systems and multi-carrier MIMO systems. The multiple carriers may be obtained using Orthogonal Frequency Division Multiplexing (OFDM), Interleaved Frequency Division Multiple Access (IFDMA), Localized Frequency Division Multiple Access (LFDMA), or some other modulation technique. OFDM, IFDMA, and LFDMA effectively partition the total system bandwidth into multiple (K) orthogonal frequency sub-bands, which are also referred to as tones, subcarriers, bins, and frequency channels. Each subband is associated with a respective subcarrier that may be modulated with data. OFDM transmits modulation symbols in the frequency domain on all or a subset of the K subbands. IFDMA transmits modulation symbols in the time domain on a number of subbands that are evenly spaced across the K subbands. LFDMA transmits modulation symbols in the time domain and typically on several adjacent subbands. For the sake of clarity, much of the description below is for a single carrier MIMO system with a single subband.
A MIMO channel formed by multiple (T) transmit antennas at a transmitting station and multiple (R) receive antennas at a receiving station may be formed from an R x T channel response matrixHCharacterized, the matrix can be given as follows:
formula (1)
Wherein, i 1, R, and j 1, Ti,jRepresents the coupling or complex channel gain between transmit antenna j and receive antenna i; and is
h iIs a 1 × T signal of a receiving antenna iThe track responds to the row vector, i.e., row i of H.
For simplicity, the following description assumes that the MIMO channel is full rank and the number of spatial channels (S) is given as: and R is less than or equal to T.
The transmitting station may transmit T modulation symbols simultaneously from the T transmit antennas in each symbol period. The transmitting station may or may not perform spatial processing on the modulation symbols prior to transmission. For simplicity, the following description assumes that each modulation symbol is transmitted from one transmit antenna without any spatial processing.
The receiving station obtains R received symbols from the R receive antennas in each symbol period. These received symbols may be expressed as:
r=H·s+nin the formula (2)
Wherein the content of the first and second substances,sa vector of T x 1 with T modulation symbols transmitted by the transmitting station;
ris a vector of R x 1 with R received symbols obtained by the receiving station from the R receive antennas;
nis an R × 1 noise vector.
For simplicity, the noise may be assumed to have a zero mean vector and a covariance matrix of σn 2·IAdditive White Gaussian Noise (AWGN) of (1), where σn 2Is the variance of the noiseIIs an identity matrix.
The receiving station may use various receiver spatial processing techniques to recover the modulation symbols transmitted by the transmitting station. For example, a receiving station may perform Minimum Mean Square Error (MMSE) receiver spatial processing as follows:
formula (3)
WhereinMAn MMSE spatial filter matrix of TxR;
Pto estimate the errorThe TxTHErmiian covariance matrix of (1);
is formed bysThe T × 1 vector of (1); and is
“H"denotes conjugate transpose.
Covariance matrixPCan be given asWherein E [ alpha ], [ alpha]Is the desired operation.POr off-diagonal elements havingOf the properties of (1), wherein "*"denotes complex conjugation.
As shown in equation (3), this MMSE spatial filter matrixMThere is a matrix inversion calculation. Direct computation matrix inversion is computationally intensive. The MMSE spatial filter matrix can be derived more efficiently based on the embodiments described below in which the matrix inversion is calculated indirectly using an iterative process instead of directlyOut of
In calculating MMSE spatial filter matrixMIn the first embodiment of (1), Hermitian matrixPIs calculated based on the Riccati equation. Hermitian matrixPCan be expressed as:
formula (4)
T Hermitian matrixP iCan be defined as:
formula (5)
Matrix inversion theorem can be applied to equation (5) to obtain the following equation:
andformula (6)
Wherein r isiIs a scalar of real values. Equation (6) is referred to as the Riccati equation. Matrix arrayP iCan be initialized toAfter performing equation (6) and performing R iterations of i 1P RAsPIs provided with, or saysP=P R。
Formula (6) can be factored to obtain the following formula:
andformula (7)
Wherein, the matrixP iIs initialized toP 0=IAnd matrixPIs derived asEquations (6) and (7) are different forms of the solution of equation (5). For simplicity, the same variables are used for both equations (6) and (7)P iAnd riAlthough these variables have different values in the two equations. The end result of formulae (6) and (7), i.e. for formula (6)P RAnd for formula (7)Are equivalent. However, the calculation of the first iteration of equation (7) is simplified becauseP 0Is an identity matrix.
Each iteration of equation (7) may be performed as follows:
a i=h i·P i-1of the formula (8a)
Formula (8b)
And formula (8c)
Formula (8d)
Wherein the content of the first and second substances,a iis a 1 × T intermediate row vector composed of complex valued elements; and is
C iIs a T × T intermediate Hermitian matrix.
In equation set (8), the series of operations is structured to facilitate efficient computation by hardware. Scalar riIs in a matrixC iPreviously calculated. Quilt r in formula (7)iThe division is performed by reciprocal and multiplication. To riCalculating the reciprocalC iAre executed in parallel. To riCalculating the reciprocal of riNormalized shifter sum generation riIs implemented as a look-up table of reciprocal values. r isiCan be normalized byC iCompensation is obtained when multiplication is performed.
Matrix arrayP iIs initialized to a Hermitian matrix, orP 0=IAnd is combined withAnd remain as Hermitian matrices throughout all iterations. Thus, only the upper (or lower) diagonal matrix needs to be computed for each iteration. After completing R iterations, obtainMatrix of formP. The MMSE spatial filter matrix can then be computed as follows:
formula (9)
FIG. 1 shows a method for computing an MMSE spatial filter matrix based on a first embodimentMProcess 100. Matrix arrayP iIs initialized toP 0=I(block 112), and the index i used to indicate the number of iterations is initialized to i-1 (block 114). Then R iterations of the Riccati equation are performed.
Each of the Riccati equations is performed by block 120And (5) performing secondary iteration. For the ith iteration, based on the channel response row vector from the previous iteration as shown in equation (8a)h iComputing intermediate row vectors from the Hermitian matrixa i(block 122). Based on the noise variance σ as shown in equation (8b)n 2Middle row vectora iAnd channel response row vectorh iCalculating a scalar ri(block 124). Then for scalar riThe inverse is calculated (box 126). Based on the intermediate row vector as shown in equation (8c)a iComputing an intermediate matrixC i(block 128). Then based on scalar r as shown in equation (8d)iInverse of and intermediate matrixC iUpdating a matrixP i(block 130).
A determination is then made as to whether all R iterations have been performed (block 132). If the answer is 'no', the index i is incremented (block 134) and the process returns to block 122 to perform another iteration. Otherwise, if all R iterations have been performed, the Hermitia matrix based on the last iteration is as shown in equation (9)P RChannel response matrixHAnd the noise variance σn 2Computing an MMSE spatial filter matrixM(block 136). The matrix is then scaled as shown in equation (3)MFor receiver spatial processing.
In calculating MMSE spatial filter matrixMIn a second embodiment, a Hermitian matrixPBy deriving based on an iterative processPThe square root ofP 1/2To be determined. The receiver spatial processing in equation (3) can be expressed as:
formula (10)
Wherein the content of the first and second substances,an augmented channel matrix that is (R + T) x T;
U Pis a pair ofUThe pseudo-inverse matrix of T x (R + T) obtained by Moore-Penrose inversion or pseudo-inverse operation,
or is thatU P=(U H·U)-1·U H;
0 T×1Is an all-zero vector of T1; and is
H σn pIs composed ofU PThe first R column of (a) is a T × R sub-matrix.
QR decomposition may be performed on the augmented channel matrix as follows:
formula (11)
Wherein the content of the first and second substances,Qis an (R + T) × T matrix with orthonormal columns;
Ra non-singular T × T matrix;
Bis composed ofQR × T matrix of the first R rows; and is
Q 2Is composed ofQT x T matrix of the last T rows.
QR decomposition in equation (11) decomposes the augmented channel matrix into orthonormal matricesQAnd non-singular matricesR. Orthonormal matrixQHas the following properties:Q H·Q=Ithis means that the columns of this orthonormal matrix are orthogonal to each other and each column has a unit power. A non-singular matrix is a matrix to which an inversion can be made.
Then Hermitian matrixPCan be coveredExpressed as:
formula (12)
RIs thatP -1Cholesky decomposition or matrix square root. Therefore, the temperature of the molten metal is controlled,P 1/2is equal toR -1And is called asPThe square root of (a).
The pseudo-inverse matrix in equation (10) may be expressed as:
formula (13)
Submatrix which is also a MMSE spatial filter matrixH σn pAnd thus can be expressed as:
formula (14)
Equation (10) can thus be expressed as:
formula (15)
The matrix can be calculated iterativelyP 1/2AndBthe following were used:
Y i·Θ i=Z ior, namely (16)
Formula (17)
Wherein the content of the first and second substances,Y iis based onP i-1 1/2、B i-1Andh ia (T + R +1) × (T +1) matrix of derived elements;
Θ iis a unitary transformation matrix of (T +1) × (T + 1);
Z iis aboutP i 1/2、B iAnd riA transformed matrix of (T + R +1) × (T +1) of elements of (a);
e iis an R × 1 vector with the ith element being one (1.0) and the remaining elements being 0; and is
k iIs a T1 vector andl iare R × 1 vectors, and both are non-native.
Matrix arrayP 1/2AndBis initialized toAndB 0=0 R×T。
the transformation in equation (17) may be iteratively performed as described below. For clarity, each iteration of equation (17) is referred to as an outer iteration. R channel response row vectors for i 1h iR outer iterations are performed. For each outer iteration, unitary transformation matrix in equation (17)Θ iResulting in a transformed matrix containing all 0 s except the first element in the first rowZ i. The transformed matrixZ iContains ri 1/2、k iAndl i。Z icontains updatedP i 1/2AndB i。Z ithe first column of (A) need not be calculated because only use is made in the next iterationP i 1/2AndB i。P i 1/2is an upper triangular matrix. After the completion of R outer iterations,P R 1/2asP 1/2Is provided with, andB RasBIs provided. Can then be based on as shown in formula (14)P 1/2AndBto calculate an MMSE spatial filter matrixM。
For each outer iteration i, the transformation in equation (17) may be successively applied each time by rotating with 2 × 2GivensY iIs performed with one element in the first row of zero. T inner iterations of a Givens rotation may be performed such thatY iThe last T elements in the first row of (a) are zeroed.
For each outer iteration i, the matrixY i,jCan be initialized toY i,1=Y i. For each inner iteration j of T, the outer iteration i is first formed to contain j 1Y i,jThe (T + R +1) × 2 sub-matrices of the first and (j +1) th columns of (2)Y′ i,j. And then the sub-matrixY′ i,jPerforming a Givens rotation to generate a (T + R +1) × 2 sub-matrix with the second element in the first row containing 0Y″ i,j. Givens rotations can be expressed as follows:
Y″ i,j=Y′ i,j·G i,jequation (18)
Wherein the content of the first and second substances,G i,jis the 2 x 2Givens rotation matrix for the jth inner iteration of the ith outer iteration and will be described below. Then, by first settingY i,j+1=Y i,jThen useY″ i,jFirst column ofY i,j+1And then by the first column ofY″ i,jSecond column replacement ofY i,j+1To form a matrixY i,j+1. Thus, the Givens rotation only modifies in the jth inner iterationY i,jTo generate two columns for the nextOf sub-internal iterationsY i,j+1. For each internal iteration, can beY iPerforms Givens rotations in place on two columns of so the intermediate matrixY i,j、Y′ i,j、Y″ i,jAndY i,j+1are not required and have been described above for clarity only.
For the jth inner iteration of the ith outer iteration, the Givens rotation matrixG i,jIs based onY i,jThe first element (always real value) and the (j +1) th element in the first row of (a). The first element can be denoted as a, and the (j +1) th element can be denoted as b · ejθ. Givens rotation matrixG i,jFrom this, the following can be deduced:
formula (19)
Wherein for the formula (19),and is
FIG. 2 shows a method for computing an MMSE spatial filter matrix based on a second embodimentMProcess 200. Matrix arrayP i 1/2Is initialized toAnd matrixB iIs initialized toB 0=0(block 212). The index i to indicate the number of outer iterations is initialized to i 1 and the index j to indicate the number of inner iterations is initialized to j 1 (block 214). Then R outer iterations of the unitary transform in equation (17) are performed (block 220).
For the ith outer iteration, the channel response row vector is first used as shown in equation (17)h iAnd a matrixP i-1 1/2AndB i-1form a matrixY i(block 222). Then the matrixY iIs referenced as a matrix for inner iterationY i,j(block 224). Then to the matrixY i,jT inner iterations of Givens rotations are performed (block 230).
For the jth inner iteration, based onY i,jThe first and (j +1) th elements in the first row of (a) to derive a Givens rotation matrixG i,j(block 232). This Givens is then rotated by the matrix as shown in equation (18)G i,jApplication toY i,jTo the first and (j +1) th columns of (a) to obtainY i,j+1(block 234). A determination is then made as to whether all of the T iterations have been performed (block 236). If the answer is 'no', the index j is incremented (block 238), and the process then returns to block 232 to perform another intra-iteration.
If all of the T inner iterations of the current outer iteration have been performed and the answer to block 236 is 'YES,' then the lastY i,j+1Is equal to that in formula (17)Z i. From the lastY i,j+1Obtaining an updated matrixP i 1/2AndB i(block 240). Then whether it has been executed or not is madeThe decision for all R outer iterations is followed (block 242). If the answer is 'no', the index i is incremented and the index j is reinitialized to j-1 (block 244). The process then returns to block 222 for useP i 1/2AndB ianother additional iteration is performed. Otherwise, if all of the R outer iterations have been performed and the answer to block 242 is 'YES', then based onP i 1/2AndB icomputing an MMSE spatial filter matrixM. Matrix arrayMAnd then may be used for receiver spatial processing as shown in equation (15).
In calculating MMSE spatial filter matrixMIn the third embodiment, theP -1The eigenvalues of (a) are decomposed as follows:
formula (20)
Wherein the content of the first and second substances,Va unitary T × T matrix of eigenvectors; and is
ΛIs a T x T diagonal matrix with real eigenvalues along the diagonals.
2 x 2Hermitian matrixX 2×2The eigenvalue decomposition of (a) may be implemented using various techniques. In one embodiment of the present invention, the substrate is,X 2×2is decomposed by the pairs of eigenvaluesX 2×2Performing a complex Jacobi rotation to obtainX 2×22 x 2 matrix of eigenvalues ofV 2×2To be realized.X 2×2AndV 2×2may be given as:
andformula (21)
V 2×2Can be selected fromX 2×2The elements of (d) are directly calculated as follows:
formula (22a)
Formula (22b)
Formula (22c)
g1=c1-js1Equation (22d)
Formula (22e)
Formula (22f)
Formula (22g)
Formula (22h)
Formula (22i)
If (x)2,2-x1,1)<0
ThenFormula (22j)
If not, then,formula (22k)
TXT Hermitian matrix larger than 2 x 2XThe eigenvalue decomposition of (a) may be performed using an iterative process. The iterative process iteratively uses Jacobi rotations to causeXThe off-diagonal elements in (1) are zeroed. For this iterative process, the index i indicates the number of iterations and is initialized to i-1.XIs a T Hermitian matrix to be decomposed and is set toX=P -1. Matrix arrayD iIs a diagonal matrix in the formula (20)ΛIs approximated and initialized toD 0=X. Matrix arrayV iIs a unitary matrix of the formula (20)VIs approximated and initialized toV 0=I。
For updating matricesD iAndV ia single iteration of Jacobi rotation of (a) may be performed as follows. First, based on the current matrixD iForm a 2 x 2Hermitian matrixD pqThe following were used:
formula (23)
Wherein d isp,qIs thatD iAn element at a medium position (p, q), p ∈ {1,.., T }, q ∈ {1,..., T }, and p ≠ q.D pqIs thatD i2 x 2 sub-matrices of, andD pq4 elements of (A) areD i4 elements in positions (p, p), (p, q), (q, p) and (q, q). The indices p and q may be selected as follows.
Then performed as shown in equation (22)D pqTo obtain eigenvalues ofD pq2 x 2 unitary matrix of eigenvectors of (a)V pq. For theD pqDecomposition of eigenvalues of (1), in equation (21)X 2×2Is used byD pqAlternatively, and derived from formulae (22j) or (22k)V 2×2AsV pqIs provided.
Then useV pqForming a TXT complex Jacobi rotation matrixT pq。T pqIs that 4 elements at positions (p, p), (p, q), (q, p) and (q, q) are usedV pqV in (1)1,1、v1,2、v2,1And v2,2An alternative identity matrix.
Then the matrixD iIs updated as follows:
formula (24)
Formula (24) isD iThe two off-diagonal elements at the mid-positions (p, q) and (q, p) are zeroed out. The calculation can be modifiedD iThe value of the other off-diagonal elements in (a).
Matrix arrayV iIs also updated as follows:
V i+1=V i·T pq. Formula (25)
V iCan be regarded as comprising pairsD iUse ofAll Jacobi rotation matricesT pqThe cumulative transformation matrix of (2).
Each iteration of the Jacobi rotation causesD iZero the two off-diagonal elements of (a). Multiple iterations of Jacobi rotation may be performed on different values of indices p and q such thatD iAll off-diagonal elements of (a) are zeroed. A single sweep of all possible values across indices p and q may be performed as follows. The index p steps from 1 to T-1 in increments of 1. For each value of p, the index q steps from p +1 to T in increments of 1. Jacobi rotation is performed for each different combination of p and q values. Multiple sweeps may be performed untilD iAndV iare respectivelyΛAndVsufficiently accurate estimation of.
Equation (20) can be rewritten as follows:
formula (26)
WhereinΛ -1Is that the element isΛA diagonal matrix of the reciprocal of the corresponding element in the array.X=P -1Provide pairs for eigenvalue decompositionΛAndVis estimated.ΛCan be inverted to obtainΛ -1。
The MMSE spatial filter matrix can then be computed as follows:
M=P·H H=V·Λ -1·V H·H H. Formula (27)
FIG. 3 shows a method for computing an MMSE spatial filter matrix based on a third embodimentMProcess 300. First based on the channel response matrix as shown in equation (20)HDeriving a Hermitian matrixP -1(block 312). Then again as shown in equation (20)P -1To obtain a unitary matrixVAnd diagonal matrixΛ(block 314). As described above, eigenvalue decomposition may be iteratively performed with several Jacobi rotations. And then based on unitary matrices as shown in equation (27)VDiagonal matrixΛAnd a channel response matrixHDeriving MMSE spatial filter matrixM(block 316).
MMSE spatial filter matrix derived based on each of the above embodimentsMIs a biased MMSE solution. The polarized spatial filter matrixMCan be composed of diagonal matrixD mmseTo obtain an unbiased MMSE spatial filter matrixM mmse. Matrix arrayD mmseCan be deduced asD mmse=[diag[M·H]]-1Wherein diag [ 2 ]M·H]Is composed ofM·HA diagonal matrix of diagonal elements.
The above calculations may also be used to derive spatial filter matrices for Zero Forcing (ZF) techniques, also known as Channel Correlation Matrix Inversion (CCMI) techniques, Maximum Ratio Combining (MRC) techniques, and the like. For example, the receiving station may perform zero-forcing and MRC receiver spatial processing as follows:
formula (28)
Formula (29)
WhereinM zfIs a zero-forcing spatial filter matrix of T R;
M mrcis a MRC spatial filter matrix of T × R;
P zf=(H H·H)-1is a Hermitian matrix of T × T; and is
[diag(P zf)]Is composed ofP zfT x T diagonal matrix of diagonal elements.
Direct calculationP zfMatrix inversion is required.P zfMay be calculated using the embodiments described above with respect to the MMSE spatial filter matrix.
The above description assumes that T modulation symbols are transmitted simultaneously from T transmit antennas without any spatial processing. The transmitting station may perform spatial processing prior to transmission as follows:
x=W·sequation (30)
Wherein the content of the first and second substances,xis a T × 1 vector having T transmission symbols to be transmitted from the T transmit antennas; and is
WIs a T × S transmit matrix.
Transmission matrixWMay be (1) performed byHA matrix of right singular vectors obtained by singular value decomposition of (2) by performingH H·HOr (3) a directional matrix selected to spatially spread the modulation symbols across the S spatial channels of the MIMO channel. Effective channel response matrix observed by modulation symbolH effAnd thus can be given asH eff=H·W. The above calculation may be based onH effRather than that ofHTo be executed.
For clarity, the above description is for a single carrier MIMO system with a single subband. For a multi-carrier MIMO system, a channel response matrix for each subband k of interest may be obtainedH(k) In that respect The channel response matrix for each subband k may then be basedH(k) To derive a spatial filter matrix for the subbandM(k)。
The above-described computation of the spatial filter matrix may be performed using various types of processors, such as floating-point processors, fixed-point processors, coordinate rotation digital computer (CORDIC) processors, look-up tables, or a combination thereof. CORDIC processors implement an iterative algorithm that allows fast hardware computation of trigonometric functions such as sine, cosine, amplitude, and phase using simple shift and add/subtract hardware. The CORDIC processor may iteratively calculate the variables r, c in the system of equations (22)1And s1More iterations make the variable more accurate.
Fig. 4 shows a block diagram of an access point 410 and a user terminal 450 in a MIMO system 400. The access point 410 is equipped with NapOne antenna and user terminal 450 is equipped with NutAn antenna, wherein Nap> 1 and NutIs greater than 1. On the downlink, at access point 410, a Transmit (TX) data processor receives traffic data from a data source 412 and other data from a controller/processor 430. TX data processor 414 formats, codes, interleaves, and modulates the data to generate data symbols, i.e., modulation symbols for the data. TX spatial processor 420 multiplexes data symbols with pilot symbols, where applicable, using a transmit matrixWPerforms spatial processing and provides NapA stream of transmit symbols. Each transmitter unit (TMTR)422 processes a respective transmit symbol stream and generates a downlink modulated signal. N from transmitter units 422a through 422apapThe downlink modulated signals are transmitted from antennas 424a through 424ap, respectively.
At user terminal 450, NutThe transmitted downlink modulated signals are received by antennas 452a through 452ut and each antenna provides a received signal to a respective receiver unit (RCVR) 454. Each receiver unit 454 performs processing complementary to that performed by transmitter unit 422 and provides received pilot symbols and received data symbols. A channel estimator/processor 478 processes received pilot symbols and provides a response to the downlink channelH dnIs estimated. Processor 480 is based onH dnAnd deriving a downlink spatial filter matrix using any of the embodiments described aboveM dn. Downlink spatial filter matrix for Receive (RX) spatial processor 460M dnFor all NutThe received data symbols for each receiver unit 454a through 454ut perform receiver spatial processing (or spatial matched filtering) and provide detected data symbols that are comprised of estimates of the data symbols transmitted by access point 410. An RX data processor 470 processes (e.g., symbol demaps, deinterleaves, and decodes) the detected data symbols and provides decoded data to a data sink 472 and/or a controller 480.
The processing for the uplink may be the same as or different from the processing for the downlink. Data from a data source 486 and signaling from controller 480 are processed (e.g., coded, interleaved, and modulated) by a TX data processor 488, multiplexed with pilot symbols, and possibly spatially processed by a TX spatial processor 490. The transmit symbols from TX spatial processor 490 are further processed by transmitter units 454a through 454ut to generate N to be transmitted via antennas 452a through 452ututAn uplink modulated symbol.
At access point 410, the uplink modulated signals are received by antennas 424a through 424ap and processed by receiver units 422a through 422ap to generate received pilot symbols and received data symbols for the uplink transmission. A channel estimator/processor 428 processes received pilot symbols and provides a response to the uplink channelH upIs estimated. Processor 430 is based onH upAnd use any of the embodiments described above to derive an uplink spatial filter matrixM up. The uplink spatial filter matrix is used by RX spatial processor 440M upPerforms receiver spatial processing on the received data symbols and provides detected data symbols. RX data processor 442 further processes the detected data symbols and provides decoded data to a data sink 444 and/or controller 430.
Controllers 430 and 480 control operation at access point 410 and user terminal 450, respectively. Memory units 432 and 482 store data and program codes used by controllers 430 and 480, respectively.
The blocks in fig. 1 through 4 represent functional blocks that may be embodied in hardware (one or more devices), firmware (one or more devices), software (one or more modules), or a combination thereof. For example, the filter weight calculation techniques described herein may be implemented in hardware, firmware, or a combination thereof. For a hardware implementation, the processing units used to calculate the filter weights may be implemented within one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof. The various processors at access point 410 in fig. 4 may also be implemented with one or more hardware processors. Similarly, the various processors at user terminal 450 may be implemented with one or more hardware processors.
For a firmware or software implementation, the filter weight calculation techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit (e.g., memory unit 432 or 482 in fig. 4) and implemented by a processor (e.g., processor 430 or 480). The memory unit may be implemented within the processor or external to the processor.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (37)
1. An apparatus, comprising:
a first processor configured to derive a channel response matrix; and
a second processor to iteratively derive a first matrix based on the channel response matrix and a spatial filter matrix based on the first matrix and the channel response matrix, wherein the second processor indirectly computes a matrix inversion by iteratively deriving the first matrix.
2. The apparatus of claim 1, wherein the second processor is operative to initialize the first matrix to an identity matrix.
3. The apparatus of claim 1, wherein the second processor is to, for each of a plurality of iterations: deriving an intermediate row vector based on the first matrix and a channel response row vector corresponding to a row of the channel response matrix, deriving a scalar based on the intermediate row vector and the channel response row vector, deriving an intermediate matrix based on the intermediate row vector, and updating the first matrix based on the scalar and the intermediate matrix.
4. The apparatus of claim 1, wherein the first matrix corresponds to a Minimum Mean Square Error (MMSE) spatial filter matrix.
5. The apparatus of claim 1, wherein the second processor is operative to derive the first matrix based on:
wherein the content of the first and second substances,P iis the first matrix corresponding to the ith iteration,h iis the ith row, r, of the channel response matrixiIs based onh iAndP i-1derived scalar quantity, and "H"is a conjugate transpose.
6. The apparatus of claim 1, wherein the second processor is operative to derive the first matrix based on:
a i=h i·P i-1,
and
wherein the content of the first and second substances,P iis the first matrix corresponding to the ith iteration,h iis the ith row of the channel response matrix,a iis the intermediate row vector corresponding to the ith iteration,C iis an intermediate matrix corresponding to the ith iteration, riIs a scalar corresponding to the ith iteration, σn 2Is the variance of the noise, and "H"is a conjugate transpose.
7. The apparatus of claim 1, wherein the second processor is operative to derive the spatial filter matrix based on:
M=P·H H,
wherein the content of the first and second substances,Mis a matrix of said spatial filter, and,Pis a first matrix of the first set of matrices,His the letterA channel response matrix, and "H"is a conjugate transpose.
8. A method of deriving a spatial filter matrix, comprising:
iteratively deriving a first matrix based on a channel response matrix, wherein matrix inversion is indirectly calculated by iteratively deriving the first matrix; and is
Deriving the spatial filter matrix based on the first matrix and the channel response matrix.
9. The method of claim 8, further comprising:
initializing the first matrix to an identity matrix.
10. The method of claim 8, wherein deriving the first matrix comprises, for each of a plurality of iterations:
deriving an intermediate row vector based on the first matrix and a channel response row vector corresponding to a row of the channel response matrix,
deriving a scalar based on said intermediate row vector and said channel response row vector,
deriving an intermediate matrix based on the intermediate row vector, an
Updating the first matrix based on the scalar and the intermediate matrix.
11. An apparatus, comprising:
means for iteratively deriving a first matrix based on a channel response matrix, wherein matrix inversion is indirectly calculated by iteratively deriving the first matrix; and
means for deriving a spatial filter matrix based on the first matrix and the channel response matrix.
12. The apparatus of claim 11, further comprising:
means for initializing the first matrix to an identity matrix.
13. The apparatus of claim 11, wherein the means for deriving the first matrix comprises, for each of a plurality of iterations,
means for deriving an intermediate row vector based on the first matrix and a channel response row vector corresponding to a row of the channel response matrix,
means for deriving a scalar based on the intermediate row vector and the channel response row vector,
means for deriving an intermediate matrix based on said intermediate row vector, and
means for updating the first matrix based on the scalar and the intermediate matrix.
14. An apparatus, comprising:
a first processor configured to derive a channel response matrix; and
a second processor to perform a plurality of rotations to iteratively derive a first matrix and a second matrix of a pseudo-inverse of the channel response matrix and to derive a spatial filter matrix based on the first and second matrices.
15. The apparatus of claim 14, wherein the second processor is operative to initialize the first matrix to an identity matrix and to initialize the second matrix to all zeros.
16. The apparatus of claim 14, wherein the second processor is to, for each of a plurality of rows of the channel response matrix: forming an intermediate matrix based on the first matrix, the second matrix, and a channel response row vector, and performing at least two rotations on the intermediate matrix to zero at least two elements of the intermediate matrix.
17. The apparatus of claim 14, wherein the second processor is operative to perform a Givens rotation for each of the plurality of rotations to zero an element of an intermediate matrix comprising the first and second matrices.
18. The apparatus of claim 14, wherein the pseudo-inverse matrix corresponds to a Minimum Mean Square Error (MMSE) spatial filter matrix.
19. The apparatus of claim 14, wherein the second processor is operative to perform at least two rotations for each of a plurality of iterations based on:
wherein the content of the first and second substances,P i-1 1/2is the first matrix corresponding to the ith iteration,B iis the second matrix corresponding to the ith iteration,h iis the ith row of the channel response matrix,e iis a vector with the ith element being 1 and the remaining elements being 0,k iandl iis a non-native vector, ri 1/2Is a scalar quantity of the liquid,0is an all-zero vector, andΘ iis a transformation matrix representing the at least two rotations corresponding to the ith iteration.
20. The apparatus of claim 14, wherein the second processor is operative to derive the spatial filter matrix based on:
M=P 1/2·B H,
wherein the content of the first and second substances,Mis a matrix of said spatial filter, and,P 1/2is a first matrix of the first set of matrices,Bis the second matrix, and "H"is a conjugate transpose.
21. A method of deriving a spatial filter matrix, comprising:
performing a plurality of rotations to iteratively obtain a first matrix and a second matrix of a pseudo-inverse matrix of a channel response matrix; and is
Deriving the spatial filter matrix based on the first and second matrices.
22. The method of claim 21, wherein the performing a plurality of rotations comprises, for each of a plurality of iterations:
forming an intermediate matrix based on the first matrix, the second matrix, and a channel response row vector corresponding to a row of the channel response matrix, and
performing at least two rotations on the intermediate matrix to zero at least two elements of the intermediate matrix.
23. The method of claim 21, wherein the performing a plurality of rotations comprises
Performing a Givens rotation for each of the plurality of rotations to zero an element of an intermediate matrix containing the first and second matrices.
24. An apparatus, comprising:
means for performing a plurality of rotations to iteratively derive first and second matrices of a pseudo-inverse of a channel response matrix; and
means for deriving a spatial filter matrix based on the first and second matrices.
25. The apparatus of claim 24, wherein the means for performing a plurality of rotations comprises, for each of a plurality of iterations:
means for forming an intermediate matrix based on the first matrix, the second matrix, and a channel response row vector corresponding to a row of the channel response matrix, an
Means for performing at least two rotations on the intermediate matrix to zero at least two elements of the intermediate matrix.
26. The apparatus of claim 24, wherein the means for performing a plurality of rotations comprises:
means for performing a Givens rotation for each of the plurality of rotations to zero an element of an intermediate matrix containing the first and second matrices.
27. An apparatus comprising
A first processor configured to derive a channel response matrix; and
a second processor to derive a first matrix based on the channel response matrix, decompose the first matrix to obtain a unitary matrix and a diagonal matrix, and derive the spatial filter matrix based on the unitary matrix, the diagonal matrix, and the channel response matrix.
28. The apparatus of claim 27, wherein the second processor is operative to perform eigenvalue decomposition on the first matrix to obtain the unitary matrix and the diagonal matrix.
29. The apparatus of claim 27, wherein the second processor is operative to perform a plurality of Jacobi rotations on the first matrix to obtain the unitary matrix and the diagonal matrix.
30. The apparatus of claim 27, wherein the second processor is operative to derive the first matrix based on:
wherein the content of the first and second substances,Xis the firstThe matrix is a matrix of a plurality of matrices,His the channel response matrix of the channel, and,Iis an identity matrix, σn 2Is the variance of the noise, and "H"is a conjugate transpose.
31. The apparatus of claim 27, wherein the second processor is operative to derive the spatial filter matrix based on:
M=V·Λ -1·V H·H H,
wherein the content of the first and second substances,Mis a matrix of said spatial filter, and,His the channel response matrix of the channel, and,Vis a unitary matrix of the said one or more,Λis the diagonal matrix, and "H"is a conjugate transpose.
32. A method of deriving a spatial filter matrix, comprising:
deriving a first matrix based on the channel response matrix;
decomposing the first matrix to obtain a unitary matrix and a diagonal matrix; and is
Deriving the spatial filter matrix based on the unitary matrix, the diagonal matrix, and the channel response matrix.
33. The method of claim 32, wherein decomposing the first matrix comprises:
performing eigenvalue decomposition of the first matrix to obtain the unitary matrix and the diagonal matrix.
34. The method of claim 32, wherein decomposing the first matrix comprises:
performing Jacobi rotations on the first matrix a plurality of times to obtain the unitary matrix and the diagonal matrix.
35. An apparatus, comprising:
means for deriving a first matrix based on the channel response matrix;
means for decomposing the first matrix to obtain a unitary matrix and a diagonal matrix; and
means for deriving a spatial filter matrix based on the unitary matrix, the diagonal matrix, and the channel response matrix.
36. The apparatus of claim 35, wherein the means for decomposing the first matrix comprises
Means for performing eigenvalue decomposition on the first matrix to obtain the unitary matrix and the diagonal matrix.
37. The apparatus of claim 35, wherein the means for decomposing the first matrix comprises
Means for performing a plurality of Jacobi rotations on the first matrix to obtain the unitary matrix and the diagonal matrix.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60/691,756 | 2005-06-16 | ||
| US11/158,586 | 2005-06-21 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1119857A true HK1119857A (en) | 2009-03-13 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101078632B1 (en) | Efficient filter weight computation for a mimo system | |
| CN1998160B (en) | Iterative eigenvector computation for a MIMO communication system | |
| US7895254B2 (en) | Eigenvalue decomposition and singular value decomposition of matrices using Jacobi rotation | |
| US7711762B2 (en) | Efficient computation for eigenvalue decomposition and singular value decomposition of matrices | |
| CN1943194B (en) | Calibrating downlink and uplink channel responses in wireless MIMO communication systems | |
| JP4648401B2 (en) | Eigenvalue decomposition and singular value decomposition of matrix using Jacobi rotation | |
| KR20070028609A (en) | Efficient Computation of Spatial Filter Matrix for Steering Transmit Diversity in MIMO Communications Systems | |
| HK1119857A (en) | Efficient filter weight computation for a mimo system | |
| HK1104699A (en) | Iterative eigenvector computation for a mimo communication system |