I. Field
The present invention relates generally to communication, and more specifically to techniques for processing data in a multiple-antenna communication system.
II. Background
A multi-antenna communication system employs multiple (NT) transmit antennas and one or more (NR) receive antennas for data transmission. The NT transmit antennas may be used to increase system throughput by transmitting different data from the antennas or to improve reliability by transmitting data redundantly.
In the multi-antenna communication system, a propagation path exists between each pair of transmit and receive antennas. NT·NR different propagation paths are formed between the NT transmit antennas and the NR receive antennas. These propagation paths may experience different channel conditions (e.g., different fading, multipath, and interference effects) and may achieve different signal-to-noise-and-interference ratios (SNRs). The channel responses of the NT·NR propagation paths may thus vary from path to path. For a dispersive communication channel, the channel response for each propagation path also varies across frequency. If the channel conditions vary over time, then the channel responses for the propagation paths likewise vary over time.
Transmit diversity refers to the redundant transmission of data across space, frequency, time, or a combination of these three dimensions to improve reliability for the data transmission. One goal of transmit diversity is to maximize diversity for the data transmission across as many dimensions as possible to achieve robust performance. Another goal is to simplify the processing for transmit diversity at both a transmitter and a receiver.
There is therefore a need in the art for techniques to process data for transmit diversity in a multi-antenna communication system.
Techniques for transmitting and receiving data using a combination of transmit diversity schemes to improve performance are described herein. In an embodiment, a transmitting entity processes one or more (ND) data symbol streams and generates multiple (NC) coded symbol streams. Each data symbol stream may be sent as a single coded symbol stream or as two coded symbol streams using, e.g., space-time transmit diversity (STTD), space-frequency transmit diversity (SFTD), or orthogonal transmit diversity (OTD). The transmitting entity may perform spatial spreading on the NC coded symbol streams and generate NT transmit symbol streams. Additionally or alternatively, the transmitting entity may perform continuous beamforming on the NT transmit symbol streams in either the time domain or the frequency domain. These various transmit diversity schemes are described below.
A receiving entity obtains received symbols for the data transmission sent by the transmitting entity. The receiving entity derives an effective channel response matrix, e.g., based on received pilot symbols. This matrix includes the effects of the spatial spreading and/or continuous beamforming, if performed by the transmitting entity. In an embodiment, the receiving entity forms an overall channel response matrix based on the effective channel response matrix and in accordance with the STTD encoding scheme used by the transmitting entity. The receiving entity then derives a spatial filter matrix based on the overall channel response matrix and in accordance with, e.g., a minimum mean square error (MMSE) technique or a channel correlation matrix inversion (CCMI) technique. The receiving entity then performs spatial processing on a vector of received symbols for each 2-symbol interval with the spatial filter matrix to obtain a vector of detected symbols for the 2-symbol interval. The detected symbols are estimates of the transmitted coded symbols. The receiving entity performs post-processing (e.g., conjugation) on the detected symbols, if needed, to obtain recovered data symbols, which are estimates of the transmitted data symbols.
In another embodiment, the receiving entity derives a spatial filter matrix based on the effective channel response matrix. The receiving entity then performs spatial processing on the received symbols for each symbol period with the spatial filter matrix to obtain detected symbols for that symbol period. The receiving entity also performs post-processing on the detected symbols, if needed, to obtain estimates of data symbols. The receiving entity combines multiple estimates obtained for each data symbol sent with STTD and generates a single estimate for the data symbol.
Various aspects and embodiments of the invention are described in further detail below.
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.
The data transmission and reception techniques described herein may be used for multiple-input single-output (MISO) and multiple-input multiple-output (MIMO) transmissions. A MISO transmission utilizes multiple transmit antennas and a single receive antenna. A MIMO transmission utilizes multiple transmit antennas and multiple receive antennas. These techniques may also be used for single-carrier and multi-carrier communication systems. Multiple carriers may be obtained with orthogonal frequency division multiplexing (OFDM), some other multi-carrier modulation techniques, or some other construct. OFDM effectively partitions the overall system bandwidth into multiple (NF) orthogonal frequency 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.
Transmit diversity may be achieved using various schemes including STTD, SFTD, OTD, spatial spreading, continuous beamforming, and so on. STTD transmits each pair of data symbols from two antennas on one subband in two symbol periods to achieve space and time diversity. SFTD transmits each pair of data symbols from two antennas on two subbands in one symbol period to achieve space and frequency diversity. OTD transmits each pair of data symbols from two antennas on one subband in two symbol periods using two orthogonal codes to achieve space and time diversity. As used herein, a data symbol is a modulation symbol for traffic/packet data, a pilot symbol is a modulation symbol for pilot (which is data that is known a priori by both the transmitting and receiving entities), a modulation symbol is a complex value for a point in a signal constellation for a modulation scheme (e.g., M-PSK or M-QAM), and a symbol is any complex value.
Spatial spreading refers to the transmission of a symbol from multiple transmit antennas simultaneously, possibly with different amplitudes and/or phases determined by a steering vector used for that symbol. Spatial spreading is also called steering diversity, transmit steering, pseudo-random transmit steering, and so on. Spatial spreading may be used in combination with STTD, SFTD, OTD, and/or continuous beamforming to improve performance.
Continuous beamforming refers to the use of different beams across the NF subbands. The beamforming is continuous in that the beams change in a gradual instead of abrupt manner across the subbands. Continuous beamforming may be performed in the frequency domain by multiplying the symbols for each subband with a beamforming matrix for that subband. Continuous beamforming may also be performed in the time domain by applying different cyclic or circular delays for different transmit antennas.
Transmit diversity may also be achieved using a combination of schemes. For example, transmit diversity may be achieved using a combination of either STTD or SFTD and either spatial spreading or continuous beamforming. As another example, transmit diversity may be achieved using a combination of STTD or SFTD, spatial spreading, and continuous beamforming.
A spatial spreader 130 receives and multiplexes the coded symbols with pilot symbols, performs spatial spreading by multiplying the coded and pilot symbols with steering matrices, and provides NT transmit symbol streams for the NT transmit antennas, where NT≧NC. Each transmit symbol is a complex value to be sent on one subband in one symbol period from one transmit antenna. NT modulators (Mod) 132a through 132t receive the NT transmit symbol streams. For an OFDM system, each modulator 132 performs OFDM modulation on its transmit symbol stream and provides a stream of time-domain samples. Each modulator 132 may also apply a cyclic delay for each OFDM symbol. NT modulators 132a through 132t provide NT streams of time-domain samples to NT transmitter units (TMTR) 134a through 134t, respectively. Each transmitter unit 134 conditions (e.g., converts to analog, amplifies, filters, and frequency upconverts) its sample stream and generates a modulated signal. NT modulated signals from NT transmitter units 134a through 134t are transmitted from NT transmit antennas 136a through 136t, respectively.
Controller 140 controls the operation at transmitting entity 110. Memory unit 142 stores data and/or program codes used by controller 140.
At multi-antenna receiving entity 150y, NR antennas 152a through 152r receive the NT transmitted signals, and each antenna 152 provides a received signal to a respective receiver unit 154. Each receiver unit 154 processes its received signal and provides a received sample stream to an associated demodulator 156. Each demodulator 156 performs OFDM demodulation on its received sample stream, provides received data symbols to an RX spatial processor 170, and provides received pilot symbols to a channel estimator 166. Channel estimator 166 derives a channel response estimate for the actual or effective MIMO channel between transmitting entity 110 and receiving entity 150y for each subband used for data transmission. A matched filter generator 168 derives a spatial filter matrix for each subband based on the channel response estimate for that subband. RX spatial processor 170 performs receiver spatial processing (or spatial matched filtering) on the received data symbols for each subband with the spatial filter matrix for that subband and provides detected symbols for the subband. An RX STTD processor 172 performs post-processing on the detected symbols and provides recovered data symbols. An RX data processor 174 processes (e.g., symbol demaps, deinterleaves, and decodes) the recovered data symbols and provides decoded data.
Controllers 180x and 180y control the operation at receiving entities 150x and 150y, respectively. Memory units 182x and 182y store data and/or program codes used by controllers 180x and 180y, respectively.
1. Transmitter Processing
Transmitting entity 110 may transmit any number of data symbol streams with STTD and any number of data symbol streams without STTD, depending on the number of transmit and receive antennas available for data transmission. The STTD encoding for one data symbol stream may be performed as follows. For each pair of data symbols sa and sb to be sent in two symbol periods of the data symbol stream, TX STTD processor 120 generates two vectors s1=[sa sb]T and s2=[s*b −s*a]T, where “*” denotes the complex conjugate and “T” denotes the transpose. Alternatively, TX STTD processor 120 may generate two vectors s1=[sa −sb]T and s2=[sb s*a]T for each pair of data symbols sa and sb. For both STTD encoding schemes, each vector st, for t=1, 2, includes two coded symbols to be sent from NT transmit antennas in one symbol period, where NT≧2. Vector s1 is sent in the first symbol period, and vector s2 is sent in the next symbol period. Each data symbol is included in both vectors and is thus sent over two symbol periods. The m-th coded symbol stream is sent in the m-th element of the two vectors s1 and s2. For clarity, the following description is for the STTD encoding scheme with s1=[sa sb] T and s2=[s*b −s*a]T. For this STTD encoding scheme, the first coded symbol stream includes coded symbols sa and s*b, and the second coded symbol stream includes coded symbols sb and −s*a.
Table 1 lists four configurations that may be used for data transmission. An ND×NC configuration denotes the transmission of ND data symbol streams as NC coded symbol streams, where ND≧1 and NC≧ND. The first column identifies the four configurations. For each configuration, the second column indicates the number of data symbol streams being sent, and the third column indicates the number of coded symbol streams. The fourth column lists the ND data symbol streams for each configuration, the fifth column lists the coded symbol stream(s) for each data symbol stream, the sixth column gives the coded symbol to be sent in the first symbol period (t=1) for each coded symbol stream, and the seventh column gives the coded symbol to be sent in the second symbol period (t=2) for each coded symbol stream. The number of data symbols sent in each 2-symbol interval is equal to twice the number of data symbol streams. The eighth column indicates the number of transmit antennas required for each configuration, and the ninth column indicates the number of receive antennas required for each configuration. As shown in Table 1, for each data symbol stream that is sent as one coded symbol stream without STTD, the data symbol sent in the second symbol period (t=2) is conjugated to match the conjugation performed on the data symbols in the STTD encoded data symbol stream.
As an example, for the 2×3 configuration, two data symbol streams are sent as three coded symbol streams. The first data symbol stream is STTD encoded to generate two coded symbol streams. The second data symbol stream is sent without STTD as the third coded symbol stream. Coded symbols sa, sb and sc are sent from at least three transmit antennas in the first symbol period, and coded symbols s*b, −s*a and s*d are sent in the second symbol period. A receiving entity uses at least two receive antennas to recover the two data symbol streams.
Table 1 shows four configurations that may be used for data transmission whereby each configuration has at least one STTD encoded data symbol stream. Other configurations may also be used for data transmission. In general, any number of data symbol streams may be sent as any number of coded symbol streams from any number of transmit antennas, where ND≧1, NC≧ND, NT≧NC, and NR≧ND.
The transmitting entity may process the coded symbols for spatial spreading and continuous beamforming as follows:
xt(k)=B(k)·V(k)·G(k)·st(k), for t=1, 2, Eq (1)
where
Vector s1 contains NC coded symbols to be sent in the first symbol period, and vector s2 contains NC coded symbols to be sent in the second symbol period. Vectors s1 and s2 may be formed as shown in Table 1 for the four configurations. For example, s1=[sa sb sc]T and s2=[s*b −s*a s*d]T for the 2×3 configuration.
The gain matrix G(k) determines the amount of transmit power to use for each of the NC coded symbol streams. The total transmit power available for transmission may be denoted as Ptotal. If equal transmit power is used for the NC coded symbol streams, then the diagonal elements of G(k) have the same value, which is √{square root over (Ptotal/NC)}. If equal transmit power is used for the ND data symbol streams, then the diagonal elements of G(k) may or may not be equal depending on the configuration. The NC gain values in G(k) may be defined to achieve equal transmit power for the ND data symbol streams being sent simultaneously. As an example, for the 2×3 configuration, the first data symbol stream is sent as two coded symbol streams and the second data symbol stream is sent as one coded symbol stream. To achieve equal transmit power for the two data symbol streams, a 3×3 gain matrix G(k) may include gain values of √{square root over (Ptotal/4)}, √{square root over (Ptotal/4)}, and √{square root over (Ptotal/2)} along the diagonal for the three coded symbol streams. Each coded symbol in the third coded symbol stream is then scaled by √{square root over (Ptotal/2)} and is transmitted with twice the power as the other two coded symbols sent in the same symbol period. The NC coded symbols for each symbol period may also be scaled to utilize the maximum transmit power available for each transmit antenna. In general, the elements of G(k) may be selected to utilize any amount of transmit power for the NC coded symbol streams and to achieve any desired SNRs for the ND data symbol streams. The power scaling for each coded symbol stream may also be performed by scaling the columns of the steering matrix V(k) with appropriate gains.
A given data symbol stream (denoted as {s}) may be sent as one coded symbol stream (denoted as {{tilde over (s)}}) in other manners. In one embodiment, the gain matrix G(k) contains ones along the diagonal, and coded symbol stream {{tilde over (s)}} is transmitted at the same power level as the other coded symbol streams. For this embodiment, data symbol stream {s} is transmitted at lower transmit power than an STTD encoded data symbol stream and achieves a lower received SNR at the receiving entity. The coding and modulation for data symbol stream {s} may be selected to achieve the desired performance, e.g., the desired packet error rate. In another embodiment, each data symbol in data symbol stream {s} is repeated and transmitted in two symbol periods. As an example, for the 2×3 configuration, data symbol sc is sent in two symbol periods, then data symbol sd is sent in two symbol periods, and so on. Similar received SNRs for all ND data symbol streams may simplify processing (e.g., encoding) at both the transmitting and receiving entities.
The steering matrix V(k) spatially spreads the NC coded symbols for each symbol period such that each coded symbol is transmitted from all NT transmit antennas and achieves spatial diversity. Spatial spreading may be performed with various types of steering matrices, such as Walsh matrices, Fourier matrices, pseudo-random matrices, and so on, which may be generated as described below. The same steering matrix V(k) is used for the two vectors s1(k) and s2(k) for each subband k. The same or different steering matrices may be used for different subbands. Different steering matrices may be used for different time intervals, where each time interval spans an integer multiple of two symbol periods for STTD.
The matrix B(k) performs continuous beamforming in the frequency domain. For an OFDM system, a different beamforming matrix may be used for each subband. The beamforming matrix for each subband k may be a diagonal matrix having the following form:
where bi(k) is a weight for subband k of transmit antenna i. The weight bi(k) may be defined as:
bi(k)=e−j2π·ΔT(i)·l(k)·Δf, for i=1 . . . NT and k=1 . . . NF, Eq (3)
where
Continuous beamforming may also be performed in the time domain as follows. For each symbol period, an NF-point inverse discrete Fourier transform (IDFT) is performed on NF transmit symbols for each transmit antenna i to generate NF time-domain samples for that transmit antenna. The NF time-domain samples for each transmit antenna i are then cyclically or circularly delayed with a delay of Ti. For example, Ti may be defined as: Ti=ΔT·(i−1), for i=1 . . . NT, where ΔT may be equal to one sample period, a fraction of a sample period, or more than one sample period. The time-domain samples for each antenna are thus cyclically delayed by a different amount.
For simplicity, the following description is for one subband, and the subband index k is dropped from the notations. The receiver spatial processing for each subband may be performed in the same manner, albeit with a spatial filter matrix obtained for that subband. The gain matrix G(k) does not affect the receiver spatial processing and is omitted from the following description for clarity. The gain matrix G(k) may also be viewed as being incorporated in the vectors s1 and s2.
2. Single-Antenna Receiver Processing
A single-antenna receiving entity may receive a data transmission sent using the 1×2 configuration. The received symbols from the single receive antenna may be expressed as:
rt=h·xt+nt=h·B·V·st+nt=heff·st+nt, for t=1, 2, Eq (4)
where
The single-antenna receiving entity may derive estimates of the two data symbols sa and sb, as follows:
where
3. Multi-Antenna Receiver Processing
A multi-antenna receiving entity may receive a data transmission sent using any of the configurations supported by the number of receive antennas available at that receiving entity, as shown in Table 1. The received symbols from the multiple receive antennas may be expressed as:
rt=H·xt+nt=H·B·V·st+nt=Heff·st+nt, for t=1, 2, Eq (6)
where
The effective channel response matrix Heff may be expressed as:
Heff=H·B·V, Eq (7)
and has the following form:
where heff,j,m is the channel gain for coded symbol stream m at receive antenna j. The effective channel response matrix Heff is dependent on the configuration used for data transmission and the number of receive antennas. The MIMO channel response matrix H and the effective channel response matrix Heff are assumed to be constant over two symbol periods for vectors s1 and s2.
For the 1×2 configuration, the effective channel response matrix is an NR×2 matrix that may be given as: Heff=H·B·V=[heff,1 heff,2], where heff,m is an effective channel response vector for coded symbol stream m. The multi-antenna receiving entity may derive estimates of the two data symbols sa and sb, as follows:
where
To facilitate the receiver spatial processing, a single data vector s may be formed for the 2ND data symbols included in vectors s1 and s2 sent in two symbol periods. A single received vector r may also be formed for the 2NR received symbols included in vectors r1 and r2 obtained in two symbol periods. The received vector r may then be expressed as:
r=Hall·s+nall, Eq (10)
where
For the 2×3 configuration, the transmitting entity generates vectors s1=[sa sb sc]T and s2=[s*b −s*a s*d]T for four data symbols sa, sb, sc and sd to be sent in two symbol periods for two data symbol streams, as shown in Table 1. Each vector st contains three coded symbols to be sent from the NT transmit antennas in one symbol period, where NT≧3 for the 2×3 configuration.
If the receiving entity is equipped with two receive antennas (NR=2), then rt is a 2×1 vector with two received symbols for symbol period t, H is a 2×NT channel response matrix, and Heff is a 2×3 effective channel response matrix. The effective channel response matrix for the 2×3 configuration with two receive antennas, which is denoted as Heff2/2×3, may be expressed as:
The received symbols for the first symbol period are denoted as r1=[r1,1 r2,1]T, and the received symbols for the second symbol period are denoted as r2=[r1,2 r2,2]T, where rj,t is the received symbol from receive antenna j in symbol period t. These four received symbols may be expressed as:
r1,1=+heff,1,1·sa+heff,1,2·sb+heff,1,3·sc+n1,1, Eq (12a)
r2,1=+heff,2,1·sa+heff,2,2·sb+heff,2,3·sc+n2,1, Eq (12b)
r1,2=−heff,1,2·s*a+heff,1,1·s*b+heff,1,3·s*d+n1,2, and Eq (12c)
r2,2=−heff,2,2·s*a+heff,2,1·s*b+heff,2,3·s*d+n2,2. Eq (12d)
For the 2×3 configuration with two receive antennas, the data vector s may be formed as s=[sa sb sc sd]T, the received vector r may be formed as r=[r1,1 r2,1 r*1,2 r*2,2]T, and the overall channel response matrix Hall2/2×3 may be expressed as:
With the above formulation, r may be expressed based on Hall2/2×3 and s, as shown in equation (10). The matrix Hall2/2×3 is formed from equation set (12) and using the property: r=h·s*r*=h*·s. As shown in equation (13), the first two rows of Hall2/2×3 contain all of the elements of Heff2/2×3, and the last two rows of Hall2/2×3 contain the elements of Heff2/2×3 but rearranged and transformed (i.e., conjugated and/or inverted) due to the STTD encoding on the data symbols.
For the 2×4 configuration, the transmitting entity generates vectors s1=[sa sb sc sd] and s2=[s*b −s*a s*d −s*c]T for two pairs of data symbols (sa and sb) and (sc and sd) to be sent in two symbol periods for two data symbol streams. Each vector st includes four coded symbols to be sent from the NT transmit antennas in one symbol period, where NT≧4 for the 2×4 configuration.
If the receiving entity is equipped with two receive antennas (NR'2 2), then rt is a 2×1 vector with two received symbols for symbol period t, H is a 2×NT channel response matrix, and Heff is a 2×4 effective channel response matrix. The effective channel response matrix for the 2×4 configuration with two receive antennas, which is denoted as Heff2/2×4, may be expressed as:
The received symbols from the two receive antennas in two symbol periods may be expressed as:
r1,1=+heff,1,1·sa+heff,1,2·sb+heff,1,3·sc+heff,1,4·sd+n1,1, Eq (15a)
r2,1=+heff,2,1·sa+heff,2,2·sb+heff,2,3·sc+heff,2,4·sd+n2,1, Eq (15b)
r1,2=−heff,1,2·s*a+heff,1,1·s*b−heff,1,4·s*c+heff,1,3·s*d+n1,2, and Eq (15c)
r2,2=−heff,2,2·s*a+heff,2,1·s*b−heff,2,4·s*c+heff,2,3·s*d+n2,2. Eq (15d)
For the 2×4 configuration with two receive antennas, the data vector s may be formed as s=[sa sb sc sd]T the received vector r may be formed as r=[r1,1 r2,1 r*1,2 r*2,2]T and the overall channel response matrix Hall2/2×4 may be expressed as:
As shown in equation (16), the first two rows of Hall2/2×4 are equal to Heff2/2×4, and the last two rows of Hall2/2×4 contain rearranged and transformed elements of Heff2/2×4.
In general, the received vector r for all configurations may be expressed as:
r=[r1,1 . . . rN
The data vector s is dependent on the configuration used for data transmission. The overall channel response matrix Hall is dependent on the configuration and the number of receive antennas.
For the 1×2 configuration, the vector s and the matrix Hall may be expressed as:
For the 2×3 configuration, the vector s and the matrix Hall may be expressed as:
For the 2×4 configuration, the vector s and the matrix Hall may be expressed as:
For the 3×4 configuration, the vector s and the matrix Hall may be expressed as:
The multi-antenna receiving entity can derive estimates of the transmitted data symbols using various receiver spatial processing techniques. These techniques include an MMSE technique, a CCMI technique (which is also commonly called a zero-forcing technique or a decorrelation technique), a partial-MMSE technique, and a partial-CCMI technique. For the MMSE and CCMI techniques, the receiving entity performs spatial matched filtering on 2NR received symbols obtained in each 2-symbol interval. For the partial-MMSE and partial-CCMI techniques, the receiving entity performs spatial matched filtering on NR received symbols obtained in each symbol period.
A. MMSE Receiver
For the MMSE technique, the receiving entity derives a spatial filter matrix as follows:
where
The receiving entity may derive Ĥall in different manners depending on how pilot symbols are sent by the transmitting entity. For example, the receiving entity may obtain Ĥeff, which is an estimate the effective channel response matrix Heff, based on received pilot symbols. The receiving entity may then derive Ĥall based on Ĥeff, as shown in equation (19), (21), (23) or (25) for the four configurations given in Table 1. The receiving entity may also estimate the overall channel response matrix Hall directly based on received pilot symbols. In any case, the second equality in equation (26) assumes that the noise vector nall is AWGN with zero mean and variance of σn2. The spatial filter matrix Mmmse minimizes the mean square error between the symbol estimates from the spatial filter matrix and the data symbols.
The receiving entity performs MMSE spatial processing as follows:
where
B. CCMI Receiver
For the CCMI technique, the receiving entity derives a spatial filter matrix as follows:
Mccmi=[ĤallH·Ĥall]−1·ĤallH={circumflex over (R)}all−1·ĤallH, Eq (28)
where Mccmi is a 2ND×2NR CCMI spatial filter matrix.
The receiving entity performs CCMI spatial processing as follows:
where
C. Partial-MMSE Receiver
For the partial-MMSE and partial-CCMI techniques, the receiving entity performs spatial matched filtering on the NR received symbols for each symbol period based on a spatial filter matrix for that symbol period. For each STTD encoded data symbol stream, the receiving entity obtains two estimates in two symbol periods for each data symbol sent in the stream and combines these two estimates to generate a single estimate for the data symbol. The partial-MMSE and partial-CCMI techniques may be used if the receiving entity is equipped with at least NC receive antennas, or NR≧NC. There should be at least as many receive antennas as the number of coded symbols transmitted at each symbol period, which is shown in Table 1.
For the partial-MMSE technique, the receiving entity derives a spatial filter matrix as follows:
where
The receiving entity performs MMSE spatial processing for each symbol period as follows:
where
The partial-MMSE processing provides two vectors ŝmmse,1 and ŝmmse,2 for the first and second symbol periods, respectively, which are estimates of vectors s1 and s2, respectively. The detected symbols in vector ŝmmse,2 are conjugated and/or negated, as needed, to obtain estimates of the data symbols included in vector s2. As an example, for the 2×3 configuration, ŝmmse,1=[ŝa ŝb ŝc]T and ŝmmse,2=[ŝ*b −ŝ*a ŝ*d]T. For vector ŝmmse,2, ŝ*b is conjugated to obtain a second estimate of sb, −ŝ*a is negated and conjugated to obtain a second estimate of sa, and ŝ*d is conjugated to obtain an estimate of sd.
For each STTD encoded data symbol stream, the partial-MMSE processing provides two detected symbols in two symbol periods for each data symbol sent in that stream. In particular, the partial-MMSE processing provides two estimates of sa and two estimates of sb for all four configurations in Table 1 and further provides two estimates of sc and two estimates of sd for the 2×4 configuration. The two estimates of each data symbol may be combined to generate a single estimate of that data symbol.
The two estimates of a data symbol sm may be combined using maximal ratio combining (MRC), as follows:
where
The estimate ŝm,1 is obtained from coded symbol stream m1 in symbol period t=1, and the estimate ŝm,2 is obtained from coded symbol stream m2 in symbol period t=2. The SNR of ŝm,t for the partial-MMSE technique may be expressed as:
where
The two estimates of data symbol Sm may also be linearly combined, as follows:
Equation (34) provides the same performance as the MRC technique if the SNRs of the two estimates ŝm,1 and ŝm,2 are equal but provides sub-optimal performance if the SNRs are not equal.
D. Partial-CCMI Receiver
For the partial-CCMI technique, the receiving entity derives a spatial filter matrix for one symbol period as follows:
Mp-ccmi=[ĤeffH·Ĥeff]−1·ĤeffH={circumflex over (R)}eff−1·ĤeffH, Eq (35)
where Mp-ccmi is an NC×NR CCMI spatial filter matrix for one symbol period.
The receiving entity performs CCMI spatial processing for each symbol period as follows:
where
The receiving entity may combine two estimates of a given data symbol using MRC, as shown in equation (32). In this case, the SNR of detected symbol ŝm,t for the CCMI technique may be expressed as:
where rm
The partial-MMSE and partial-CCMI techniques may reduce delay (or latency) for data symbol streams sent without STTD. The partial-MMSE and partial-CCMI techniques may also reduce complexity of the spatial matched filtering since the spatial filter matrix for each symbol period has dimension of NC×NR whereas the spatial filter matrix for each 2-symbol period interval has dimension of 2ND×2NR.
4. Alternate STTD Encoding Scheme
For clarity, the description above is for the case in which a pair of data symbols sa and sb is STTD encoded into two vectors s1=[sa sb]T and s2=[s*b −s*a]T. As noted above, the pair of data symbols sa and sb may also be STTD encoded into two vectors is s1=[sa −s*b]T and s2=[sb s*a]T. The various vectors and matrices described above may be different for this alternate STTD encoding scheme.
As an example, for the 2×4 configuration, the transmitting entity may generate vectors is s1=[sa −s*b sc −s*d]T and s2=[sb s*a sd s*c]T for two pairs of data symbols (sa and sb) and (sc and sd) to be sent in two symbol periods for two data symbol streams. The data vector s may be given as s=[sa s*b sc s*d]T, the received vector r may be given as r=[r1,1 . . . rN
The vectors s1, s2 and s and the matrix Hall for the other configurations may be derived in similar manner as described above for the 2×4 configuration.
For the alternate STTD encoding scheme, the receiving entity uses the matrix Hall defined for the alternate STTD encoding scheme, instead of the matrix Hall defined for first STTD encoding scheme, to derive an MMSE spatial filter matrix or a CCMI spatial filter matrix. For the 2×4 configuration, the matrix Hall shown in equation (38) is used instead of the matrix Hall shown in equation (23). The receiving entity then performs spatial matched filtering on the received vector r with the spatial filter matrix to obtain ŝ, which is an estimate of s for the alternate STTD encoding scheme. The receiving entity then conjugates the symbols in ŝ, as needed, to obtain the recovered data symbols.
In general, the overall channel response matrix Hall is dependent on the manner in which the STTD encoding is performed by the transmitting entity and any other spatial processing performed by the transmitting entity. The receiving entity performs MMSE or CCMI processing in the same manner, albeit with the overall channel response matrix derived in the proper manner.
The effective channel response matrix Heff is the same for both STTD encoding schemes and is shown in equation (8). The receiving entity uses Heff to derive a partial-MMSE spatial filter matrix or a partial-CCMI spatial filter matrix. The receiving entity then performs spatial matched filtering on the received vector rt for each symbol period with the spatial filter matrix to obtain ŝt, which is an estimate of st for the alternate STTD encoding scheme. The receiving entity then conjugates the detected symbols in ŝt as needed and further combines estimates as appropriate to obtain the recovered data symbols.
5. Receiver Processing
Within RX spatial processor 170a, a pre-processor 310 obtains the received vector rt for each symbol period, conjugates the received symbols for the second symbol period of each 2-symbol interval, and forms the received vector r for each 2-symbol interval, as shown in equation (17). A spatial processor 320 performs spatial matched filtering on the received vector r with the spatial filter matrix M and provides vector ŝ, as shown in equation (27) or (29). Within RX STUD processor 172a, an STTD post-processor 330 conjugates the symbols in vector ŝ, as needed, and provides 2ND recovered data symbols for each 2-symbol interval. A demultiplexer (Demux) 340 demultiplexes the recovered data symbols from STUD post-processor 330 onto ND recovered data symbol streams and provides these streams to RX data processor 174.
Within RX spatial processor 170b, a spatial processor 420 performs spatial matched filtering on the received vector rt for each symbol period with the spatial filter matrix Mp for that symbol period and provides vector ŝt, as shown in equation (31) or (36). Within RX STTD processor 172b, an STTD post-processor 430 conjugates the detected symbols in vector ŝt, as needed, and provides NC data symbol estimates for each symbol period. A combiner 432 combines two estimates for each data symbol sent with STTD, e.g., as shown in equation (32) or (34), and provides a single estimate for that data symbol. A demultiplexer 440 demultiplexes the recovered data symbols from combiner 432 onto ND recovered data symbol streams and provides these streams to RX data processor 174.
6. SFTD and Spatial Spreading
The transmitting entity may also use a combination of SFTD, spatial spreading, and possibly continuous beamforming. For each configuration shown in Table 1, the transmitting entity may generate two vectors s1 and s2 for 2ND data symbols to be sent on two subbands in one symbol period for ND data symbol streams. The transmitting entity may spatially spread and send vector s1 on one subband in one symbol period and spatially spread and send vector s2 on another subband in the same symbol period. The two subbands are typically adjacent subbands. The receiving entity may derive the overall channel response matrix Hall as described above, except that the first NR rows of Hall are for the first subband (instead of the first symbol period) and the last NR rows of Hall are for the second subband (instead of the second symbol period). The receiving entity may perform MMSE, CCMI, partial-MMSE, or partial-CCMI processing in the manner described above.
7. Steering Matrices for Spatial Spreading
Various types of steering matrices may be used for spatial spreading. For example, the steering matrix V may be a Walsh matrix, a Fourier matrix, or some other matrix. A 2×2 Walsh matrix W2×2 be expressed as
A larger size Walsh matrix W2N×2N may be formed from a smaller size Walsh matrix WN×N, as follows:
An N×N Fourier matrix DN×N has element dn,m in the n-th row of the m-th column, which may be expressed as:
Fourier matrices of any square dimension (e.g., 2, 3, 4, 5, and so on) may be formed.
A Walsh matrix WN×N, a Fourier matrix DN×N, or any other matrix may be used as a base matrix BN×N to form other steering matrices. For an N×N base matrix, each of rows 2 through N of the base matrix may be independently multiplied with one of M different possible scalars. MN−1 different steering matrices may be obtained from MN−1 different permutations of the M scalars for the N−1 rows. For example, each of rows 2 through N may be independently multiplied with a scalar of +1, −1, +j, or −j, where j=√{square root over (−1)}. For N=4, 64 different steering matrices may be generated from a base matrix B4×4 with the four different scalars. Additional steering matrices may be generated with other scalars, e.g., e±j3π/4, e±jπ/4, e±jπ/8, and so on. In general, each row of the base matrix may be multiplied with any scalar having the form ejθ, where θ may be any phase value. N×N steering matrices may be generated from the N×N base matrix as V(i)=gN·BN×Ni, where gN=1/√{square root over (N)} and BN×Ni is the i-th steering matrix generated with the base matrix BN×N. The scaling by gN=1/√{square root over (N)} ensures that each column of V(i) has unit power.
The steering matrices may also be generated in a pseudo-random manner. The steering matrices are typically unitary matrices having columns that are orthogonal to one another. The steering matrices may also be orthonormal matrices having orthogonal columns and unit power for each column, so that VH·V=I, and I is the identity matrix. A steering matrix of a dimension that is not square may be obtained by deleting one or more columns of a square steering matrix.
Different steering matrices may be used for different time intervals. For example, different steering matrices may be used for different symbol periods for SFTD and for different 2-symbol intervals for STTD and OTD. For an OFDM system, different steering matrices may be used for different subbands for STTD and OTD and for different pairs of subbands for SFTD. Different steering matrices may also be used for different subbands and different symbol periods. The randomization provided by spatial spreading (across time and/or frequency) with the use of different steering matrices can mitigate deleterious effects of a wireless channel.
8. Frame Structure and MIMO Pilot
In an embodiment, the transmitting entity transmits a “clear” MIMO pilot (i.e., without spatial spreading) from all NT transmit antennas, as follows:
xpilotns(k,t)=W(t)·p(k), for t=1 . . . L, Eq (41)
where
The received pilot symbols obtained by the receiving entity for the clear MIMO pilot may be expressed as:
rpilotns(k,t)=H(k)·W(t)·p(k)+n(k), for t=1 . . . L, Eq (42)
where rpilotns(k,t) is an NR×1 vector with NR received pilot symbols for the clear MIMO pilot for subband k in symbol period t.
The receiving entity may derive an estimate of the MIMO channel matrix H(k) based on the clear MIMO pilot. Each column of H(k) is associated with a respective Walsh sequence. The receiving entity may obtain an estimate of hj,i(k), which is the channel gain between the i-th transmit antenna and the j-th receive antenna, as follows. The receiving entity first multiplies the j-th element of rpilotns(k,1) through rpilotns(k,L) by the L chips of Walsh sequence Wi assigned to the i-th transmit antenna and obtains a sequence of L recovered symbols. The receiving entity then removes the modulation used for pilot symbol pi(k), which is the i-th element of p(k), from the L recovered symbols. The receiving entity then accumulates the L resultant symbols to obtain the estimate of hj,i(k), which is the element in the j-th row and the i-th column of H(k). The process is repeated for each of the elements of H(k). The receiver entity may then derive an estimate of Heff(k) based on Ĥ(k) and the known steering matrices used by the transmitting entity. The receiving entity may use Ĥ(k) for receiver spatial processing, as described above.
The transmitting entity may send a spatially spread MIMO pilot, as follows:
xpilotss(k,t)=V(k)·W(t)·p(k), for t=1 . . . L, Eq (43)
where
The received pilot symbols obtained by the receiving entity for the spatially spread MIMO pilot may be expressed as:
rpilotss(k,t)=H(k)·V(k)·W(t)·p(k)+n(k), Eq (44)
where rpilotss(k,t) is an NR×1 vector with NR received pilot symbols for the spatially spread MIMO pilot for subband k in symbol period t.
The receiving entity may derive an estimate of the effective MIMO channel Heff(k) based on the received pilot symbols in rpilotss(k,t), e.g., as described above for the clear MIMO pilot. In this case, the receiving entity removes p(k) and W(t) and obtains Ĥeff(k), which is an estimate of H(k)·V(k). Alternatively, the transmitting entity may generate a spatially spread MIMO pilot as: xpilotss(k,t)=W(t)·p(k) or xpilotss(k,t)=w(t)·p(k), where W(t) or w(t) performs the spatial spreading. In this case, the receiving entity may form Ĥeff(k), which is an estimate of H(k)·W(k), directly based on the received pilot symbols without any extra processing. In any case, the receiving entity may use Ĥeff(k) for receiver spatial processing.
In another embodiment, the transmitting entity transmits a clear or spatially spread MIMO pilot using subband multiplexing. With subband multiplexing, only one transmit antenna is used for each subband in each symbol period. The Walsh matrix W(t) is not needed.
The data transmission and reception 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 at a transmitting entity 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. The processing units at a receiving entity may also be implemented within one or more ASICs, DSPs, and so on.
For a software implementation, the techniques described herein 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 142 in
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.
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.
The present application for patent claims priority to Provisional Application Ser. No. 60/607,371, entitled “Steering Diversity with Space-Time Transmit Diversity for a Wireless Communication System,” filed Sep. 3, 2004; and Provisional Application Ser. No. 60/608,226, entitled “Steering Diversity with Space-Time and Space-Frequency Transmit Diversity Schemes for a Wireless Communication System,” filed Sep. 8, 2004, all assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
60607371 | Sep 2004 | US | |
60608226 | Sep 2004 | US |