Compensation techniques for group delay effects in transmit beamforming radio communication
In a wireless communication device, transmit weights are iteratively processed to compensate for any group delay caused by receive synchronization in the receive device. A transmit matrix of weights is computed from signals transmitted by a second communication device and received at a plurality of antennas of the first communication device. The transmit matrix processing includes normalizing a transmit weight vector with respect to a mode of the transmit weight associated with one of the plurality of antennas.
Latest IPR Licensing Inc. Patents:
- Techniques for setting up traffic channels in a communications system
- Maintaining a maintenance channel in a reverse link of a wireless communications system
- TECHNIQUES FOR SETTING UP TRAFFIC CHANNELS IN A COMMUNICATIONS SYSTEM
- Techniques for reducing overhead in a communications system
- Techniques for setting up traffic channels in a communications system
This application is a continuation of U.S. patent application Ser. No. 11/487,242 filed Jul. 14, 2006, which is a continuation of U.S. patent application Ser. No. 10/779,269, filed Feb. 13, 2004, which in turn claims priority from U.S. Provisional Application No. 60/476,982, filed Jun. 9, 2003; and U.S. Provisional Application No. 60/511,530, filed Oct. 15, 2003, which are incorporated by reference as if fully set forth.
FIELD OF THE INVENTIONTransmit beamforming radio communication techniques are disclosed and more particularly, techniques for compensating for group delay effects associated with orthogonal frequency division multiplex (OFDM) communication signals.
BACKGROUNDExamples of transmit beamforming radio algorithms that compute and use transmit weights for transmitting signals to another device are disclosed in U.S. Pat. No. 6,687,492, issued Feb. 3, 2004 and entitled “System and Method for Antenna Diversity Using Joint Maximal Ratio Combining” and in U.S. patent application Ser. No. 10/174,689, filed Jun. 19, 2002. According to these algorithms, receive weights associated with signals transmitted by a second device and received at multiple antennas of a first device are used to compute transmit weights for transmitting signals to a second device. The receive weights will include a group delay term due to group delay ambiguities in the receive synchronization algorithm used in the device for synchronizing to OFDM signals. In order to maintain desired performance of the above-described transmit beamforming radio algorithms, these group delay effects need to be removed.
SUMMARYA method and apparatus in a wireless communication between a first communication device and a second communication device compensates for a group delay effect introduced by a synchronization algorithm. A baseband signal processor of the second communication device computes a transmit matrix of antenna weights from signals received at the plurality of antennas of the first communication device representing a plurality of modes simultaneously transmitted by the second communication device, 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. The baseband signal processor processes the transmit matrix to compensate for the group delay, said processing includes normalizing the transmit matrix with respect to a reference mode corresponding to one of the plurality of antennas of the first communication device. The baseband signal processor applies the transmit matrix to a plurality of modes to be simultaneously transmitted from corresponding ones of the plurality of antennas of the first communication device to the second communication device. This process is repeated by the second communication device, and then again by the first communication device in an iterative manner allowing the transmit matrix of weights to converge.
BRIEF DESCRIPTION OF THE DRAWINGS
The transmit weight vectors wtx,1 and wtx,2 each comprises a plurality of transmit weights corresponding to each of the N and M antennas, respectively. Each transmit weight is a complex quantity. Moreover, each transmit weight vector is frequency dependent; it may vary across the bandwidth of the baseband signal s to be transmitted. For example, if the baseband signal s is a multi-carrier signal of K sub-carriers, each transmit weight for a corresponding antenna varies across the K sub-carriers. Similarly, if the baseband signal s is a single-carrier signal (that can be divided or synthesized into K frequency sub-bands), each transmit weight for a corresponding antenna varies across the bandwidth of the baseband signal. Therefore, the transmit weight vector is dependent on frequency, or varies with frequency sub-band/sub-carrier k, such that wtx becomes wtx(f), or more commonly referred to as wtx(k), where k is the frequency sub-band/sub-carrier index.
While the terms frequency sub-band/sub-carrier are used herein in connection with beamforming in a frequency dependent channel, it should be understood that the term “sub-band” is meant to include a narrow bandwidth of spectrum forming a part of a baseband signal. The sub-band may be a single discrete frequency (within a suitable frequency resolution that a device can process) or a narrow bandwidth of several frequencies.
The receiving communication device also weights the signals received at its antennas with a receive antenna weight vector wrx(k). Communication device 100 uses a receive antenna weight vector wrx,1(k) when receiving a transmission from communication device 200, and communication device 200 uses a receive antenna weight vector wrx,2(k) when receiving a transmission from communication device 100. The receive antenna weights of each vector are matched to the received signals by the receiving communication device. The receive weight vector may also be frequency dependent.
Generally, transmit weight vector wtx,1 comprises a plurality of transmit antenna weights wtx,1,i=β1,i(k)exp(jφ1,i(k)), where β1,i(k) is the magnitude of the antenna weight, φ1,i(k) is the phase of the antenna weight, i is the antenna index, and k is the frequency sub-band or sub-carrier index (up to K frequency sub-bands/sub-carriers). The subscripts tx,1 denote that it is a vector that communication device 100 uses to transmit to communication device 200. Similarly, the subscripts tx,2 denote that it is a vector that communication device 200 uses to transmit to communication device 100.
In step 410, a baseband signal is multiplied by the initial AP transmit weight vector wT,AP,0(k), upconverted and transmitted to the STA. The transmitted signal is altered by the frequency dependent channel matrix H(k) from AP-STA. The STA receives the signal and matches its initial receive weight vector wR,STA,0(k) to the signals received at its antennas. In step 420, the STA gain normalizes the receive weight vector wR,STA,0(k) and computes the conjugate of gain-normalized receive weight vector to generate the STA's initial transmit weights for transmitting a signal back to the AP. The STA multiplies the signal to be transmitted to the AP by the initial transmit weight vector, upconverts that signal and transmits it to the AP. Computing the conjugate for the gain-normalized vector means essentially co-phasing the receive weight vector (i.e., phase conjugating the receive weight vector). The transmitted signal is effectively scaled by the frequency dependent channel matrix HT(k). At the AP, the receive weight vector is matched to the signals received at its antennas. The AP then computes the conjugate of the gain-normalized receive weight vector as the next transmit weight vector wT,AP,1(k) and in step 430 transmits a signal to the STA using that transmit weight vector. The STA receives the signal transmitted from the AP with this next transmit weight vector and matches to the received signals to compute a next receive weight vector wR,STA,1(k). Again, the STA computes the conjugate of the gain-normalized receive weight vector wR,STA,1(k) as its next transmit weight vector wT,STA,1(k) for transmitting a signal back to the AP. This process repeats each time a first device receive signals from the second device to update the transmit weight vector it uses for transmitting back to the second device, and vice versa. This adaptive process works even if one of the devices, such as a STA, has a single antenna for transmission and reception.
In general, for a multi-carrier modulated signal, the channel transfer function for the k-th sub-carrier at the j-th antenna of the destination device (e.g., device 200) may be denoted Fj(k). If the baseband receive synchronization algorithm used in the modem (baseband signal processor) at the receive device on the link selects sample (G-1), then the channel estimate (j-th antenna) is F′j(k)=Fj(k). However, if the receive synchronization algorithm selects any other point, then the channel estimate is F′j(k)=Fj(k)exp(−j2πmk/N), where m is the group delay as shown in
However, the transmit weights used by device 200 to transmit beamform back to device 100 have the same form Fj(k)exp(−j2πmk/N). The group delay term m can potentially cause problems with the synchronization algorithm at the device 100 since it will shift the valid set of time offsets by m. The receive synchronization algorithm at the device 100 could potentially select time offsets outside the valid range (denoted by τ).
One solution to correct for this is to normalize the transmit weights with respect to one antenna at that device since only the relative phase relationships between antennas is important. In this case, the weight for a first antenna, e.g., antenna 0, of a device is always 1.
The algorithm shown in
The received weight vector wR,STA,0(k) is formed by receive weights obtained by applying a matched filter to the signals received at the antennas of the second device. The transmit weight vector (comprised of transmit weights) is formed by dividing the intermediate vector by the value of the element of the intermediate vector v for antenna 1, denoted by vT,STA,0(k)[l], where the subscript T,STA,0 denotes the transmit vector of the STA at iteration 0. Dividing by the value vT,STA,0(k)[l] effectively normalizes the transmit weight vector wT,STA,0(k) with respect to the weight for one of the antennas, e.g., antenna 1, which removes any group delay term that may have been present in and carried through from the receive weights. Similarly, in step 520, the first device 100, e.g., an 802.11 access point (AP), computes the intermediate vector
from the received weight vector wR,AP,0(k). The value of the element of the intermediate vector v for antenna 1 is used in the denominator in computing the transmit weight vector wT,AP,1(k). The process continues as shown by steps 500-540 in
To summarize, a method for radio communication between a first communication device and a second communication device is provided comprising steps of: computing transmit weights from signals transmitted by the second communication device and received at a plurality of antennas of the first communication device, wherein the step of computing comprises processing the transmit weights to compensate for group delay that may be introduced by receive synchronization performed by the first communication device; and applying the transmit weights to a transmit signal to produce a plurality of transmit signals to be simultaneously transmitted from corresponding ones of the plurality of antennas of the first communication device to the second communication device. The receive weights are computed from signals received at the plurality of antennas of the first communication device, and the transmit weights are computed by computing a transmit weight vector from a conjugate of a receive weight vector formed by the receive weights divided by a norm of the conjugate of the receive weight vector. The transmit weights are further processed to compensate (e.g., remove) group delay by normalizing the transmit weight vector with respect to an element of the transmit weight vector corresponding to one of the plurality of antennas of the first communication device. Said another way, the transmit weights are computed by computing an intermediate vector equal to a conjugate of a receive weight vector formed by the receive weights divided by the norm of the conjugate of the receive weight vector, and processing the intermediate vector by dividing the intermediate vector by an element of the intermediate vector corresponding to one of the plurality of antennas of the first communication device. The transmit weights (e.g., transmit weight vector) may be computed such that the power of the signals transmitted by each of the plurality of antennas of the first communication device is equal. Moreover, the transmit weights may be computed such that the sum of the power at each corresponding one of a plurality of frequency sub-carriers across the plurality of transmit signals is equal to a constant. These steps are performed at the devices on both sides of the link such that when a first device receives signals from the second device and updates the transmit weights it uses for transmitting back to the second device, and vice versa.
The group delay compensation techniques described in conjunction with
Using vector beamforming techniques, device 100 will simultaneously transmit L eigenmodes (modes) s1, s2, . . . , sL by antennas 110(1) to 110(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 eigenvector 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.
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.
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 that are more fully described in the aforementioned U.S. application Ser. No. 10/627,537.
In order to make the following 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.
-
- N=# antennas at AP side of link.
- M=# antennas at STA side of link.
- H=complex M×N MIMO channel response from AP to STA.
- HT=complex N×M MIMO channel response from STA to AP.
- L=# modes≦min(N, M).
- WT,AP, WR,AP=Transmit and receive weight matrices, respectively, at AP side of link.
- WT,STA, WR,STA=Transmit and receive weight matrices, respectively, at STA side of link.
- WT,AP is written out and shown below; WR,AP, WT,STA and WR,STA are similarly defined.
- PT,AP and PT,STA are the total transmit powers at the AP and STA, respectively.
The algorithm is based on QR iterations which is a numerical technique to find the eigenvalues and eigenvectors of a Hermitian matrix. Initially, since the transmit weights are arbitrary, the SNR for each mode is assumed to be identical. The subscripts T,AP,0 in
In step 600, signals sent by the AP to the STA are received at the STA and the STA determines the receive weights by computing the matched filter coefficients for the matched filtered matrix WMF,STA,0 from the received signals. In step 610, the STA computes an intermediate matrix VT,STA,0(k) by computing the orthogonalization (hereinafter referred to as “orth( )”) of the matched filtered matrix WMF,STA,0 determined in step 600. The intermediate matrix may be computed as the conjugate of the orthogonalization of the matched filter matrix, as indicated in
A similar process is performed at the AP in step 620 for the plurality of modes transmitted by the STA to the AP. The AP will compute a matched filter matrix WMF,AP,0 from signals received at its plurality of antennas. From the matched filter matrix, the AP computes an intermediate matrix VT,AP,0(k) by computing the orthogonalization of the matched filtered matrix WMF,AP,0. The AP further determines the value of an element of the intermediate matrix for one of the plurality of eigenmodes at one of the plurality of antennas, e.g., VT,AP,0(k)[1][1]. The transmit matrix WT,AP,1 is then computed by dividing the intermediate matrix VT,AP,0(k) by VT,AP,0(k)[1][1], multiplied by the scalar α1. Normalizing the transmit matrix by a value of the transmit matrix for one of the eigenmodes at one of the plurality of antennas serves to compensate for any group delay caused by the receive synchronization algorithm at the receiving device.
This process repeats as indicated by steps 630 and 640 as signals are transmitted between the AP and the STA Any of the well known techniques, such as QR decomposition and Gram-Schmidt orthogonalization, may be used for the orthogonalization operation. After a few iterations, the transmit weights converge to the eigenvector corresponding to the maximum L eigenvalues (See, G. Golub, C. V. Loan, “Matrix Computations,” 2nd edition, p. 351), and will adapt to changing conditions in the channel. The signal processing shown in
In the adaptive algorithm of
To summarize the adaptive algorithm for vector beamforming modified to compensate for group delay, the step of computing transmit weights comprises computing a transmit matrix from signals received at the plurality of antennas of the first communication device representing a plurality of modes simultaneously transmitted by the second 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 of the first communication device. The step of applying comprises applying the transmit matrix to a plurality of modes to be simultaneously transmitted from the first communication device to the second communication device. The transmit matrix is processed to compensate for group delay by normalizing the transmit matrix with respect to an element of the transmit matrix corresponding to one of the plurality of modes at one of the plurality of antennas. Said another way, the step of computing the transmit weights comprises computing an intermediate matrix from signals received at the plurality of antennas of the first communication device representing a plurality of modes simultaneously transmitted by the second communication device, wherein each mode is a signal stream. The intermediate matrix is further processed to compensate for group delay by dividing it by an element of the intermediate matrix corresponding to one of the plurality of modes at one of the plurality of antennas thereby producing a transmit matrix that 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. The transmit matrix may be computed such that the power transmitted from each of the plurality of antennas of the first communication device is less than a maximum power. Moreover, the transmit matrix may be computed such that the sum of the power at corresponding sub-carrier frequencies for each mode across the plurality of antenna paths is the same. These techniques are performed at the devices on both sides of the link whereby each time a first device receives signals from the second device it updates the transmit matrix it uses when transmitting back to the second device, and vice versa.
When the group delay compensation techniques described above are employed in a radio communication device, the radio communication may comprise 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 transmit weights from signals transmitted by another communication device and received at a plurality of antennas, processes the transmit weights to compensate for group delay that may be introduced by receive synchronization performed by the baseband signal processor, and applies the transmit weights to a transmit signal to produce a plurality of transmit signals to be simultaneously transmitted from corresponding ones of the plurality of antennas to the other communication device.
These techniques may also be embodied on a medium, such as processor or computer readable medium (included in the control processor shown in
Furthermore, these techniques may be employed at both ends of a communication link where a method is provided for communication between a first communication device and a second communication device using radio frequency (RF) communication techniques. At the first communication device, the steps performed are: computing transmit weights from signals transmitted by the second communication device and received at a plurality of antennas of the first communication device, wherein the step of computing comprises processing the transmit weights to compensate for group delay that may be introduced by receive synchronization performed by the first communication device; and applying the transmit weights to a transmit signal to produce a plurality of transmit signals to be simultaneously transmitted from corresponding ones of the plurality of antennas of the first communication device to the second communication device. At the second communication device, the steps performed are: computing transmit weights from signals transmitted by the first communication device and received at a plurality of antennas of the second communication device, wherein the step of computing comprises processing the transmit weights to compensate for group delay that may be introduced by receive synchronization performed by the second communication device; and applying the transmit weights to a transmit signal to produce a plurality of transmit signals to be simultaneously transmitted from corresponding ones of the plurality of antennas of the second communication device to the first communication device. The step of computing is performed at each communication device when signals are received from the other communication device to update their transmit weights.
The above description is intended by way of example only.
Claims
1. A MIMO radio communication device comprising:
- a plurality of antennas;
- a radio transceiver coupled to the plurality of antennas, the radio transceiver configured to upconvert a plurality of transmit signals for simultaneous transmission via the plurality of antennas, and to downconvert 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, configured to compute receive weights from the signals received at the plurality of antennas, to compute transmit weights by computing an intermediate vector equal to a conjugate of a receive weight vector formed by the receive weights divided by the norm of the conjugate of the receive weight vector, and to process the transmit weights by dividing the intermediate vector by an element of the intermediate vector corresponding to one of the plurality of antennas of the first communication device.
Type: Application
Filed: Dec 11, 2007
Publication Date: Apr 24, 2008
Applicant: IPR Licensing Inc. (Wilmington, DE)
Inventor: Chandra Vaidyanathan (Bethesda, MD)
Application Number: 12/001,310
International Classification: H04B 7/04 (20060101); H04B 1/38 (20060101);