The present invention is directed to a system and method to maximize capacity and/or range of a wireless radio communication link between two radio communication devices.
Multiple-input multiple-output (MIMO) radio communication techniques are known to enhance the received SNR for signals transmitted by one device to another. Research in MIMO radio algorithms has been conducted in which multiple signal streams are transmitted simultaneously from multiple antennas at one device to another device, thereby greatly enhancing the data rate of the wireless radio channel between two devices. Such multiple signal stream systems are also referred to as “vector” communication systems, where a vector comprises a plurality of sub-channels that corresponding to the multiple signal streams. Moreover, the term eigenmodes or mode is also used to refer to a sub-channel or signal stream.
The aforementioned U.S. application Ser. No. 10/627,537 discloses a system, method and device for vector transmit beamforming communication of multiple signals (signal streams) between a first device having N plurality of antennas and a second device having M plurality of antennas. Unlike prior approaches, the approach described in that commonly assigned and related application is to impose a power constraint on each transmit antenna path at the transmitting device. The performance of a system in which the communication devices are designed around a power constraint at each antenna is nearly as good as the optimal waterfilling solution, yet provides significant implementation advantages. The radio transmitter can be implemented with power amplifiers that require lower power output capability, and thus less silicon area. Consequently, there is lower DC current drain by the transmitter, and lower on-chip interference caused by the power amplifiers.
In vector radio communication systems that simultaneously transmit multiple signals (modes) between first and second devices using MIMO radio techniques, it is necessary to use appropriate values for transmit weights conditioned to the radio channel between the two devices. While techniques have been developed for this purpose, there is nevertheless room for improvement in this area.
A system and method are provided for vector wireless radio communication (multiple modes or signal streams) between a first communication device and a second communication device, and particularly to method that adaptively updates the transmit parameters for transmitting multiple modes between two devices. At the first communication device, signals are received at a plurality of antennas representing a plurality of modes simultaneously transmitted by the second communication device, wherein each mode is a signal stream. The first communication device computes a transmit matrix from parameters derived from signals received at its plurality of antennas. The transmit matrix distributes a plurality of modes among a plurality of antenna paths each associated with a corresponding one of the plurality of antennas of the first communication device. The transmit matrix is applied to the plurality of modes to be simultaneously transmitted from the plurality of antennas of the first communication device to the second communication device. Similarly, the second communication device receives signals at a plurality of antennas representing a plurality of modes simultaneously transmitted by the first communication device. The second communication device computes a transmit matrix from parameters derived from signals received at its plurality of antennas. The transmit matrix distributes a plurality of modes among a plurality of antenna paths each associated with a corresponding one of the plurality of antennas of the second communication device and is applied to the plurality of modes to be simultaneously transmitted from the plurality of antennas of the second communication device to the first communication device. The step of computing the transmit matrix at each of the first and second communication devices is repeated each time signals are received from the other communication device to update the transmit matrix each device uses to transmit to the other. The transmit matrix at each of the devices may be determined by computing the orthogonalization of a matched filter matrix derived from received signals. If a multi-carrier modulation scheme (e.g., OFDM) is used for each of the plurality of modes, the step of computing the transmit matrix may be performed at each of a plurality of frequency sub-carriers associated with the multi-carrier modulation scheme.
In addition, techniques are provided to select a transmit data rate separately for each mode transmitting from one device to the other device based on received SNR information for each mode. These rate selection techniques may be invoked each time a transmission is received at one device from the other to dynamically update the transmit data rate for each individual mode.
Referring to
Using beamforming techniques, device 100 will simultaneously transmit L eigenmodes (modes) s1, s2, . . . , sL by antennas 110(1) to 100(N). A vector s is defined that represents the L modes [s1 . . . sL] (at baseband) to be transmitted such that s=[s1 . . . sL]T. The number (L) of modes that can be simultaneously transmitted depends on the channel H between device 100 and device 200, and in particular L≦Rank of HHH≦min(N,M). For example, if N=4, and M=2, then L≦Rank of HHH≦2. Each eigenmode is a signal or signal stream, such as a data stream, data block, data packet, data frame, etc.
Two matrices are introduced: V is the eignenvector matrix for HHH and Λ is the eigenvalue matrix for HHH. Device 100 transmits the product As, where the matrix A is the spatial multiplexing transmit matrix, where A=VD. The matrix D=diag(d1, . . . , dL) where |dp|2 is the transmit power in pth mode, or in other words, the power of the pth one of the L signals. Device 200 receives HAs+n, and after maximal ratio combining for each of the modes, device 200 computes c=AHHHHAs+AHHHn=DHDΛs+DHVHHHn. The matrix A is shown below.
As shown in
The product of the transmit matrix A and the vector s is a vector x. This matrix multiplication step effectively weights each element of the vector s across each of the N antennas, thereby distributing the plurality of signals among the plurality of antennas for simultaneous transmission. Components x1 through xN of the vector x resulting from the matrix multiplication block are then coupled to a corresponding antenna of the first communication device. For example, component x1 is the sum of all of the weighted elements of the vector s for antenna 1, component x2 is the sum of all of the weighted elements of the vector s for antenna 2, etc.
The transmit matrix A is a complex matrix comprised of transmit weights wT,ij, for i=1 to L and j=1 to N. Each antenna weight may depend on frequency to account for a frequency-dependent channel H. For example, for a multi-carrier modulation system, such as an orthogonal frequency division multiplexed (OFDM) system, there is a matrix A for each sub-carrier frequency k. In other words, each transmit weight wT,ij is a function of sub-carrier frequency k. For a time-domain (single-carrier) modulation system, each transmit weight wT,ij may be a tapped-delay line filter.
Prior approaches involve selecting the weights dp to maximize capacity
subject to a total power constraint emitted by the plurality of transmit antennas combined on the transmit matrix A, i.e.,
The optimum solution to this problem is to use waterfilling to select the weights dp (i.e., use waterfilling to put more power in eigenchannels with higher SNR λp).
The waterfilling approach requires N full-power capable power amplifiers at the transmitting device since, for some channels, it is possible for the optimal solution to require all or nearly all the transmit power to be sent from one antenna path. To reiterate, the prior approaches constrain the total power emitted from all of the antenna paths combined, simply ΣPi=PTOT<Pmax (for i=1 to N antennas) where Pmax is a total power constraint and Pi is the power from transmit antenna path i.
A better approach is to use a power constraint for each individual transmit antenna path. One such constraint is that the power transmitted from each antenna is less than the total power transmitted from all N antennas combined (Pmax) divided by N, e.g., Pi≦Pmax/N for all i. Using this approach, referred to as the “antenna power constraint” approach, each power amplifier can be designed to output (no more than) Pmax/N average power, where Pmax is the maximum power of the transmission from all of the N antennas combined. A significant benefit of this approach is that the power amplifiers can be designed to have lower maximum output power capability, thus requiring less silicon area. The use of smaller and lower-output power amplifiers has the benefit of lower on-chip power amplifier interference and lower DC current drain.
Using a Pmax/N power constraint for each antenna, the problem becomes:
Maximize capacity C subject to
(AAH)ii<Pmax/N, i=1, . . . , N.
This is a difficult problem to solve for dp, since it involves finding the roots of a non-linear function using N Lagrange multipliers (one for each of the above N constraints). However, there is a simple non-optimal solution for each of two cases.
Case 1: N≦M:
In this case, the transmitting device (having N plurality of antennas) multiplies the vector s representing the L modes [s1 . . . sL]T to be transmitted with the transmit matrix A (i.e., computes As), where the transmit matrix A is computed with D set equal to I·sqrt(Pmax/N) (where I is the identity matrix) enforcing equal power in each mode. As a result, HHH is Hermitian and (with probability 1) is full-rank, which means that V is orthonormal. Consequently, (AAH)ii=(VDDHVH)ii=(VVH)iiPmax/N=Pmax/N, which means that equal power Pmax/N is transmitted at each antenna by a corresponding power amplifier of device 100, and the total transmit power is equal to Pmax.
Case 2: N>M:
In this case, HHH is not full-rank. Let v1, . . . , vL denote the L eigenvectors for HHH having nonzero eigenvalues. Let V=[v1 . . . vL], and let D=sqrt(d·Pmax/N)·I, where the power for each mode is the same and dp=d for p=1 to L. The power in antenna path i is given by (d·Pmax/N)·(VVH)ii. Thus, the power emitted from each of the i antenna paths may be different. The transmitting device (having the N antennas) multiplies the vector s representing the L modes [s1 . . . sL]T to be transmitted with the transmit matrix A (i.e., computes As), where the transmit matrix A is computed with D set equal to sqrt(d·Pmax/N)·I, where the power for each mode is the same and dp=d for p=1 to L. 10/21/04 10779268/3
Approach 1: Set d=1/z, where {(VVH)ii}. Then the maximum power from any antenna path is Pmax/N. The total power from all antenna paths can be shown to be at least Pmax/M and no greater than Pmax.
Approach 2: Set d=1. In this case, the total power emitted by the N plurality of antennas is Pmax/M and the power emitted by antenna i for i=1 to N is (Pmax/N)·(VVH)ii.
Assuming the power amplifiers at devices on both sides of the link have the same peak output power, then for Case 1 and Case 2/Approach 2, the total power transmitted from the N antenna device will be equal to the total power transmitted from the M antenna device. Hence, the link between the two devices is symmetric in these situations. Case 2/Approach 1 is slightly more complicated (since it requires a normalization step) but has more transmitted power than Approach 2.
The solutions described above are capable of performing within 1 dB of the Shannon limit for a symmetric system (same number of antennas on both sides of the link), but facilitate use of smaller and more efficient power amplifiers in the radio transceiver, and as a result, achieve lower on-chip interference between radio paths (caused by the power amplifiers) than the waterfilling solution.
The antenna power constraint need not be the same for each of the transmit antennas and may be specific to or different for each antenna. Moreover, even if a different antenna power constraint is used for each antenna, each of the antenna-specific power constraints may be less than or equal to Pmax/N.
The device 200 with M plurality of antennas will transmit to device 100 subject to the same type of power constraint at each of the M plurality of antennas. The cases described above are applied where M is compared relative to N, and the appropriate solution is used for transmitting signals to device 100.
There are many ways to implement the modem 120.
The receiver section 120B shown in
Turning to
This adaptive algorithm assumes reciprocity in the link between the devices, and therefore MIMO phase calibration at each device needs to be performed. Techniques for MIMO phase calibration are disclosed in commonly assigned and co-pending U.S. patent application Ser. No. 10/457,293, filed Jun. 9, 2003, the entirety of which is incorporated herein by reference. Information regarding constellation order as a function of sub-carrier index and eigenchannel, as well as the number of antennas at the device, may be included in a preamble or otherwise established during a link set-up. Each sub-carrier has an associated constellation order for each eigenchannel. In the transmitter section 120A, a multi-dimensional vector trellis encoder (VTE) may be used to map input bits from the scrambler onto OFDM constellation symbols. Examples of multi-dimensional VTE's are known in the art.
In order to make the mathematical expressions easier to follow, and only as an example, device 100 is a WLAN AP and device 200 is a WLAN STA. It should be understood that these techniques are applicable to any other wireless radio communication application. The following nomenclature is used.
PT,AP and PT,STA are the total transmit powers at the AP and STA, respectively.
The transmit and receive weights computation can be derived using the relationship:
H=UΛVH, HT=V*ΛUT; where UM×M and VN×N are unitary matrices, and ΛM×N is a diagonal matrix.
The ideal transmit weights are:
WT,AP,ideal=V1:N,1:LDL×L and WT,STA,ideal=U*1:M,1:LSL×L
D and S are diagonal matrices which specify the power in each mode. They may be computed by constraining the transmit power at all antennas in the AP and STA such that Dkk2≦PT,AP/N and Skk2≦PT,STA/N. This is referred to as the antenna power constraint referred to above, and the power at each antenna may or may not be equal. One solution for the antenna power constraint is Dkk2=1/max{(V1:N,1:LVH1:N,1:L)kk and Skk2=1/max{(U*1:M,1:LUT1:M,1:L)kk.
In the foregoing notation, XN×N denotes a matrix X of size N×N, X1:N,1:L denotes a matrix with rows 1:N and columns 1:L of X and Xnk denotes the element in the n-th row and k-th column.
The matched filter weights at the receiver are WMF,STA=H WT,AP,ideal and WMF,AP=HTWT,STA,ideal. The receive weights are the matched filter weights WR,STA=WMF,STA and WR,AP=WMF,AP.
The optimum transmit weights ensure that the L modes are orthogonal at the receiver. If the transmit weights do not match the right singular vectors then the receiver may implement a zero-forcing receiver, an MMSE receiver or a non-linear receiver approach.
The optimal solution requires knowledge of channel state information at the transmitter. Implicit knowledge of the channel can be derived from the receive weights. With reference to
In step 510, a plurality of modes are simultaneously transmitted by the AP using the transmit matrix WT,AP,0 to the STA. The STA receives signals at its plurality of antennas representing the plurality of modes simultaneously transmitted by the AP and determines the receive weights by computing the matched filter coefficients for the matched filtered matrix WMF,STA,0 from the received signals. In step 520, the STA computes the transmit matrix WT,STA,0 by computing the orthogonalization (hereinafter referred to as “orth( )”) of the matched filtered matrix WMF,STA,0 determined in step 510, multiplied by a scalar β0. The transmit matrix may be computed as the conjugate of the orthogonalization of the matched filter matrix, as indicated in
To summarize this adaptive procedure, a method is provided for radio communication between a first communication device and a second communication device using radio frequency (RF) communication techniques. The steps performed at the first communication device are: receiving at a plurality of antennas signals representing a plurality of modes simultaneously transmitted by the second communication device, wherein each mode is a signal stream; computing a transmit matrix from parameters derived from signals received at the plurality of antennas from the second communication device (e.g., receive weights or matched filter matrix) to distribute a plurality of modes among a plurality of antenna paths each associated with a corresponding one of the plurality of antennas of the first communication device; and applying the transmit matrix to the plurality of modes to be simultaneously transmitted from the plurality of antennas of the first communication device to the second communication device. Similarly, at the second communication device, the steps performed are: receiving at a plurality of antennas signals representing a plurality of modes simultaneously transmitted by the first communication device; computing a transmit matrix from parameters derived from signals received at the plurality of antennas from the first communication (e.g., receive weights or matched filter matrix) to distribute a plurality of modes among a plurality of antenna paths each associated with a corresponding one of the plurality of antennas of the second communication device; and applying the transmit matrix to the plurality of modes to be simultaneously transmitted from the plurality of antennas of the second communication device to the first communication device. The step of computing the transmit matrix at each of the first and second communication devices is repeated each time signals are received from the other communication device to update the transmit matrix each device uses to transmit to the other device. The step of computing the transmit matrix at each of the devices involves computing the orthogonalization of the matched filter matrix. If a multi-carrier modulation scheme (e.g., OFDM) is used for each of the plurality of modes, the step of computing the transmit matrix is performed at each of a plurality of frequency sub-carriers associated with the multi-carrier modulation scheme.
As described above, the antenna power constraint places a maximum on the transmit power at all antennas in the AP & STA:
Dkk2≦PT,AP/N and Skk2≦PT,STA/N.
With this requirement, it is possible to choose any distribution of the power over the different frequency bins of the baseband signals. Thus, the step of computing the transmit matrix at each of the devices may further comprise normalizing the transmit matrix such that the power transmitted from each of the plurality of antennas of the respective communication devices is less than a maximum power. Optimal schemes, such as waterfilling, require knowledge of the SNR at the receiver of the destination device. Since the channel state information is determined implicitly from the receive weights it is difficult to implement an optimal power distribution scheme in both directions of the communication link.
For an OFDM scheme or other multi-carrier modulation schemes, the adaptive algorithm is implemented independently for each sub-carrier frequency (as indicated by the frequency index k in
As an example, if there are two modes s1 and s2, then the transmit weights wT,ij, for i=1 to 2 (L=2) and j=1 to 2 (N=2) in the transmit matrix WT for a 2 antenna device constrained to the frequency shaping constraint, have the following relationship:
|wT,11(k)|2+|wT,12(k)|2=|wT,21(k)|2+|wT,22(k)|2, which is equal to a constant for all sub-carriers or sub-band frequencies k.
The convergence properties of the adaptive algorithm were studied over 1000 randomly Rayleigh-fading generated channels. The simulation parameters were as follows: N=4, M=4 and L=4. The average SNR at each receive antenna was set to 10 dB.
The process shown in
The preceding description of the process shown in
Generally, the delay spread of the channel is limited to a duration that is less than the length of the symbol. The overhead in the synchronization field can therefore be reduced by using only a subset of the frequency sub-carriers for each eigenmode, and moreover a different or unique (disjoint) subset of the frequency sub-carriers for each eigenmode. The receive weights for the remaining sub-carriers for a mode can be derived (e.g., interpolated using a variety of interpolation techniques) from the receive weights for the subset of sub-carriers for that mode. An example of allocating a unique subset of sub-carriers for each eigenmode is shown in the table below and in
Recall that the transmitted signal (index k is included to explicitly show the dependence on k) at each sub-carrier is represented A(k)s(k)=WT(k)s(k). The synchronization sequence, s(k), can be written as shown below, where sub-carriers km are non-zero only for eigenmode m.
where c(km) is a synchronization symbol at sub-carrier km. At a transmitting device, e.g., device 100 shown in
WT(k)=└w1,T(k),w2,T(k),w3,T(k),w4,T(k)┘,
where wm,T(k) is the N×1 vector of transmit weights for eigenmode m at sub-carrier k. Note that only a subset of transmit weight elements, wm,T(km), corresponding to sub-carriers km, is used for transmitting the synchronization sequence in eigenmode m.
At the receiving device, (e.g., device 200 shown in
WMF(k)=└w1,MF(k),w2,MF(k),w3,MF(k),w4,MF(k)┘
where wm,MF(k) is the M×1 vector of matched filter weights for eigenmode m at sub-carrier k. For the training sequence shown above, the filter coefficients can be computed for eigenmode 1 as:
where y(k1)=H(k1)WT(k1)s(k1) is the received signal at sub-carrier index k1. The matched filter weights at other sub-carrier indices can be computed as
w1,MF(k)=F(w1,MF(k1))
where F(.) is an interpolation function, such as a linear interpolation function. The filter weights for the other eigenmodes can be derived in a similar manner.
This technique is most typically applied when transmitting a synchronization field, such as in a preamble, from one device to another. When transmitting a data field, the transmit matrix is usually applied for all the frequency sub-carriers for all of the eigenmodes, though it may also be useful for pilot signals that are transmitted during a data field (such as in some OFDM systems) or for other systems that may embed pilot signals with symbol fields.
To summarize, when a device transmits a synchronization field, the elements of the transmit matrix for corresponding ones of the plurality of modes are applied to the plurality of modes to be transmitted for disjoint subsets of a plurality of frequency sub-carriers associated with a multi-carrier baseband modulation scheme. Consequently, only one mode is transmitted at any frequency sub-carrier, and the channel information for each mode at all of the sub-carriers is reconstructed (interpolated) at the receive side. At the other device, the signals associated with the transmitted synchronization field (using elements of a transmit matrix for corresponding ones of the plurality of modes for disjoint subsets of a plurality of frequency sub-carriers associated with a multi-carrier modulation scheme) are received and receive weights are computed from the received signals at the plurality of antennas of the receiving device. There will be one receive weight for each frequency sub-carrier, albeit multiple receive weights for each mode, but spread across the frequency sub-carriers according to an allocation pattern such as the one shown in the table above. From these receive weights, the receive weights at each of (all) the plurality of-frequency sub-carriers for each of the plurality of modes are derived using an interpolation process. When a data field is to be transmitted from one device to another, it applies elements of the transmit matrix corresponding to each of the plurality of modes for all (each of) the plurality of sub-carriers. One method of deriving the complete set of receive weights involves interpolating (using linear interpolation or other techniques) at remaining ones of the plurality of frequency sub-carriers for each of the plurality of modes from the receive weights for the plurality of frequency sub-carriers associated with the received signals.
The inherent updating of channel state information afforded by the adaptive algorithm may be exploited to provide a technique for individually (separately) adjusting or selecting the transmit data rate for each eigenmode (signal stream) from one device to another device. Assuming channel and power reciprocity between first and second devices, the received SNR for each eigenmode at the transmit device on the link (e.g., a first device) can be used to select the transmit data rate for that eigenmode when the first device transmits to the second device. Under these assumptions, the receive SNR for each eigenmode is identical for both sides of the link. Therefore, the device on each side of the link can select the transmit data rate for each eigenmode based on the received SNR for that eigenmode. The receive SNR in each eigenmode p (for p=1 to L) may be expressed as SNRp=|WMF,p|2/σn2, where WMF,p is the pth column of the matched filter WMF at the STA or AP, and σn2 is the noise power at the receiver of that device. Moreover, the transmit data rate can be dynamically updated at each iteration (each time one device receives signals from the other device) and the rate selection may be implemented to track the SNR, which should improve/converge over transmit/receive iterations between the two devices. Rate selection may be performed at the medium access control (MAC) layer and the physical (PHY) layer passes the SNR information to the MAC layer. For OFDM systems, the SNR in each sub-carrier is estimated and SNR over all sub-carriers is averaged (i.e., SNRp=1/KΣ|WMF,p(k)|2. The average SNR as the received SNR used to determine the data rate for each eigenmode.
In the more general case, the power reciprocity assumption may not hold and the total transmit power on both ends of the link may not necessarily be the same. Correction for the offset between the total transmit power at the two devices may need to be made in order to select the appropriate transmit data rate. One technique to share transmit power information between the devices is to exchange this information during communication link setup. Alternatively, the transmit power information can be contained in a PHY header associated with a transmission from one device to the other. A similar process would be performed in the reverse direction.
Rather than use received SNR at the transmit device for rate selection, according to another rate selection technique the received SNR information is transmitted from the receiving device to the transmitting device. For example, a first device may transmit received SNR information in an ACK message to the second device. The second device would then use the received SNR information (received SNR of each eigenmodes at the first device) to adjust the transmit data rates for each eigenmode when transmitted to the first device.
The following is an example of a transmit rate selection process given knowledge of the received SNR for each eigenmode at the destination device, obtained using one of the techniques described above. The data rate may be selected from a discrete set of possible rates, such as the data rates in the IEEE 802.11a communication standard, (e.g. 6, 9, 12, 18, 24, 36, 48, 54 Mbps), or may be based on some other relationship between SNR and data rate. In the example of the 802.11a data rates, each data rate requires a minimum SNR and it is generally desirable to select the maximum possible data rate for a given SNR. Such a SNR to data rate mapping technique could be implemented using a lookup table and associated logic.
An example is shown in the table and pseudo-code below that would be applied for each eigenmode given an SNR for each eigenmode.
A similar process occurs in the reverse direction when device 1 receives a transmission from device 2. Device 1 computes the received SNR for each mode, SNR1(si). Device 1 then estimates the received SNR at device 2, SNR2(si), from SNR1(si) using the mathematical relationship SNR2(si)=PTX1/PTX2*SNR1(si), where knowledge of the total power transmitted by device 2, PTX2, for the transmission is provided to device 1 according to the aforementioned or other techniques. Device 1 then selects the transmit data rate for each mode when transmitting back to device 2 similar to the rate selection process described above at device 2.
This process may continue so that device 1 and device 2 can dynamically select or adjust (update) the transmit data rates for each individual eigenmode when transmitting to the other device according to changing conditions in the channel between the two devices. Obviously, it can be seen from the mathematical relationships described above that if the power transmitted by device 1 is the same as the power transmitted by device 2, then PTX1/PTX2=1, such that SNR2(si)=SNR1(si). Information indicating the transmit power of each device can also be updated (in a PHY header or other message) for each transmission.
To summarize, each device on the link can select a transmit data rate separately for each of a plurality of modes to be transmitted to the other device. The step of selecting is performed according to a received SNR at the other device for each of the plurality of modes. The transmitting device estimates the received SNR at the other device for each of the plurality of modes from the received SNR at the transmitting device for each of the plurality of modes. The step of estimating may comprise equating the received SNR for each mode at the other device to the received SNR of the corresponding mode at the transmitting device, but in the case where there is not power reciprocity between the two devices, then a factor that compensates for a difference between the transmit power at the respective devices may be applied to (multiplied by) the received SNR of the corresponding mode at the transmitting device. The transmitting device may receive information from the other device that indicates the transmit power used by the other device, and that information is used to determine a value for the power compensation factor (e.g., PTX1/PTX2 or PTX2/PTX1. When selecting a transmit data rate for each mode, the transmitting device may select a slower transmit data rate for lower received SNR of a mode and select a higher data rate for higher received SNR of a mode. Rather than derive the received SNR for each mode at the other device, the transmitting device may receive information (SNR feedback) sent by the other device that indicates the receive SNR for each mode at the other device. Rate selection for each mode may be updated or performed at the transmitting device each time a transmission is received at the transmitting device from the other device. These rate selection techniques may be performed at both devices on the link.
The techniques described above may be embodied in a radio communication device comprising a plurality of antennas; a radio transceiver coupled to the plurality of antennas, the radio transceiver capable of upconverting a plurality of transmit signals for simultaneous transmission via the plurality of antennas, and downconverting a plurality of signals simultaneously received at the plurality of antennas to produce a plurality of received signals; and a baseband signal processor coupled to the radio transceiver that computes a transmit matrix from parameters derived from the plurality of received signals representing a plurality of modes simultaneously transmitted by another communication device, wherein each mode is a signal stream, wherein the transmit matrix distributes a plurality of modes among a plurality of antenna paths associated with corresponding ones of the plurality of antennas, and the baseband signal processor applies the transmit matrix to the plurality of modes to produce the plurality of transmit signals to be simultaneously transmitted to the other communication device. Moreover, a system may be provided comprising first and second communication devices (configured as described above) that communicate with each other.
Similarly, these techniques may be embodied as instructions encoded on a medium that, when executed, perform steps of computing a matched filter matrix from a plurality of received signals representing a plurality of modes simultaneously transmitted by a second communication device at received at a plurality of antennas of first communication device, wherein each mode is a data signal stream; computing from the matched filter matrix a transmit matrix to distribute a plurality of modes among a plurality of antenna paths associated with corresponding ones of the plurality of antennas of the first communication device; and applying the transmit matrix to the plurality of modes to be simultaneously transmitted from the plurality of antennas of the first communication device to the second communication device. The medium may be a processor readable medium, such as a memory (included as part of the control processor 160 in
Said still another way, a method is provided for simultaneously communicating a plurality of signals between a first communication device and a second communication device, comprising steps of: (a) applying a transmit matrix to a plurality of baseband signals to be transmitted from the first communication device to the second communication device, the transmit matrix distributing the plurality of baseband signals among a plurality of antennas of the first communication device for simultaneous transmission to the second communication device; (b) receiving the signals transmitted by the first communication device at a plurality of antennas of the second communication device to compute a matched filter matrix from the received signals; (c) computing from the matched filter matrix a transmit matrix for transmitting a plurality of baseband signals from the second communication device to the first communication device, the transmit matrix distributing the plurality of baseband signals among the plurality of antennas of the second communication device; and (d) applying the transmit matrix to the plurality of baseband signal to be transmitted from the second communication device to the first communication device. Similarly, when the second communication transmits back to the first communication device, the first communication device updates the transmit matrix at the first communication device from a matched filter matrix derived from the signals received from the second communication device. At the first and second communication devices, the transmit matrix is computed by computing the orthogonalization of the matched filter matrix derived from the signals received at that device.
Viewed from the perspective at a device on one side of the link, a method for radio communication between a first communication device and a second communication device, comprising: computing a transmit matrix from signals received at a plurality of antennas of the first communication device, wherein the signals represent a plurality of modes simultaneously transmitted by the second communication device to the first communication device, wherein each mode is a signal stream, and wherein the transmit matrix distributes a plurality of modes among a plurality of antenna paths associated with corresponding ones of the plurality of antennas of the first communication device; and applying the transmit matrix to the plurality of modes to be simultaneously transmitted from the plurality of antennas of the first communication device to the second communication device.
The above description is intended by way of example only.
This application is a continuation-in-part of U.S. application Ser. No. 10/627,537, filed Jul. 25, 2003, entitled “System and Method for Multiple-Input Multiple-Output (MIMO) Radio Communication” and claims priority to the following provisional applications (the entirety of each of which is incorporated herein by reference): U.S. Provisional Application No. 60/461,672, filed Apr. 10, 2003. U.S. Provisional Application No. 60/479,945, filed Jun. 19, 2003. U.S. Provisional Application No. 60/511,530, filed Oct. 15, 2003. This application is related to U.S. application Ser. No. 10/779,269, filed on even date, and entitled “Compensation Techniques for Group Delay Effects in Transmit Beamforming Radio Communication”.
| Number | Name | Date | Kind |
|---|---|---|---|
| 4121221 | Meadows | Oct 1978 | A |
| 4599734 | Yamamoto | Jul 1986 | A |
| 4639914 | Winters | Jan 1987 | A |
| 5274844 | Harrison et al. | Dec 1993 | A |
| 5394435 | Weerackody | Feb 1995 | A |
| 5437055 | Wheatley, III | Jul 1995 | A |
| 5457808 | Osawa et al. | Oct 1995 | A |
| 5491723 | Diepstraten | Feb 1996 | A |
| 5493307 | Tsujimoto | Feb 1996 | A |
| 5507035 | Bantz et al. | Apr 1996 | A |
| 5539832 | Weinstein et al. | Jul 1996 | A |
| 5570366 | Baker et al. | Oct 1996 | A |
| 5577265 | Wheatley, III | Nov 1996 | A |
| 5610617 | Gans et al. | Mar 1997 | A |
| 5752173 | Tsujimoto et al. | May 1998 | A |
| 5761193 | Derango et al. | Jun 1998 | A |
| 5761237 | Petersen et al. | Jun 1998 | A |
| 5812531 | Cheung et al. | Sep 1998 | A |
| 5848105 | Gardner et al. | Dec 1998 | A |
| 5898679 | Brederveld et al. | Apr 1999 | A |
| 5912921 | Warren et al. | Jun 1999 | A |
| 5930248 | Langlet et al. | Jul 1999 | A |
| 5982327 | Vook et al. | Nov 1999 | A |
| 6008760 | Shattil | Dec 1999 | A |
| 6023625 | Myers, Jr. | Feb 2000 | A |
| 6037898 | Parish et al. | Mar 2000 | A |
| 6038272 | Golden | Mar 2000 | A |
| 6044120 | Bar-David et al. | Mar 2000 | A |
| 6058105 | Hochwald et al. | May 2000 | A |
| 6091934 | Berman et al. | Jul 2000 | A |
| 6097771 | Foschini | Aug 2000 | A |
| 6118788 | Kermani | Sep 2000 | A |
| 6122260 | Liu et al. | Sep 2000 | A |
| 6124824 | Xu et al. | Sep 2000 | A |
| 6141393 | Thomas et al. | Oct 2000 | A |
| 6141567 | Youssefmir et al. | Oct 2000 | A |
| 6144651 | Rinchiuso et al. | Nov 2000 | A |
| 6144711 | Raleigh et al. | Nov 2000 | A |
| 6147985 | Bar-David et al. | Nov 2000 | A |
| 6157340 | Xu et al. | Dec 2000 | A |
| 6157843 | Derango et al. | Dec 2000 | A |
| 6177906 | Petrus | Jan 2001 | B1 |
| 6185440 | Barratt et al. | Feb 2001 | B1 |
| 6195045 | Xu et al. | Feb 2001 | B1 |
| 6211671 | Shattil | Apr 2001 | B1 |
| 6252548 | Jeon | Jun 2001 | B1 |
| 6252884 | Hunter | Jun 2001 | B1 |
| 6266528 | Farzaneh | Jul 2001 | B1 |
| 6295026 | Chen et al. | Sep 2001 | B1 |
| 6298092 | Heath, Jr. et al. | Oct 2001 | B1 |
| 6307882 | Marzetta | Oct 2001 | B1 |
| 6314147 | Liang et al. | Nov 2001 | B1 |
| 6317466 | Foschini et al. | Nov 2001 | B1 |
| 6327310 | Hochwald et al. | Dec 2001 | B1 |
| 6331837 | Shattil | Dec 2001 | B1 |
| 6349219 | Hochwald et al. | Feb 2002 | B1 |
| 6351499 | Paulraj et al. | Feb 2002 | B1 |
| 6362781 | Thomas et al. | Mar 2002 | B1 |
| 6369758 | Zhang | Apr 2002 | B1 |
| 6370182 | Bierly et al. | Apr 2002 | B1 |
| 6377631 | Raleigh | Apr 2002 | B1 |
| 6377636 | Paulraj et al. | Apr 2002 | B1 |
| 6377819 | Gesbert et al. | Apr 2002 | B1 |
| 6400699 | Airy et al. | Jun 2002 | B1 |
| 6400780 | Rashid-Farrokhi et al. | Jun 2002 | B1 |
| 6442214 | Boleskei et al. | Aug 2002 | B1 |
| 6452964 | Yoshida | Sep 2002 | B1 |
| 6462709 | Choi | Oct 2002 | B1 |
| 6463295 | Yun | Oct 2002 | B1 |
| 6473467 | Wallace et al. | Oct 2002 | B1 |
| 6522898 | Kohno et al. | Feb 2003 | B1 |
| 6549786 | Cheung | Apr 2003 | B1 |
| 6570929 | Eriksson | May 2003 | B1 |
| 6584161 | Hottinen | Jun 2003 | B1 |
| 6636568 | Kadous | Oct 2003 | B1 |
| 6646600 | Vail et al. | Nov 2003 | B1 |
| 6684064 | Kazakevich et al. | Jan 2004 | B1 |
| 6687492 | Sugar et al. | Feb 2004 | B1 |
| 6771706 | Ling et al. | Aug 2004 | B1 |
| 20010012764 | Edwards et al. | Aug 2001 | A1 |
| 20010015994 | Nam | Aug 2001 | A1 |
| 20010015999 | Nam | Aug 2001 | A1 |
| 20010046255 | Shattil | Nov 2001 | A1 |
| 20010053143 | Li et al. | Dec 2001 | A1 |
| 20020001316 | Hornsby et al. | Jan 2002 | A1 |
| 20020024975 | Hendler | Feb 2002 | A1 |
| 20020034191 | Shattil | Mar 2002 | A1 |
| 20020039884 | Raynes et al. | Apr 2002 | A1 |
| 20020064246 | Kelkar et al. | May 2002 | A1 |
| 20020067309 | Baker et al. | Jun 2002 | A1 |
| 20020072392 | Awater et al. | Jun 2002 | A1 |
| 20020085643 | Kitchener et al. | Jul 2002 | A1 |
| 20020102950 | Gore et al. | Aug 2002 | A1 |
| 20020111142 | Klimovitch | Aug 2002 | A1 |
| 20020118781 | Thomas et al. | Aug 2002 | A1 |
| 20020122383 | Wu et al. | Sep 2002 | A1 |
| 20020122501 | Awater | Sep 2002 | A1 |
| 20020127978 | Khatri | Sep 2002 | A1 |
| 20020136170 | Struhsaker | Sep 2002 | A1 |
| 20020141355 | Struhsaker et al. | Oct 2002 | A1 |
| 20020147032 | Yoon et al. | Oct 2002 | A1 |
| 20020158801 | Crilly, Jr. et al. | Oct 2002 | A1 |
| 20020159537 | Crilly, Jr. | Oct 2002 | A1 |
| 20020172186 | Larsson | Nov 2002 | A1 |
| 20020172269 | Xu | Nov 2002 | A1 |
| 20020191535 | Sugiyama et al. | Dec 2002 | A1 |
| 20020196842 | Onggosanusi et al. | Dec 2002 | A1 |
| 20030002450 | Jalali et al. | Jan 2003 | A1 |
| 20030003880 | Ling et al. | Jan 2003 | A1 |
| 20030022693 | Gerogiokas et al. | Jan 2003 | A1 |
| 20030032423 | Boros et al. | Feb 2003 | A1 |
| 20030043929 | Sampath | Mar 2003 | A1 |
| 20030048761 | Jarett | Mar 2003 | A1 |
| 20030072379 | Ketchum | Apr 2003 | A1 |
| 20030072382 | Raleigh et al. | Apr 2003 | A1 |
| 20030108117 | Ketchum et al. | Jun 2003 | A1 |
| 20030114108 | Frecassetti et al. | Jun 2003 | A1 |
| 20030125040 | Walton et al. | Jul 2003 | A1 |
| 20030125090 | Zeira | Jul 2003 | A1 |
| 20030130012 | Brunner et al. | Jul 2003 | A1 |
| 20030139194 | Onggosanusi et al. | Jul 2003 | A1 |
| 20030161282 | Medvedev et al. | Aug 2003 | A1 |
| 20030162566 | Shapira et al. | Aug 2003 | A1 |
| 20030165189 | Kadous | Sep 2003 | A1 |
| 20030171171 | Sim et al. | Sep 2003 | A1 |
| 20030181165 | Sugar et al. | Sep 2003 | A1 |
| 20030181171 | Sim et al. | Sep 2003 | A1 |
| 20030185309 | Paultler et al. | Oct 2003 | A1 |
| 20030190897 | Lei et al. | Oct 2003 | A1 |
| 20030218973 | Oprea et al. | Nov 2003 | A1 |
| 20040002364 | Trikkonen et al. | Jan 2004 | A1 |
| 20040013212 | Benesty et al. | Jan 2004 | A1 |
| 20040023621 | Sugar et al. | Feb 2004 | A1 |
| 20040048584 | Vaidyanathan et al. | Mar 2004 | A1 |
| 20040067775 | Dalal et al. | Apr 2004 | A1 |
| 20040072546 | Sugar et al. | Apr 2004 | A1 |
| 20040087308 | Trikkonen et al. | May 2004 | A1 |
| 20040095907 | Agee et al. | May 2004 | A1 |
| 20040171385 | Haustein et al. | Sep 2004 | A1 |
| 20040184398 | Walton et al. | Sep 2004 | A1 |
| Number | Date | Country |
|---|---|---|
| 0145300 | Jun 2001 | WO |
| 0203568 | Jan 2002 | WO |
| WO 0203568 | Jan 2002 | WO |
| WO 0145300 | Jun 2002 | WO |
| Number | Date | Country | |
|---|---|---|---|
| 20040209579 A1 | Oct 2004 | US |
| Number | Date | Country | |
|---|---|---|---|
| 60511530 | Oct 2003 | US | |
| 60479945 | Jun 2003 | US | |
| 60461672 | Apr 2003 | US |
| Number | Date | Country | |
|---|---|---|---|
| Parent | 10627537 | Jul 2003 | US |
| Child | 10779268 | US |