Title of Invention

"A METHOD OF CALIBRATING DOWNLINK AND UPLINK CHANNELS IN A WIRELESS MULTIPLE-INPUT MULTIPLE-OUTPUT (MIMO) COMMUNICATION SYSTEM"

Abstract A method of calibrating downlink and uplink channels in a wireless multiple-input multiple-output (MIMO) communication system, comprising deriving a first transmit matrix based on a first pilot received via a MIMO channel between a transmitting entity and a receiving entity deriving a second transmit matrix based on a MIMO channel response estimate and first and second calibration error matrices, the MIMO channel response estimate being an estimate of a response of the MIMO channel and derived based on a second pilot received via the MIMO channel, the first calibration error matrix containing estimates of errors in a first correction matrix used to account for responses of transmit and receive chains at the transmitting entity, and the second calibration error matrix containing estimates of errors in a second correction matrix used to account for responses of transmit and receive chains at the receiving entity and revising the first and second calibration error matrices based on the first and second transmit matrices. Fig. 2
Full Text The present invention relates to a method of calibrating downlink and uplink channels in a wireless multiple-input multiple-output (mimo) communication system.
Background
[0002] A MIMO system employs multiple (NT) transmit antennas and. multiple (NR)
receive antennas for data transmission. A MIMO channel formed by the NT transmit antennas and NR receive antennas may be decomposed into Ns spatial channels, where Ns ≤ min {NT, NR}. The Ns spatial channels may be used to transmit data in parallel
to achieve higher overall throughput or redundantly to achieve greater reliability.
[0003] To achieve high performance, it is often necessary to know the response of the
MIMO channel. For example, an access point may need to know the response of a
downlink channel in order to perform spatial processing for a downlink transmission to
a user terrninal. In one conventional channel estimation technique, the access point
transmits a pilot on the downlink, and the user terminal estimates the downlink channel
response based on the pilot and sends the downlink channel response estimate back to
the access point. This channel estimation technique utilizes uplink resources and further
incurs a delay to send back the channel response estimate, both of which are
undesirable.
[0004] A TDD system uses a single frequency band for bom the downlink and uplink,
with the downlink being allocated a portion of the time and the uplink being allocated the remaining portion of the time. For a TDD system, the downlink and uplmk channel responses may be assumed to be reciprocal of one another. That is, if H represents a channel response matrix from antenna array A to antenna array B, then a reciprocal channel implies that the coupling from array B to array' A is given by HT, where HT denotes the transpose of H. With a reciprocal channel, the channel response for one
JF link (e.g., the downlink) may be estimated based on a pilot received via the other link (e.g., the uplink).
[0005] The access point and user terminal both utilize transmit and receive chains for
transmission and reception, respectively. A downlink transmission would then observe an "effective" downlink channel response that includes the responses of the transmit chain at the access point and the receive chain at the user terminal. Correspondingly, an uplink transmission would observe an effective uplink channel response that includes the responses of the transmit chain at the user terminal and the receive chain at the access point. The responses of the transmit and receive chains at the access point are typically different from the responses of the transmit and receive chains at the user terminal. As a result, the effective downlink and uplink channel responses are typically not reciprocal of one another. If the channel response estimate obtained for one link is used for spatial processing for the other link, then any difference in the responses of the transmit/receive chains at the access point and user terminal would represent error that, if not determined and accounted for, may degrade performance.
[0006] There is, therefore, a need in the art for techniques to calibrate the downlink and
uplink channel responses in a TDD MMO system.
SUMMARY
[0007] Techniques to calibrate the downlink and uplink channel responses to account
for differences in the responses of the transmit and receive chains at the access point and user terminal are described herein. After calibration, a channel response estimate obtained for one link may be used as a channel response estimate for the other link. This can simplify channel estimation and spatial processing.
[0008] The calibration may be separated into two parts — initial calibration and follow-
on calibration. For the initial calibration, the access point and user terminal transmit MMO pilots (described below) on the downlink and uplink, respectively. The MIMO pilots are used to derive "effective" downlink and uplink channel response estimates,
H^ and Hup, which include the responses of the applicable transmit/receive chains. The channel estimates H^ and Hup are used to derive correction matrices Kap and
Kut, which are thereafter used by the access point and user terminal, respectively, to account for the responses of their transmit/receive chains, as described below.
For the follow-on calibration, one entity (e.g., the access point) transmits a MIMO pilot and a steered reference (described below). The other entity (e.g., the user terminal) derives (1) an "actual received" transmit matrix Va based on the steered reference and (2) a "hypothesized" transmit matrix Vhyp based on the MIMO pilot and calibration error matrices Q and Q . The matrices Q and Q contain guesses or
estimates of the errors in the correction matrices Kap and Kut, respectively. The difference between the transmit matrices Va and Vhyp are indicative of the accuracy of the estimates of the errors in the correction matrices. The matrices Qa and Qut maybe
adjusted based on an adaptive procedure to minimize the error between Va and Vhyp. Several adaptive procedures to iteratively adjust the matrices Qa and Q are described
below. The correction matrices Kap and Kut may thereafter be updated by the
calibration error matrices Qa and Qu(, respectively. %
[0010] Various aspects and embodiments of the invention are described in further detail
below.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG. 1 shows the transmit and receive portions at the access point and user
terminal in the TDD MIMO system;
[0012] FIG. 2 shows the use of the correction matrices at the access point and user
terminal to account for their transmit/receive chains;
[0013] FIG. 3 shows a process performed by the access point and user terminal for
initial calibration, normal operation, and follow-on calibration;
[0014] FIG. 4 shows a minimum mean square error (MMSE) adaptive procedure;
[0015] FIG. 5 shows a steepest descent adaptive procedure; and
[0016] FIG. 6 shows a block diagram of the access point and user terminal.
DETAILED DESCRIPTION
[0017] The word "exemplary" is used herein to mean "serving as an example, instance,
or illustration," Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
[OC§I] The calibration techniques described herein may be used for single-carrier as
well as multi-carrier TDD MMO systems. For clarity, these techniques are described for a single-carrier TDD MEMO system.
[0019] FIG. 1 shows a block diagram of the transmit and receive portions at an access
point 110 and a user terminal 150 in a TDD MDVIO system 100. For the downlink, at
access point 110, transmit symbols (denoted by a vector Xdn) are processed by a
transmit chain 114 and transmitted from Nap antennas 116 and over a wireless MIMO
channel having a response of H. At user terminal 150, the Nap downlink signals are
received by Nut antennas 152 and processed by a receive chain 154 to obtain received
symbols (denoted by a vector r^). The processing by transmit chain 114 typically
includes digital-to-analog conversion, amplification, filtering, frequency upconversion,
and so on. The processing by receive chain 154 typically includes frequency
downconversion, amplification, filtering, analog-to-digital conversion, and so on.
[0020] For the uplink, at user terminal 150, transmit symbols (denoted by a vector xup)
are processed by a transmit chain 164 and transmitted from Nut antennas 152 and over the MIMO channel. At access point 110, the Nut uplink signals are received by Nap antennas 116 and processed by a receive chain 124 to obtain received symbols (denoted by a vector r^).
[0021] For the downlink, the receive vector at the user terminal may be expressed as:
rdn-RutHTapxdn, Eq(l)
where x^ is the vector with Nap transmit symbols sent from Nap access point antennas;
r a,, is the vector with Nut received symbols obtained via Nut user terminal antennas; Tap is an Nap x Nap diagonal matrix with Nap complex gains for the access point
transmit chain, one complex gain for each access point antenna; Rut is an Nut x Nut diagonal matrix with Nut complex gains for the user terminal
receive chain, one complex gain for each user terminal antenna; and H is the Nut x Nap channel response matrix for the downlink.
The responses of the transmit/receive chains and the MIMO channel are typically a function of frequency. For simplicity, a flat-fading channel with a flat frequency response is assumed.
For the uplink, the receive vector at the access point may be expressed as:
rup=EapHrTutxup , Eq(2)
where x is the vector with Nut transmit symbols sent from Nut user terminal antennas; r^ is the vector with Nap received symbols obtained via Nap access point antennas; Tut is an Nut x Nut diagonal matrix with Nut complex gains for the user terminal
transmit chain, one complex gain for each user terminal antenna; Rut is an Nap x Nap diagonal matrix with Nap complex gains for the access point
receive chain, one complex gain for each access point antenna; and Hr is the Nap x Nut channel response matrix for the uplink.
[0023] From equations (1) and (2), the "effective" downlink and uplink channel
responses, H^ and H^ , which include the responses of the applicable transmit and receive chains, may be expressed as:
H^BtfSX* and Hup=RapHrTut. Eq(3)
Combining the two equations in equation set (3), the following may be obtained:
Hup = lut Rut Hdn Tap Rap = Kut H^ Kap or H^ = (K H Kap ) , Eq (4)
where K^TR,,, and Kut=T~Rllt. Kap is an NapxNap diagonal matrix for the
access point and obtained by a ratio of the receive chain response Rap to the transmit
chain response Tap , where the ratio is taken element-by-element. Similarly, Kut is an
Nm xNut diagonal matrix for the user terminal and obtained by a ratio of the receive
chain response Rut to the transmit chain response Tut .
[0024] Equation (4) may also be expressed as:
Hcup = Hup Kut = (HdnKap) = Hcdn > Eq (5)
where Hcup denotes the calibrated channel response for the uplink; and Hcdn denotes the calibrated channel response for the downlink.
The matrices Kap and Kut include values that account for differences in the
transmit/receive chains at the access point and user terminal. The application of the diagonal matrices, Kap and Kut, to the effective downlink and uplink channel
responses, as shown in equation (5), allows the calibrated channel response for one link
to be expressed by the calibrated channel response for the other link.
[0025] Initial calibration may be performed to determine the matrices Kap and Kut.
Typically, the true channel response H and the transmit/receive chain responses are not known nor can they be exactly or easily ascertained. Instead, the effective downlink and uplink channel responses, H^ and H^, may be estimated based on MIMO pilots
sent on the downlink and uplink, respectively. A MIMO pilot is a pilot comprised of NT pilot transmissions sent from NT transmit antennas, where the pilot transmission from each transmit antenna is identifiable by the receiving entity. This can be achieved, for example, by using a different orthogonal sequence for the pilot transmission from each transmit antenna. Estimates of the matrices Kap and Kut (which are called correction
matrices Kap and Kut) may then be derived based on the effective downlink and uplink channel response estimates, H^ and H^, as described below. The matrices Kap and
Kut include correction factors that can account for differences in the transmit/receive chains at the access point and user terminal.
[0026] FIG. 2 shows the use of the correction matrices Kap and Kut at access point
110 and user terminal 150. On the downlink, the transmit vector x^, is first multiplied with the correction matrix Kap by a unit 112. The subsequent processing by transmit chain 114 and receive chain 154 for the downlink is as described in FIG. 1. Similarly, on the uplink, the transmit vector x^ is first multiplied with the correction matrix Kut
by a unit 162. The subsequent processing by transmit chain 164 and a receive chain 124 for the uplink is also as described in FIG. 1.
[0027] For a MIMO system, data may be transmitted on NS eigenmodes of a MIMO
channel. These eigenmodes may be viewed as orthogonal spatial channels of the MIMO channel. The channel response matrix H may be "diagonalized" to obtain the NS eigenmodes of the MIMO channel. This diagonalization may be achieved by performing either singular value decomposition of H or eigenvalue decomposition of a
correlation matrix of H, which is R = HHH, where H" denotes the conjugate transpose of H .
[0028] Table 1 shows the effective and calibrated channel responses for the downlink
and uplink as well as the singular value decomposition of the calibrated downlink and uplink channel response matrices.
Table 1 - Singular Value Decomposition
(Table Removed)

((
In Table 1, Uap is an Nap x Nap unitary matrix of left eigenvectors of Houp, E is an Nap x Nut diagonal matrix of singular values of Hcup, Vut is an Nut x Nut unitary matrix of right eigenvectors of Hcup, and denotes the complex conjugate. A unitary matrix M is characterized by the property M^M = I, where I is the identity matrix. The matrices V*t and U*p are also matrices of left and right eigenvectors,
respectively, of HC()n . The matrices V, V, Vr and V" &Q different forms of the matrix V. For simplicity, reference to the matrices Uap and Vut in the following description may also refer to their other forms. The matrices Uap and Vut (which are
also called transmit matrices) may be used by the access point and user terminal, respectively, for spatial processing and are denoted as such by their subscripts.

The singular value decomposition is described in further detail by Gilbert Strang
entitled "Linear Algebra and Its Applications," Second Edition, Academic Press, 1980,
which is incorporated herein by reference.
[0030] In a practical system, the matrices Hcdn and Hcup are not available. Instead, the
user terminal can estimate the calibrated downlink channel response based on a MIMO pilot transmitted by the access point. The user terminal can then perform singular value*
decomposition of the calibrated downlink channel response estimate, Hcdn, to obtain a»
diagonal matrix E and a matrix Vut of left eigenvectors of Hcdn, where the hat (" A ")
above each matrix indicates that it is an estimate of the actual matrix. Similarly, the access point can estimate the calibrated uplink channel response based on a MIMO pilot transmitted by the user terminal. The access point can then perform singular value
decomposition of the calibrated uplink channel response estimate, Hcup, to obtain the
diagonal matrix 2 and a matrix Uap of left eigenvectors of Hcup.
[0031] Because of the reciprocal channel and the calibration, the singular value
decomposition only needs to be performed by either the user terminal or the access
point to obtain both matrices Vut and Uap. For clarity, the following description is for an implementation whereby the user terminal obtains the calibrated downlink channel response estimate, Hcdn, performs decomposition of Hcdn, uses the matrix Vut for spatial processing, and sends the matrix Uap back to the access point using a steered
reference, as described below. A steered reference (or steered pilot) is a pilot that is
transmitted from all antennas and on the eigenmodes of the MIMO channel.
[0032] The user terminal may transmit an uplink steered reference, as follows:
xap,m=Kutvutjmjpm , Eq(6)
where pm is a pilot symbol transmitted on eigenmode m for the steered reference;
xupm is a transmit vector for the uplink steered reference for eigenmode m; and
yutjm is the m-th eigenvector or column of Vut, where Vm = [vuU yuu ... yut]N|jt ].
[0033] The received uplink steered reference at the access point may be expressed as:
Iup,m = Su
Eq(7)
where r, is a received vector for the uplink steered reference for eigenmode m; crm is the wi-th diagonal element of £ ; and «aP,m is the m-th eigenvector or column of Uap , where Uap = [uapi, uap.2 ... uap,Nip] .
Equation (7) shows that the received uplink steered reference at the access point, in the absence of noise, is approximately equal to uapm estimate of the uplink channel response based on the steered reference sent by the user
terminal using various estimation techniques.
[0034] hi one embodiment, to obtain an estimate of uap m , the received vector r^ m is
first multiplied with the complex conjugate of the pilot symbol, or p"m , and then integrated over multiple received steered reference symbols for each eigenmode to obtain a vector f upm , which is an estimate of uap)mo-m for eigenmode m. Since the
eigenvectors have unit power, the singular value am for each eigenmode may be estimated based on the received power of the uplink steered reference for that
** i
eigenmode, which is crm =||rupm || ). Each of the Nap elements of the estimate of uapm
^
is obtained by dividing a corresponding one of the Nap elements of r^ by am .
[0035] In another embodiment, an estimate of uapm is obtained based on the received
vector r ^ m and using an MMSE technique. Since the pilot symbols pm are known, the access point can derive the estimate of uap>m such that the mean square error between a received pilot symbol pm (which is obtained after performing the matched filtering on the received vector with vuUl) and the transmitted pilot symbol pm is minimized.
[0036] The access point may perform additional processing on the estimates of uap m ,
for m = 1 .. Ns . For example, since these estimates are obtained for one eigenvector at
a time, the Ns eigenvector estimates may not be orthogonal to one another due to, for example, noise in the received steered reference, changes in the MIMO channel
response, and so on. The access point may then perform Gram-Schmidt orthogonalization on the NS eigenvector estimates to obtain orthogonal transmit vectors.
A
hi any case, the access point obtains a transmit matrix Uap, which is an estimate of Uap, which in turn is derived by the user terminal based on Hcdn. The access point uses the
A A
transmit matrix Uap to perform spatial processing for downlink transmission.
1. Follow-on Calibration
[0037] The correction matrices Kap and Kut obtained from the initial calibration may
contain errors due to various sources such as (1) imperfect channel estimates H^ and Hup used for the initial calibration, (2) changes in the transmit/receive chains at the access point and user terminal, and so on. Errors in the correction matrices cause errors
A
in both (1) the transmit matrix Vut used by the user terminal for spatial processing and derived from Hcdn and (2) the transmit matrix Uap used by the access point for spatial
processing and derived from the uplink steered reference sent using Vut. Improved
performance may be obtained if the errors in the correction matrices can be estimated
and removed.
[0038] The access point and/or the user terminal can perform follow-on calibration to
estimate the errors in the correction matrices Kap and Kut. For clarity, the following
description is for follow-on calibration by the user terminal. For follow-on calibration by the user terminal, the access point transmits a MMO pilot on the downlink using the
correction matrix Kap and also transmits a steered reference on the downlink using thetransmit matrix Uap and the correction matrix Kap. The downlink steered reference
may be expressed as: = Kapuap,mjpm, where Uap =[uap1l uap12 ... uap,NJ. The user
terminal can obtain an estimate of Y^S7^ based on the received downlink steered reference, similar to that described above for the uplink steered reference. For simplicity, the estimate of V^Z7" derived from the downlink steered reference is called an "actual received" transmit matrix Va, which is an unnormalized matrix that includes an estimate of Vut as well as an estimate of I,. (For clarity, the "~" above a matrix
1
indicates that it is an unnormalized matrix.) The user terminal also obtains another version of Hcdn from the MIMO pilot sent by the access point.
•"* A
[0039] The errors in the correction matrices Kap and Kut may be represented by
diagonal calibration error matrices Qa and Q, respectively. The correction matrices
Kap and Kut may then be expressed as:
Kap=KapQ:ap and Kut=KutQ_'ut. Eq(8)
If the errors in the correction matrices are small, then the diagonal elements of Qa and Qut are complex values close to 1 + y'0. The calibrated downlink channel response estimate, Hcdn, may then be expressed as:
|
[0040] The matrices Q and Qut contain the "true" errors in Kap and Kut,
respectively. A guess or estimate of Q[a and Q^ut may be denoted as Qa and Qut, respectively. A "hypothesized" downlink channel may be defined as:


Eq (10)
A hypothesized downlink channel is a guess of H^K^ and is derived under the
A
assumption that the error in the applied correct correction matrix Kap is Qa . If Qa is a perfect guess of Q^a in equation (10) and H is a perfect estimate of Hto in
equation (9), then Hhyp =Hcdn and H =Hcup.
[0041] The spatial processing at the access point may be expressed as:
US = HV=HKV=HKO'V EqCll)
where Vut is obtained from the singular value decomposition of Hcdn, which is obtained from the downlink MIMO pilot. The user terminal does not have the value for Q^ap, but only its guess Qa . The user terminal thus computes an unnormalized
transmit matrix U^ that hypothetically would have been obtained by the access point if the calibration error matrices were Q and Q . as follows:
Equation (12) is equal to equation (11) if Q is a perfect guess of Q' and Q is a
perfect guess of Q[M. If this is the case, then Hhyp = HK.
[0042] The user terminal then performs processing on Ura in the same manner that the
access point would have performed on a received uplink steered reference and obtains a "generated" transmit matrix Ug, which is a normalized transmit matrix that resembles
Uap. For example, the access point may perform Gram-Schmidt orthogonalization of
A
the received eigenvectors uapm in order to improve the performance of its transmit steering vectors. In this case, the user terminal would perform the same orthogonalization on the eigenvectors in Ura. The user terminal simply emulates the processing that is normally performed by both the access point and the user terminal, albeit under an assumption of calibration errors represented by Qa and Qut. The
matrix Ug would have been used by the access point to transmit the downlink steered
reference and for spatial processing of downlink transmission.
[0043] The spatial processing at the user terminal may be expressed as:
V,£j =HcdnUg -fiJUH, =SUKapO:apH8 • Eq (13)
Again, the user terminal does not have Q , but only its guess Qa . The user terminal thus computes a hypothesized transmit matrix Vhyp for itself as follows:
Yhyp=HhypQapUg. Eq(14)
13 Equation (14) is equal to equation (13) if Hhyp is a perfect guess of H^K^ and Qa is
a perfect guess of Q . The matrix Vhy is an unnormalized matrix that includes a user

terminal transmit matrix Vg (which corresponds to the access point transmit matrix Ug) as well as a diagonal matrix Sg (which resembles S). The matrix Vhyp is hypothesized to have been received by the user terminal with (1) the user terminal transmitting an uplink steered reference using Vut , (2) the access point performing its normal processing on the received uplink steered reference to derive its transmit matrix Ug , (3) the access point transmitting a downlink steered reference using Ug , (4) the
correction matrices Kap and Kut having the errors indicated by the matrices Qa and
Qut, respectively, and (5) assuming no channel estimation error in Hcdn from the
downlink MMO pilot.
[0044] Equations (12) and (14) are correct if the calibration error matrices Qa and Qut
correctly indicate the true errors in the correction matrices Kap and Kut , respectively. The difference between the actual received transmit matrix Va obtained from the downlink steered reference and the hypothesized transmit matrix Vhyp obtained from the downlink MMO pilot may be computed as follows:
where E is an Nut x Nap matrix of errors between Va and Vhyp . The error matrix E gives an indication of the accuracy of the guess for Qa and Qu( . Various adaptive procedures may be used to adjust the matrices Qa and Qut to drive the error matrix E
toward zero. Such adaptive procedures include an MMSE adaptive procedure and a steepest descent adaptive procedure. The diagonal elements of Qa and Qut may be
initialized to 1 + 7'0 for the adaptive procedures.
[0045] For the MMSE adaptive procedure, approximate partial derivatives of the
elements of E are computed with respect to the elements of Qa and Q . If the "lead"
A
element (which is the upper leftmost element) of Kap is set to 1 + jQ by the initial

calibration, then this element does not need to be adjusted. In addition, the error matrix E is not affected by the magnitude of the elements in Q . Thus, Qut may be
normalized, for example, by defining the real component of the lead element of Q to
be 1.0. Furthermore, an eigenvector may be scaled by any unit-magnitude complex number (or rotated by any phase) without affecting its performance. Thus, a set of phases may be selected to make Vhyp close to Va without any loss in generality. This
property allows for scaling of Q^ by an arbitrary unit-magnitude factor, so the
imaginary component of the lead element of Qut may be defined to be 0.0.
[00461 The MMSE adaptive procedure may be performed as follows. Let q be a real
vector of length 2(Nap +Nut -2) and made up of the real and imaginary components of the diagonal elements of Qa and Qut , except for the lead elements which are set to 1 .0. The vector q may be defined as:
where q is the z-th element of q ;
Qap 0' 0 IB me z"m diagonal element of Qa ; and Qut(i,f) is the z-th diagonal element of Qm .
The odd-indexed elements of q are for the real component of the diagonal elements of
Qa and Qu( , and the even-indexed elements of q are for the imaginary component of
the diagonal elements of Qa and Qut . The first 2Nap - 2 elements of q are for the
Nap —1 diagonal elements other than the lead element of Qo , and the last 2Nut -2
elements of q are for the Nut - 1 diagonal elements other than the lead element of Qut .
[0047] Let e be a real vector of length 2NapNut and made up of the real and imaginary
components of the elements of E . The vector e may be defined as:

where ei is the z-th element of e; and
E(i, j) is the element in the z-th row andy'-th column of E.
The odd-indexed elements of e are for the real component of the elements of E, and the even-indexed elements of e are for the imaginary component of the elements of E. The error vector e can be obtained by evaluating equations (10), (12), (14), and (15) with the vector q.
[0048] For the MMSE adaptive procedure, the partial derivative of a real or imaginary
component of an element in E with respect to a real or imaginary component of an element in Qa or Qut may be generated by perturbing the component of the element in
Qa or Qut and computing the function defined by equations (10), (12), (14), and (15). As part of the computation for Vhyp, a single ej* term may be selected such that I Ya ~ ejx" Xhyp \2 ig minimized. This is done to normalize the phase of the lead element ofQ .
—but
[0049] Approximate partial derivatives of the elements of e with respect to the
elements of q may be expressed as:
for ; = 1...2(Nap+Nul-2)
dg, ' and j = 1 ... 2NopN
Eq(16)
where A ^ is a vector of length 2(Nap + Nut - 2) and containing a small real value of 6
for the 7-th element and zeros elsewhere; and Aji is the approximate partial derivative of thej-th element of e with respect to
the z-th element of q .
The approximate partial derivative Aijt maybe obtained as follows. A vector q; is first computed as q. = q + A, . The function defined by equations (10), (12), and (14) is then evaluated for q. (which contains Qa . and QuU) to obtain a new (or "revised")
hypothesized transmit matrix Vhyp,-. Vhyp,. is then subtracted from Va to obtain a new error matrix E, = Va - Vhyp,., which is used to form a new error vector e,.. The 7-th element of e, which is denoted as ^.(q) in equation (16), is then subtracted from the 7-th element of e,., which is denoted as e;(q + A,.) in equation (16). The result of the subtraction is divided by £to obtain A^.
[0050] The computation for equations (10), (12), (14), and (15) is performed for each of
the 2(Nap + Nut -2) elements of q to obtain a corresponding new error vector e,. For
each new error vector e., the 2NapNut elements of e are subtracted from the 2NapNut elements of e,, on an element-by-element basis, to obtain 2NapNut approximate partial derivatives of the 2NapNut elements of e with respect to the i-th element of q. A matrix A of dimension 2NapNut by 2(Nap + Nut - 2) may be formed with all of the partial derivatives for all of the elements of e and q. Each column of A contains 2NopNut approximate partial derivatives for the 2NapNut elements of e with respect to one element of q. The 2(Nap + Nut -2) columns of A are for the 2(Nap +NBt-2) elements q.
[0051] If the relationships in equations (10), (12), (14), and (15) are approximately
linear, then an estimate of the difference between the guess of the calibration errors in q
and the actual calibration errors may be expressed as:
y = A~'e, Eq(17)
where y is an update vector for the estimated difference between q and the actual calibration errors. The update vector y has the same format and dimension as the vector q, which is a real vector made up of the real and imaginary components of the diagonal elements of Qa and Qut other than the lead elements.
[0052] If A is not a square matrix, which is typically the case, then the simple matrix
inverse does not exist. The Moore-Penrose pseudo-inverse of A may then be used for equation (17). This pseudo-inverse is simply a matrix that satisfies the equations AA"1 A = A and A"1 AA"1 = A"1. The pseudo-inverse may be generated by performing
singular value decomposition of A , which is A = U0DVf , and computing the pseudo-inverse as A"1 = U^D"1 Va , where D"1 is a diagonal matrix made up of the inverses of the corresponding non-zero diagonal elements of D .
[0053] The matrix A of partial derivatives is computed under an assumption that the
function defined by equations (10) through (13) is approximately linear for calibration errors of the size being evaluated. Since the linearity assumption is not completely accurate, the procedure may be iterated multiple times to determine the correct calibration errors. For some cases, the procedure does not converge. However, convergence can generally be achieved by simply selecting a different initial guess for the calibration errors. If convergence is not obtained, the user terminal can also obtain
another version of Va and Hcdn based on another estimate of the downlink steered
reference and downlink MIMO pilot and perform the MMSE adaptive procedure using
these new matrices.
[0054] If equations (10), (12), (14), and (15) are linear, then y + q would minimize the
mean square of the elements of e . However, since these equations are not linear, q is replaced with y + q and the procedure is repeated. The calibration error vector may then be updated as follows:
where n is an index for the iteration number;
q (n) is the calibration error vector for the n-th iteration;
Umntse v '
y(/i) is the update vector obtained for the n-th iteration; and
q (n + 1) is the calibration error vector for the (n + 1) -th iteration.
-Jmmie ' '
[0055] The computation described above may be repeated for any number of iterations.
Each iteration uses the updated calibration error vector q (n + 1) obtained from the
r -immse v '
prior iteration. The procedure can terminate when the update vector y («) is sufficiently small. For example, the termination condition may be |j y (») |j 2 = y y, is the z-th element of y(n) and ylh2 is another threshold value. After all iterations
have been completed, the matrices for the final estimates of calibration errors are denoted as Q , , and Q
~ap,Jinal -2zut,J!nal
[00561 For the steepest descent adaptive procedure, an aggregate error may be defined as:
The aggregate error, z, is obtained by summing the squares of the magnitude of the elements of E . The partial derivatives of z with respect to the elements of q may be
computed as follows:
where g. is the approximate partial derivative of z with respect to the z-th element of q
and A,- is a vector of length 2(Nap + Nut - 2) and containing a small real value of 8 for
the z-th element and zeros elsewhere. The approximate partial derivative gt may be
obtained as follows. A vector q. is first computed as q. = q + A; . The function defined
by equations (10), (12), (14), and (15) is evaluated for q. to obtain a new error vector
e, . The aggregate error z, is then computed for the new error vector e, , as shown in
equation (19). The aggregate error z obtained with q, which is denoted as z(q) in
equation (20), is then subtracted from the aggregate error z, obtained with q. , which is
denoted as z(q + A:.) in equation (20). The result of the subtraction is divided by S to
obtain g, . The computation is repeated for each of the 2(Nap + Nut - 2) elements of q.
A vector g of dimension 2(Nap + Nut - 2) may be formed with the approximate partial
derivates obtained for the 2(Nap +Nut -2) elements of q. Each element of g is the
slope of the aggregate error evaluated at a corresponding element of q .
[0057] The calibration error vector may then be updated as follows:

where g(n) is the slope vector obtained for the iteration, and q (n) and q (n + 1) are the calibration error vectors for the n-th and (n + 1) -th iterations, respectively, for the steepest descent procedure. The computation described above may be repeated for any number of iterations. Each iteration uses the updated calibration error vector qjrf (n + 1) obtained from the prior iteration. The procedure can terminate when the
aggregate error z is sufficiently small, e.g., less then a zth threshold value.
[0058] Two adaptive procedures have been described above for deriving estimates of
the actual calibration errors. Other adaptive and non-adaptive procedures may also be used, and this is within the scope of the invention.
[0059] The user terminal can update its correction matrix to account for the calibration
errors, as follows:
Eq(22)
The user terminal uses the new correction matrix Kutjnew , instead of the prior correction
matrix Kut , for spatial processing for uplink transmission, as shown in FIG. 2. The user terminal may send the calibration error matrix Qa to the access point, which may
then update its correction matrix as Kapjnev, = KapQ . To reduce the amount of signaling, the user terminal may only send back the calibration error matrix 0" na/ if
the matrix meets some predetermined threshold.
[0060] FIG. 3 shows a process 300 performed by the access point and user terminal for
initial calibration, normal operation, and follow-on calibration. The access point and user terminal perform initial calibration to calibrate their transmit and receive chains
and derive correction matrices Kap and ]£ut (block 310). The initial calibration is
described below.
[0061] Thereafter, for normal operation, the access point transmits a downlink MTMO
pilot using its correction matrix Kap (block 322). The user terminal obtains a calibrated downlink channel response estimate, Hcdn , based on the downlink MDVIO pilot (block 324) and performs singular value decomposition of Hcdn to obtain its transmit matrix Vut (block 326). The user terminal then transmits an uplink steered reference using
Vut and Kut, as shown in equation (6) (block 328). The access point receives the uplink steered reference and derives its transmit matrix Uap, as described above (block
330). The access point and user terminal use the transmit matrices Uap and Vut,
respectively, for spatial processing.
[0062] For the follow-on calibration, the access point transmits a downlink steered
reference using Uap and Kap, and further transmits a downlink MIMO pilot using Kap
(block 342). The user terminal derives the actual unnormalized transmit matrix Va based on the downlink steered reference, as described above (block 344). The user terminal also computes the unnormalized transmit matrix TJ^ based on its transmit matrix Vut, the calibrated downlink channel response estimate Hcdn, and the calibration error matrices Qa and Qut, as shown in equations (10) and (12), or
Uw =(HcdnCT1)rQutVw (block 346). The user terminal further processes Ura in the
same manner as would have been performed by the access point (e.g., perform orthogonalization) to obtain the normalized transmit matrix Ug (block 348). The user
terminal then computes the hypothesized unnormalized transmit matrix Vhyp based on the transmit matrix Ug and the calibrated downlink channel response estimate Hcdn, as shown in equations (10) and (14), which is Vhyp =HcdnUg (block 350). The matrix Vhyp is the unnormalized transmit matrix that the user terminal would have received if the access point transmits a downlink steered reference using Ug. The user terminal then revises the calibration error matrices Qa and Qut based on the transmit matrices
Va and Vhyp (block 352). Blocks 346 through 352 may be performed using an
adaptive procedure. The user terminal may thereafter update its correction matrix Kut with the calibration error matrix Qut (block 354), and the access point may thereafter
update its correction matrix Kap with the calibration error matrix Qap (block 356).
[0063] FIG. 4 shows an MMSE adaptive procedure 400, which may be used for blocks
346 through 352 in FIG. 3. The hypothesized transmit matrix Vhyp is first computed

based on Hcdn and Qa and Qut (block 410). Block 410 corresponds to blocks 346 through 350 in FIG. 3, The error matrix E is next computed as the difference between the transmit matrices Va and Yhyp, as shown in equation (15) (block 412). Partial derivatives for each of the elements in the error matrix E with respect to each of selected ones of the elements (e.g., all diagonal elements except for the lead elements) in the calibration error matrices Q and Q are then derived, as shown in equation
Jsap -iut *
(16) (block 414). The matrix E and the matrices Qa and Qw may be placed in the
form of vectors for ease of computation, as described above. The partial derivatives may be derived separately for the real and imaginary components of the elements in the matrices, as also described above. The update vector y is then computed based on the
matrix A of partial derivatives and the error matrix E, as shown in equation (17) (block 416). The calibration error matrices Qa and Qut are then updated with the
update vector y, as shown in equation (18) (block 418). A determination is next made whether or not the update vector y satisfies a termination condition (block 420). If the
answer is 'yes', then process 400 terminates. Otherwise, the process returns to block 410 and performs another iteration.
[0064] FIG. 5 shows a steepest descent adaptive procedure 500, which may also be
used for blocks 346 through 352 in FIG. 3. The hypothesized transmit matrix Vhyp is
first computed based on Hcdn and Qn and Qut (block 510). The aggregate error z is
next computed as z- ||Va -Vhyp ||2, as shown in equation (19) (block 512). Partial derivatives for the aggregate error with respect to each of selected ones of the elements in the calibration error matrices Q and Q are then derived, as shown in equation
(20) (block 514). The matrices Qa and Qm may be placed in the form of a vector, and
the partial derivatives may be derived separately for the real and imaginary components of the elements in the matrices. The calibration error matrices Qa and Qut are then
updated with the partial derivatives, as shown in equation (21) (block 516). A determination is next made whether or not the aggregate error z satisfies a termination
condition (block 518). If the answer is 'yes', then process 500 terminates. Otherwise,
the process returns to block 510 and performs another iteration.
[0065] hi the above description, the user terminal estimates the calibration errors in
both the correction matrices Kap and Kut. To simplify the follow-on calibration, the user terminal can assume that the correction matrix Kap contains no errors and only
estimate the errors in the correction matrix Kut. This is equivalent to setting the calibration error matrix Qa to the identity matrix. By omitting Q , the dimensions of
the vectors q, y, and g and the matrix A are reduced, which may then greatly reduce
the computation.
[0066] For clarity, the description above is for the case in which the user terminal
performs follow-on calibration. The access point may also perform the follow-on calibration. La this case, the access point and user terminal switches role in FIG. 3. The user terminal would then transmit an uplink steered reference and an uplink MIMO pilot, and the access point would perform the computation to derive Qa and Qut.
[0067J Also for clarity, the follow-on calibration is described for a. single-carrier MIMO
system. The follow-on calibration may also be performed for a multi-carrier MIMO system, which may utilize orthogonal frequency division multiplexing (OFDM) or some other multi-carrier modulation technique. OFDM effectively partitions the overall system bandwidth into multiple (Np) orthogonal subbands, which are also called tones, subcarriers, bins, and frequency channels. With OFDM, each subband is associated with a respective subcarrier that may be modulated with data. For a MIMO system that utilizes OFDM (an MIMO-OFDM system), the computation described above may be performed for each of multiple subbands. Since a high degree of correlation may exist between nearby subbands, the calibration may be performed in a manner to take advantage of this correlation, for example, to reduce the number of subbands to perform follow-on calibration, to speed up convergence, and so on.
2. Initial Calibration
[0068] For the initial calibration to derive the correction matrices Kap and Kut, one
entity (either the user terminal or access point) obtains both the effective downlink channel response estimate, VLto, and the effective uplink channel response estimate,
H,,,, . The channel estimates H^ and H^ may be obtained based on downlink and
uplink MBVIO pilots, respectively. The correction matrices may be computed from H^
and H^ and using matrix-ratio computation or MMSE computation.
[0069] For the matrix-ratio computation, an Nut xNap matrix C is first computed as:
where the ratio is taken element-by-element.
__ ^
[0070] The diagonal elements in the correction matrix Kap for the access point are set
equal to the mean of the normalized rows of C . Each row of C is first normalized by scaling each of the Nap elements in that row with the first element in the row. The mean of the normalized rows (denoted by a vector £row ) is then computed as the sum of the
Nut normalized rows divided by Nut. The Nap diagonal elements of Kap are then set equal to the Nap elements of jcrow . Because of the normalization, the lead element of Kap is equal to unity.
[0071] The diagonal elements in the correction matrix Kut for the user terminal are set
equal to the mean of the inverses of the normalized columns of C . They-th column of C , for j = 1 ... Nap , is first normalized by scaling each element in that column with the
_/-th diagonal element of Kap . The mean of the inverses of the normalized columns
(denoted by a vector £col ) is then computed by (1) taking the inverse of each normalized column, where the inversion is performed element-wise, (2) summing the Nap inverse normalized columns, and (3) dividing each element in the resultant column by Nap to
obtain cco, . The Nut diagonal elements of Kut are set equal to the Nut elements of c_col .
[0072] For the MMSE computation, the correction matrices Kap and Kut are derived
from the effective downlink and uplink channel response estimates, H^ and H^ , such
that the mean square error (MSB) between the calibrated downlink and uplink channel responses is minimized. This condition may be expressed as:
min (lUlLp)7 "MupKut ,
which may also be written as:
min KapHdn -Hup I£ut
where Kap = Kap since Kap is a diagonal matrix.
A
[0073] Equation (24) is subject to the constraint that the lead element of Kap is set
equal to unity. Without this constraint, the trivial solution would be obtained with all elements of the matrices Kap and Kut set equal to zero. In equation (24), a matrix Y is
first obtained as Y = KapHdn-HupKut. The square of the absolute value is next
obtained for each of the NapNut elements of Y. The mean square error (or the square
error since a divide by NapNut is omitted) is then equal to the sum of all squared values.
[0074] The MMSE computation is performed as follows. For simplicity, the elements
of Hj,, are denoted as {a..}, the elements of H^ are denoted as {by}, the diagonal
elements of Kap are denoted as {».}, and the diagonal elements of Kut are denoted as {Vj}, where f = 1 ... Nap and j = 1 ... Nm. The mean square error may be rewritten from equation (24), as follows:
again subject to the constraint . The minimum mean square error may be obtained by taking the partial derivatives of equation (25) with respect to u and v and setting the partial derivatives to zero. The results of these operations are the following equations:
Li equation (26a), u, = 1 so there is no partial derivative for this case, and the index i runs from 2 through Nap.
[0075] The set of Nap + Nut - 1 equations in equation sets (26a) and (26b) may be more
conveniently expressed in matrix form, as follows:
where
(Table Removed)
[0076] The matrix B includes Nap+NM-l rows, with the first Nap-l rows
corresponding to the Nap -1 equations from equation set (26a) and the last Nut rows corresponding to the Nut equations from equation set (26b). The elements of the matrix B and the vector z may be obtained based on the elements of H and H. The
diagonal elements of Kap and Kut are included in the vector k, which may be obtained as:
k = B'z . Eq(28)
The results of the MMSE computation are correction matrices Kap and Kut that
minimize the mean square error in the calibrated downlink and uplink channel responses, as shown in equation (24).
3. Spatial Processing
[0077] Table 2 summarizes the spatial processing performed by the user terminal and
access point for data transmission and reception on the eigenmodes of the MDVIO channel.
(Table Re moved)
known a priori by both the access point and user terminal. A TX spatial processor 620 receives the data symbols from TX data processor 610, performs spatial processing on the data symbols, multiplexes in pilot symbols as appropriate (e.g., for channel estimation, calibration, and so on), and provides Nap streams of transmit symbols to Nap modulators (MOD) 622a through 622ap. Each modulator 622 receives and processes a respective transmit symbol stream to obtain a corresponding stream of OFDM symbols, which is further processed by a transmit chain within the modulator to obtain a corresponding downlink modulated signal. Nap downlink modulated signals from modulator 622a through 622ap are then transmitted from Nap antennas 624a through 624ap, respectively.
[0079] At user terminal 150, Nut antennas 652a through 652ut receive the transmitted
downlink modulated signals, and each antenna provides a received signal to a respective demodulator (DEMOD) 654. Each demodulator 654 (which includes a receive chain) performs processing complementary to that performed at modulator 622 and provides received symbols. A receive (RX) spatial processor 660 then performs receiver spatial processing on the received symbols from all Nut demodulators 654 to obtain detected symbols, which are estimates of the data symbols sent by the access point. For follow-on calibration, RX spatial processor 660 provides (1) a calibrated downlink channel
response estimate, Hcdn, obtained from a downlink MEMO pilot transmitted by the
access point and (2) received symbols for a downlink steered reference transmitted by
the access point. An RX data processor 670 processes (e.g., symbol demaps,
deinterleaves, and decodes) the detected symbols and provides decoded data. The
decoded data may include recovered traffic data, signaling, and so on, which are
provided to a data sink 672 for storage and/or a controller 680 for further processing.
[0080] The processing for the uplink may be the same or different from the processing
for the downlink. Data and signaling are processed (e.g., coded, interleaved, and modulated) by a TX data processor 690, and further spatially processed and multiplexed with pilot symbols by TX spatial processor 692 to obtain transmit symbols. The transmit symbols are further processed by modulators 654a through 654ut to obtain Nut uplink modulated signals, which are then transmitted via Nut antennas 652a through
652ut to the access point. User terminal 150 sends back the correction Kap for the initial calibration and may send back the calibration error matrix Q . , for the follow-
on calibration, for the implementation described above. At access point 1 10, the uplink
modulated signals are received by antennas 624, demodulated by demodulators 622, and processed by an RX spatial processor 640 and an RX data-processor 642 in a complementary to that performed at the user terminal. RX data processor 642 provides the matrices Kap and Qap to controller 630.
[0081] For the initial calibration, the access point and user terminal transmit MIMO
pilots on the downlink and uplink, respectively. Each entity derives the effective channel response estimate for its link. One entity (e.g., the access point) sends the channel estimate to the other entity (e.g., the user terminal) for computation of the
correction matrices Kap and Kut for both entities. The entity that derives the correction
matrices uses its correction matrix and sends the other correction matrix back to the other entity. For the follow-on calibration, one entity (e.g., the access point) transmits both the steered reference and MEMO pilot. The other derives the calibration error matrices Q .. , and Q . , for both entities based on the received pilots, as described
above. The entity that derives the calibration error matrices uses its calibration error matrix and may send the other calibration error matrix back to the other entity (e.g., if the errors are sufficiently large).
[0082] Controllers 630 and 680 control the operation of various processing units at the
access point and user terminal, respectively. Controllers 630 and/or 680 may also perform processing for the initial and follow-on calibration (e.g., the computation for the correction matrices Kan and K... and the calibration error matrices Q
andQu ). Memory units 632 and 682 store data and program codes used by
controllers 630 and 680, respectively.
[0083] The calibration techniques described herein may be implemented by various
means. For example, these techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units used to perform the initial and/or follow-on calibration 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, other electronic units designed to perform the functions described herein, or a combination thereof.
[008?j For a software implementation, the calibration 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 632 or 682 in FIG. 6) and executed by a processor (e.g., controller 630 or 680). The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.
[0085] Headings are included herein for reference and to aid in locating certain
sections. These headings are not intended to limit the scope of the concepts described therein under, and these concepts may have applicability in other sections throughout the entire specification.
[0086] 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.








We claim:
1. A method of calibrating downlink and uplink, channels in a wireless multiple-
input multiple-output (MIMO) communication system, comprising:
deriving a first transmit matrix based on a first pilot received via a MIMO channel between a transmitting entity and a receiving entity;
deriving a second transmit matrix based on a MIMO channel response estimate and first and second calibration error matrices, the MIMO channel response estimate being an estimate of a response of the MIMO channel and derived based on a second pilot received via the MIMO channel, the first calibration error matrix containing estimates of errors in a first correction matrix used to account for responses of transmit and receive chains at the transmitting entity, and the second calibration error matrix containing estimates of errors in a second correction matrix used to account for responses of transmit and receive chains at the receiving entity; and
revising the first and second calibration error matrices based on the first and second transmit matrices.
2. The method of claim 1, wherein the first pilot is a steered pilot received via a plurality of eigenmodes of the MIMO channel.
3. The method of claim 1, wherein the second pilot is a MIMO pilot comprised of a plurality of pilot transmissions sent from a plurality of transmit antennas at the transmitting entity, where the pilot transmission from each transmit antenna is identifiable by the receiving entity.
4. The method of claim 1, wherein the deriving the second transmit matrix comprises decomposing the MIMO channel response estimate to obtain a first matrix of eigenvectors for the MIMO channel,
computing a second matrix of eigenvectors for the MIMO channel based on the MIMO channel response estimate and the first and second calibration error matrices, and

computing the second transmit matrix based on the second matrix of eigenvectors and the MIMO channel response estimate.
5. The method of claim 4, wherein the deriving the second transmit matrix further comprises processing the second matrix of eigenvectors to obtain a third matrix of eigenvectors, wherein the processing on the second matrix of eigenvectors matches processing performed by the transmitting entity to generate a transmit matrix based on a steered pilot received by the transmitting entity from the receiving entity, and wherein the second transmit matrix is computed based on the third matrix of eigenvectors and the MIMO channel response estimate.
6. The method of claim 5, wherein the processing the second matrix of eigenvectors comprises performing orthogonal ization on the eigenvectors in the second matrix to derive orthogonal eigenvectors for the third matrix.
7. The method of claim 1, wherein the first and second calibration error matrices are revised based on a minimum mean square error (MMSE) adaptive procedure.
8. The method of claim 1, wherein the revising the first and second calibration error matrices comprises computing an error matrix as a difference between the first and second transmit matrices,
deriving partial derivatives for elements in the error matrix with respect to selected ones of elements in the first and second calibration error matrices,
computing an update vector based on the partial derivatives and the error matrix, and
updating the first and second calibration error matrices with the update vector.
9. The method of claim 8, wherein the deriving the partial derivatives comprises
deriving a revised second transmit matrix based on the MIMO channel response estimate, the
first and second calibration error matrices, and an error vector,

computing a revised error matrix as a difference between the first transmit matrix and the revised second transmit matrix, and
computing the partial derivatives based on the error matrix and the revised error matrix.
10. The method of claim 8, wherein the error matrix and the first and second calibration error matrices contain complex-valued elements, each complex-valued element having a real component and an imaginary component, and wherein the partial derivatives are derived separately for the real and imaginary components.
11. The method of claim 8, wherein the revising the first and second calibration error matrices further comprises forming a matrix with the partial derivatives, and wherein the update vector is computed based on the error matrix and an inverse of the matrix of the partial derivatives.
12. The method of claim 8, wherein the selected ones of the elements in the first and second calibration error matrices include all diagonal elements, except for upper leftmost elements, in the first and second calibration error matrices.
13. The method of claim 8, wherein the revising the first and second calibration error matrices further comprises repeating the computing the error matrix, deriving the partial derivatives, computing the update vector, and updating the first and second calibration error matrices for a plurality of times until the update vector satisfies a termination condition.
14. The method of claim 1, wherein the first and second calibration error matrices are revised based on a steepest descent adaptive procedure.
15. The method of claim 1, wherein the revising the first and second calibration error matrices comprises computing an error matrix as a difference between the first and second transmit matrices,

computing an aggregate error based on the error matrix,
deriving partial derivatives for the aggregate error with respect to selected ones of elements in the first and second calibration error matrices, and
updating the first and second calibration error matrices with the partial derivatives.
16. The method of claim 15, wherein the aggregate error is computed as a sum of squares of magnitude of elements in the error matrix.
17. The method of claim 15, wherein the revising the first and second calibration error matrices further comprises repeating the computing the error matrix, computing the aggregate error, deriving the partial derivatives, and updating the first and second calibration error matrices for a plurality of times until the aggregate error satisfies a termination condition.
18. The method of claim 1, further comprising:
updating the second correction matrix with the second calibration error matrix.
19. The method of claim 1, wherein the first correction matrix is updated with the first calibration error matrix.
20. The method of claim 1, wherein the receiving entity is a user terminal and the transmitting entity is an access point in a time division duplex (TDD) MIMO system.
21. The method of claim 1, wherein the system utilizes orthogonal frequency division multiplexing (OFDM), and wherein a set of first and second calibration error matrices is derived for each of a plurality of subbands based on the first and second pilots received on the subbands.
22. An apparatus in a wireless multiple-input multiple-output (MIMO) communication system, comprising:

means for deriving a first transmit matrix based on a first pilot received via a MIMO channel between a transmitting entity and a receiving entity;
means for deriving a second transmit matrix based on a MIMO channel response estimate and first and second calibration error matrices, the MIMO channel response estimate being an estimate of a response of the MIMO channel and derived based on a second pilot received via the MIMO channel, the first calibration error matrix containing estimates of errors in a first correction matrix used to account for responses of transmit and receive chains at the transmitting entity, and the second calibration error matrix containing estimates of errors in a second correction matrix used to account for responses of transmit and receive chains at the receiving entity; and
means for revising the first and second calibration error matrices based on the first and second transmit matrices.
23. The apparatus of claim 22, wherein the first pilot is a steered pilot received via a plurality of eigenmodes of the MIMO channel, and wherein the second pilot is a MIMO pilot comprised of a plurality of pilot transmissions sent from a plurality of transmit antennas at the transmitting entity, where the pilot transmission from each transmit antenna is identifiable by the receiving entity.
24. The apparatus of claim 22, further comprising:
means for decomposing the MIMO channel response estimate to obtain a first matrix of eigenvectors for the MIMO channel;
means for computing a second matrix of eigenvectors for the MIMO channel based on the MIMO channel response estimate and the first and second calibration error matrices; and
means for computing the second transmit matrix based on the second matrix of eigenvectors and the MIMO channel response estimate.
25. The apparatus of claim 22, further comprising:
means for computing an error matrix as a difference between the first and second transmit
matrices;
means for deriving partial derivatives for elements in the error matrix with respect to selected
ones of elements in the first and second calibration error matrices;
means for computing an update vector based on the partial derivatives and the error matrix;
means for updating the first and second calibration error matrices with the update vector; and
means for repeating the computation of the error matrix, derivation of the partial derivatives, computation of the update vector, and updating of the first and second calibration error matrices for a plurality of times until the update vector satisfies a termination condition.
26. The apparatus of claim 22, further comprising:
means for computing an error matrix as a difference between the first and second transmit matrices;
means for computing an aggregate error based on the error matrix;
means for deriving partial derivatives for the aggregate error with respect to selected ones of elements in the first and second calibration error matrices;
means for updating the first and second calibration error matrices with the partial derivatives; and
means for repeating the computation of the error matrix, computation of the aggregate error, derivation of the partial derivatives, and updating of the first and second calibration error matrices for a plurality of times until the aggregate error satisfies a termination condition.
27. The method of claim 1, further comprising:
performing a first calibration based on downlink and uplink channel response estimates for [[a]] the MIMO channel between a transmitting entity and a receiving entity to obtain the first and second correction matrices and
performing a second calibration based on the first and second pilots received via the MIMO channel to obtain the first and second calibration error matrices.
28. The method of claim 27, further comprising:
updating the second correction matrix with the second calibration error matrix.
29. The method of claim 27, wherein the first pilot is a steered pilot received via a plurality of eigenmodes of the MIMO channel, and wherein the second pilot is a MIMO pilot comprised of a plurality of pilot transmissions sent from a plurality of transmit antennas at the transmitting entity, where the pilot transmission from each transmit antenna is identifiable by the receiving entity.
30. The method of claim 27, wherein the performing the second calibration comprises deriving the first transmit matrix based on the first pilot,
deriving the second transmit matrix based on [[a]] the MIMO channel response estimate obtained from the second pilot, and
revising the first and second calibration error matrices based on the first and second transmit matrices.
31. The method of claim 30, wherein the first and second calibration error matrices are revised using an adaptive procedure that iteratively adjusts the first and second calibration error matrices to reduce error between the first and second transmit matrices.
32. The apparatus of claim 22 further comprising:
means for performing a first calibration based on downlink and uplink channel response estimates for the MIMO channel between a transmitting entity and a receiving entity to obtain the first and second correction matrices, and
means for performing a second calibration based on the first and second pilots received via the MIMO channel to obtain the first and second calibration error matrices.
33. The apparatus of claim 32, wherein the means for performing the second
calibration comprises
means for deriving the first transmit matrix based on the first pilot,
means for deriving the second transmit matrix based on the MIMO channel response estimate obtained from the second pilot, and
means for revising the first and second calibration error matrices based on the first and second transmit matrices.
34. The apparatus of claim 33, wherein the first and second calibration error matrices
are revised using an adaptive procedure that iteratively adjusts the first and second calibration
error matrices to reduce error between the first and second transmit matrices.

Documents:

4831-DELNP-2006-Abstract (02-03-2010).pdf

4831-delnp-2006-abstract.pdf

4831-DELNP-2006-Claims (02-03-2010).pdf

4831-delnp-2006-claims.pdf

4831-DELNP-2006-Correspondence-Others (02-03-2010).pdf

4831-DELNP-2006-Correspondence-Others (14-01-2010).pdf

4831-delnp-2006-correspondence-others.pdf

4831-DELNP-2006-Description (Complete) (02-03-2010).pdf

4831-delnp-2006-description (complete).pdf

4831-DELNP-2006-Drawings (02-03-2010).pdf

4831-delnp-2006-drawings.pdf

4831-DELNP-2006-Form-1 (02-03-2010).pdf

4831-delnp-2006-form-1.pdf

4831-DELNP-2006-Form-16-(05-12-2011).pdf

4831-delnp-2006-form-18.pdf

4831-DELNP-2006-Form-2 (02-03-2010).pdf

4831-delnp-2006-form-2.pdf

4831-DELNP-2006-Form-3 (14-01-2010).pdf

4831-delnp-2006-form-3.pdf

4831-delnp-2006-form-5.pdf

4831-DELNP-2006-GPA (02-03-2010).pdf

4831-DELNP-2006-GPA-(05-12-2011).pdf

4831-delnp-2006-gpa.pdf

4831-delnp-2006-pct-210.pdf

4831-delnp-2006-pct-304.pdf


Patent Number 240318
Indian Patent Application Number 4831/DELNP/2006
PG Journal Number 20/2010
Publication Date 14-May-2010
Grant Date 04-May-2010
Date of Filing 23-Aug-2006
Name of Patentee QUALCOMM INCORPORATED, a Delaware corporation of 5775 Morehouse Drive, San Diego, California 92121-1714, United States of America
Applicant Address 5775 MOREHOUSE DRIVE, SAN DIEGO, CALIFORNIA 92121-1714, USA.
Inventors:
# Inventor's Name Inventor's Address
1 MARK S. WALLACE 4 MADEL LANE, BEDFORD, MA 01730, USA.
2 JOHN W. KETCHUM 37 CANDLEBERRY LANE, HARVARD, MA 01451, USA
3 JAY RODNEY WALTON 85 HIGHWOODS LANE, CARLISLE, MA 01741, USA
4 STEVEN J. HOWARD 75 HERITAGE AVENUE, ASHLAND, MA 01721, USA
PCT International Classification Number H04L 25/03
PCT International Application Number PCT/US2005/005262
PCT International Filing date 2005-02-18
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 10/783,175 2004-02-19 U.S.A.