Closed loop multiple transmit, multiple receive antenna wireless communication system

09548801 ยท 2017-01-17

Assignee

Inventors

Cpc classification

International classification

Abstract

A wireless receiver (74) for receiving signals from a transmitter (72). The transmitter comprises a plurality of transmit antennas (TAT.sub.1, TAT.sub.2) for transmitting the signals, which comprise respective independent streams of symbols. Additionally, interference occurs between the respective streams. The receiver comprises a plurality of receive antennas (RAT.sub.1, RAT.sub.2) for receiving the signals as influenced by a channel effect between the receiver and the transmitter. The receiver also comprises circuitry (80) for multiplying the signals times a conjugate transpose of an estimate of the channel effect and times a conjugate transpose of a linear basis transformation matrix. The receiver also comprises circuitry (84) for selecting the linear basis transformation matrix from a finite set of linear basis transformation matrices. Lastly, the receiver comprises circuitry (88) for removing the interference between the respective streams.

Claims

1. A method of processing signals in a communication circuit, comprising: receiving a plurality of signal streams on a plurality of receive antennas from a plurality of transmit antennas coupled to a transmitter; producing a channel estimate in response to a predetermined signal on the plurality of received signal streams; selecting a matrix from a finite set of matrices in response to the produced channel estimate; and multiplying the plurality of received signal streams by a conjugate of a transpose of the produced channel estimate and by a conjugate of a transpose of the selected matrix.

2. A method as in claim 1, further comprising despreading the plurality of received signal streams in response to a code.

3. A method as in claim 1, further comprising removing interference from the plurality of received signal stems.

4. A method as in claim CO, further comprising; identifying the selected matrix to a remote receiver; and calculating a product of the produced channel estimate and the selected matrix prior to the multiplying of the plurality of received signal streams by the conjugate of the transpose of the produced channel estimate and by the conjugate of the transpose of the selected matrix.

5. A method as in claim 1, further comprising: converting a group of the multiplied plurality of signal streams to a serial signal stream; demodulating the serial signal stream; deinterleaving the demodulated serial signal stream; and decoding the deinterleaved serial signal stream.

6. A method as in claim 1, wherein the plurality of received signal streams comprise at least one pilot symbol.

7. A method as in claim 1, wherein the selected matrix is a linear basis transformation matrix.

8. A method as in claim 1, further comprising receiving the plurality of signal streams from a plurality of remote transmit antennas, wherein the plurality of signal streams are encoded differently for each respective antenna of the plurality of transmit antennas.

9. An apparatus, comprising; circuitry for receiving a plurality of signal streams on a plurality of receive antennas from a plurality of transmit antennas coupled to a transmitter; circuitry for producing a channel estimate in response to a predetermined signal on the plurality of received signal streams; circuitry for selecting a matrix from a finite set of matrices in response to the produced channel estimate; and circuitry for multiplying the plurality of received signal streams by a conjugate of a transpose of the produced channel estimate and by a conjugate of a transpose of the selected matrix.

10. The apparatus as in claim 9, further comprising circuitry for despreading the plurality of received signal streams in response to a code.

11. The apparatus as in claim 9, further comprising circuitry for removing interference from the plurality of received signal streams.

12. The apparatus as in claim 9, further comprising: circuitry for identifying the selected matrix to a remote receiver; and circuitry for calculating a product of the produced channel estimate and the selected matrix prior to the multiplying of the plurality of received signal streams by the conjugate of the transpose of the produced channel estimate and by the conjugate of the transpose of the selected matrix.

13. The apparatus as in claim 9, further comprising: circuitry for converting a group of the multiplied plurality of received signal streams to a serial signal stream; circuitry for demodulating the serial signal stream; circuitry for deinterleaving the demodulated serial signal stream; and circuitry for decoding the deinterleaved serial signal stream.

14. The apparatus as in claim 9, wherein the predetermined signal stream comprises at least one pilot symbol.

15. The apparatus as in claim 9, wherein the selected matrix is a linear basis transformation matrix.

16. The apparatus as in claim 9, further comprising receiving the plurality of signal streams from a plurality of remote transmit antennas, wherein the plurality of signal streams are encoded differently for each respective antenna of the plurality of transmit antennas.

17. An apparatus, comprising: circuitry for receiving a plurality of signal streams on a plurality of receive antennas; circuitry for producing a channel estimate in response to a predetermined signal on the plurality of received signal streams; circuitry for selecting a matrix from a finite set of matrices in response to the produced channel estimate; and circuitry for multiplying the plurality of received signal streams by a conjugate of a transpose of the produced channel estimate and by a conjugate of a transpose of the selected matrix.

Description

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

(1) FIG. 1 illustrates an electrical block diagram of a prior art CDMA system with a transmitter and a receiver.

(2) FIG. 2 illustrates an electrical block diagram of a proposed eigenmode system with a transmitter and a receiver.

(3) FIG. 3 illustrates an electrical and functional block diagram of a multi-input multi-output (MIMO) system according to one preferred embodiment and which includes a transmitter and a receiver.

(4) FIG. 4 illustrates an electrical and functional block diagram of a double space time block coded transmit antenna diversity system according to another preferred embodiment and which includes a transmitter and a receiver.

DETAILED DESCRIPTION OF THE INVENTION

(5) FIGS. 1 and 2 were described earlier in the Background Of The Invention section of this document and the reader is assumed to be familiar with the concepts described therein.

(6) By way of introduction, the preferred embodiments provide a wireless communication system wherein multiple transmit antennas are used to communicate independent symbol streams and where, prior to transmission, those streams are transformed using a linear basis; preferably the linear basis is selected by the receiver from a finite set of different bases and an identification of the selected basis, along with any parameter(s) corresponding to that basis, are communicated (i.e., fed back) from the receiver to the transmitter. Such an approach may be implemented in a variety of multi-antenna systems, and for sake of illustration two such systems are described along with variations on each. Finally, there is presented additional discussion from which one skilled in the art should appreciate the application of these principles to still other systems.

(7) FIG. 3 illustrates an electrical and functional block diagram of a multi-input multi-output (MIMO) system 70 according to one preferred embodiment. As FIG. 3 represents an electrical and functional block diagram, one skilled in the art may ascertain various technical manners of implementing system 70 using a combination of hardware and software, including the preferred used of a digital signal processor to include at least some of the illustrated blocks. Turning then to system 70, it includes a transmitter 72 and a receiver 74. Transmitter 72 and receiver 74 in some respects are comparable to system 10 described earlier; thus, to simplify the present discussion the comparable blocks are shown with a like reference identifier, with the addition of an apostrophe to the identifier in FIG. 3 so that certain blocks may be referred to with respect to system 70 without causing a confusing reference as to the earlier prior art system 10. Additionally, the comparable blocks are discussed to a lesser extent below given the previous discussion as well as the skill in the art. Finally, as a multiple antenna system, in the illustrated example two transmit and two receive antennas are illustrated. However, the present inventive teachings may be extended to various systems with P transmit antennas and Q receive antennas.

(8) Looking to transmitter 72, functional blocks 16 through 24 are now described with it understood that generally these blocks may perform functions known in the art, with the overall function of transmitter 72, including these blocks, being improved based on additional functional blocks described below. Transmitter 72 receives information bits B at an input to a channel encoder 16, which encodes the information bits B.sub.i in an effort to improve raw bit error rate. Various encoding techniques may be used by channel encoder 16 and as applied to bits B.sub.i, with examples including the use of convolutional code, block code, turbo code, concatenated codes, or a combination of any of these codes. The encoded output of channel encoder 16 is coupled to the input of an interleaver 18. Interleaver 18 operates with respect to a block of encoded bits and shuffles the ordering of those bits so that the combination of this operation with the encoding by channel encoder 16 exploits the time diversity of the information. For example, one shuffling technique that may be performed by interleaver 18 is to receive bits in a matrix fashion such that bits are received into a matrix in a row-by-row fashion, and then those bits are output from the matrix to a modulator 20 in a column-by-column fashion. Modulator 20 is in effect a symbol mapper in that it converts its input bits to symbols, designated generally as s.sub.i. The converted symbols s.sub.i may take various forms, such as quadrature phase shift keying (QPSK) symbols, binary phase shift keying (BPSK) symbols, or quadrature amplitude modulation (QAM) symbols. In any event, symbols s.sub.i may represent various information such as user data symbols, pilot symbols, and control symbols such as transmit power control (TPC) symbols and rate information (RI) symbols. Symbols s.sub.i are coupled to a serial-to-parallel converter 22. Serial-to-parallel converter 22 receives incoming symbols and outputs them in parallel along its outputs 22o.sub.1 and 22o.sub.2. For the sake of example, therefore, FIG. 3 illustrates that a stream of symbols, s.sub.1 followed by s.sub.2, is input to serial-to-parallel converter 22 and serial-to-parallel converter 22 therefore outputs symbol s.sub.1 along output 22o.sub.1 and symbol s.sub.2 along output 22o.sub.2.

(9) The independent parallel symbol streams from serial-to-parallel converter 22 are connected as inputs to a matrix multiplication block 76. Matrix multiplication block 76 performs a linear basis transformation on its inputs by multiplying the signals from outputs 22o.sub.1 and 22o.sub.2 times a linear basis transformation matrix V.sup.(n), where V.sup.(n) is detailed later. By way of introduction, V.sup.(n) is selected by receiver 74 from a finite set of different matrices and receiver 74 identifies that selection to transmitter 72 via the wireless feedback control channel between receiver 74 and transmitter 72, where a dashed line represents this wireless feedback link from receiver 74 to transmitter 72. Further in this regard, transmitter 72 includes a feedback decode block 78 and along the feedback path receiver 74 provides sufficient information to feedback decode block 78 to indicate the selection of V.sup.(n). As detailed below, there may be one or more parameters associated with V.sup.(n), and these parameters are also communicated along the feedback path to feedback decode block 78. In response, feedback decode block 78 determines the appropriate values for V.sup.(n) and provides them to matrix multiplication block 76 so that it may multiply V.sup.(n) times the incoming independent parallel symbol streams from outputs 220o.sub.1 and 22o.sub.2 of serial-to-parallel converter 22. Lastly, as detailed below, in the preferred embodiment the selection of V.sup.(n) is in response to the channel effect, H, between transmitter 72 and receiver 74 and it also may be selected in response to the type of joint interference cancellation technique implemented by receiver 74.

(10) The outputs 76o.sub.1 and 76o.sub.2 of matrix multiplication block 76 are in a CDMA embodiment connected to a spreader 24, or alternatively in a TDMA embodiment those outputs are connected directly to respective transmit antennas TAT.sub.1 and TAT.sub.2 (via a digital-to-analog interface, not shown). Due to these alternatives, spreader 24 is shown within a dashed line block. Looking first to the CDMA implementation, spreader 24 modulates each data symbol by combining it with, or multiplying it times, a CDMA spreading sequence which can be a pseudo-noise (PN) digital signal or PN code or other spreading codes (i.e., it utilizes spread spectrum technology), where the approach therefore may be a single or multicode approach. In a single code instance, the signals from each of the different outputs 76o.sub.1 and 76o.sub.2 is multiplied times the same code. In a multicode instance, each stream output 76o.sub.1 and 76o.sub.2 is further divided into ds streams. Each of those ds streams is multiplied times a different and orthogonal code in a given set of ds codes, and where the same set of ds codes is used for each of the different outputs 76o.sub.1 and 76o.sub.2. Further, for each set of ds streams corresponding to outputs 76o.sub.1 and 76o.sub.2, the resulting products following the code multiplication are summed and the sum is output to a respective one of antennas TAT.sub.1 and TAT.sub.2. Further, the outputs of spreader 24 are connected to respective transmit antennas TAT.sub.1 and TAT.sub.2 via a digital-to-analog interface, not shown. From the above, therefore, note that spreader 24 is optional in that it is implemented when transmitter 72 is to function as a CDMA transmitter and it is not implemented when transmitter 72 is to function as a TDMA transmitter. In either event, the ultimate signals are connected, with or without spreading, to respective transmit antennas TAT.sub.1 and TAT.sub.2, and for the sake of later reference, let the signals communicated by transmit antennas TAT.sub.1 and TAT.sub.2 be designated as x.sub.1 and x.sub.2, respectively.

(11) Turning to receiver 74, it includes receive antennas RAT.sub.1 and RAT.sub.2, where those antennas in a CDMA embodiment are connected to a despreader 32 and in a TDMA embodiment they are connected directly to a matched filter 80 (with either connection being through an analog-to-digital interface, not shown). Again due to the alternatives including an option to exclude despreader 32, then it is shown within a dashed line block. Further, these options correspond to those stated above with respect to transmitter 72 in connection with its spreader 24, that is, when system 70 is implemented as a CDMA system, then spreader 24 and despreader 32 are included, whereas when system 70 is implemented as a TDMA system, then spreader 24 and despreader 32 are not included. Still further, despreader 32 should accommodate the number of codes used by spreader 24, where recall above there is discussed both a single code and multicode alternative, where one skilled in the art may readily implement the corresponding despreading apparatus in despreader 32 based on which of these alternatives is implemented. In any event, let the signals received by receive antennas RAT.sub.1 and RAT.sub.2 be indicated as r.sub.1 and r.sub.2, with or without subsequent despreading.

(12) The signals r.sub.1 and r.sub.2 are connected to a matched filter 80. In the preferred embodiment, matched filter 80 multiplies the incoming signals times a matrix that represents a conjugate transpose of an estimate of the channel effect H, that is, it multiplies times .sup.H, where the value designates the estimate of H; in addition, however, it also multiplies times the conjugate transpose of V.sup.(n), where recall that V.sup.(n) is imparted into the communicated signals by matrix multiplication block 76 of transmitter 72. Thus, by combining both multiplicand matrices, it may be stated that matched filter 80 produces outputs y.sub.1 and y.sub.2 in a vector y, where this operation is represented by the following Equation 27:
y=V.sup.(n).sup.H.sup.Hr=(V.sup.(n)).sup.HrEquation 27
Further in connection with receiver 74 and Equation 27, receiver 74 also includes blocks that determine and provide the values of and V.sup.(n). These blocks are further described below.

(13) Receiver 74 includes a channel estimator 82 that receives the pilot symbols from receive antennas RAT.sub.1 and RAT.sub.2, where these pilot symbols are typically communicated in a separate channel such as the known common pilot channel (CPICH). In such a case, the pilot symbols are spread by transmitter 72 with a code that differs from the code used to spread the data channel. Alternatively, pilot symbols could be included in the same channel as the data symbols in which case both the pilot and data symbols are spread with the same code. In either approach, therefore, the spreading of the pilot symbols requires a despreading operation at receiver 74 and, thus, the pilot symbols are shown for illustration purposes as provided from the output of despreader 32. In response to the pilot symbols, channel estimator 82 determines an estimated value of H (designated as ). Specifically, the values of r.sub.1 and r.sub.2 at a time t, including the pilot symbols in those signals, should be represented by the following Equation 28:

(14) [ r 1 r 2 ] = [ h 1 h 2 ] V ( n ) ( t - 1 ) [ s 1 s 2 ] + noise = HV ( n ) ( t - 1 ) s + noise Equation 28
However, given Equation 28, note that in the preferred embodiment the pilot symbols are in the separate CPICH channel and that channel is not multiplied times V.sup.(n) by transmitter 72. Accordingly, for the sake of the pilot symbols representing s and included in r.sub.1 and r.sub.2, then the term V.sup.(n)(t1) drops out of Equation 28; as a result, channel estimator 82 estimates H by solving for it from the received values of r.sub.1, r.sub.2, and the known pilot symbol values s, where H is therefore the determined channel effect estimate. Note that the preceding assumes that the pilot symbols are not transformed using the basis matrix, V.sup.(n)(t1) by transmitter 72; in an alternative embodiment, the pilot symbols along with the data symbols can be communicated by transforming them in response to the basis matrix, such as where the pilot and data symbols are communicated along the same channel. In this alternative, then V.sup.(n) remains in Equation 28 insofar as the pilot and data symbols are concerned, and the total product HV.sup.(n) may be determined by channel estimator 82 given the known values of r.sub.1, r.sub.2, and s. Once is determined by channel estimator 82, it is output to a V.sup.(n) basis selector block 84 and to a compute combined effective channel block 86, each of which is discussed below.

(15) As further detailed later, V.sup.(n) basis selector block 84 periodically chooses V.sup.(n) from a finite set of bases {V.sup.(1), V.sup.(2), . . . , V.sup.(N)}. V.sup.(n) basis selector block 84 then communicates an identification of the selected V.sup.(n) from receiver 74 back to transmitter 72 along the feedback path shown by way of a dashed line between the two. Further, the selection of V.sup.(n) is repeated over time so that V.sup.(n) therefore changes over time, that is, at a time t=1, then a basis V.sup.(n)(1) is communicated in this manner, and a time t=2, then a basis V.sup.(n)(2) is communicated in this manner, and so forth for V.sup.(n)(t) at a different time t. In other words, system 70 is adaptive in the sense that it periodically re-evaluates the set of differing bases in the set of bases and may from time to time it uses different ones of those bases to transform communications so as to improve communication performance. Given these time-vary ing values, then V.sup.(n) basis selector block 84 also communicates an identification of V.sup.(n) to a compute combined effective channel block 86, as detailed below.

(16) Compute combined effective channel block 86 determines the product of the matrices it receives from blocks 82 and 84 (unless that product was already determined by due to the inclusion of the pilot and data in the same channel as discussed above with respect to channel estimator 82). To perform this operation, recall that V.sup.(n) basis selector block 84 communicates to block 86 each value of V.sup.(n) and, therefore, this includes the immediately previous value of V.sup.(n) that it fed back to transmitter 72 (i.e., V.sup.(n)(t1)). In response, block 86 determines the product of and V.sup.(n)(t1), where the designation of this product is simplified in the remaining discussion by dropping the temporal aspect of (t1) and hence, is referred to as (V.sup.(n)). Further, this product, or its conjugate transpose, (V.sup.(n)).sup.H, is output by block 86 to matched filter 80, which uses this product to solve for the vector y in Equation 27 described above.

(17) The outputs 80.sub.1 and 80.sub.2 of matched filter 80 provide y.sub.1 and y.sub.2 of the vector y to a joint interference cancellation and detector block 88, and block 88 also receives the value of (V.sup.(n)).sup.H from compute combined effective channel block 86. In general, each input y.sub.x to matched filter 80 is corrupted with interference from the other streams. Accordingly, block 88 performs as its name suggests, that is, it removes the interference that exists in y.sub.1 and y.sub.2, as it arose from the originally-independent transmitted symbols s.sub.1 and s.sub.2, thereby producing two respective separated estimated symbols .sub.1 and .sub.2. Further in this regard, block 88 performs its function according to any one of various algorithms known in the art. At least the following approaches are contemplated for block 88 and include: (i) zero forcing or minimum mean square error (MMSE); (ii) 1-shot (i.e., linear) or iterative; (iii) 1-stage or multistage; and (iv) maximum likelihood detection. Certain of these techniques also may be combined, as is known, such as with a linear MMSE, an iterative MMSE, a linear zero forcing, and an iterative zero forcing. Moreover, one skilled in the art may contemplate other examples as well. Lastly, note that the operation of block 88 is a linear function, as is the operation of matched filter 80. Accordingly, the order of these two operations may be reversed and, thus, the ordering as shown in FIG. 3 is only by way of example.

(18) The estimated symbols .sub.1 and .sub.2 are output by joint interference cancellation and detector block 88 to the remaining circuitry in receiver 74, which may be constructed and operate according to known principles. Thus, these outputs are preferably connected to a parallel-to-serial converter 34, which converts the two parallel streams into a single total estimated symbol stream, .sub.T. The estimated symbol stream is connected to a demodulator 36, which removes the modulation imposed on the signal my modulator 20 of transmitter 72. The output of demodulator 36 is connected to a deinterleaver 38, which performs an inverse of the function of interleaver 18 of transmitter 72, and the output of deinterleaver 38 is connected to a channel decoder 40. Channel decoder 40 may include a Viterbi decoder, a turbo decoder, a block decoder (e.g., Reed-Solomon decoding), or still other appropriate decoding schemes as known in the art. In any event, channel decoder 40 further decodes the data received at its input, typically operating with respect to certain error correcting codes, and it outputs a resulting stream of decoded symbols. Indeed, note that the probability of error for data input to channel decoder 40 is far greater than that after processing and output by channel decoder 40. Finally, the decoded symbol stream output by channel decoder 40 may be received and processed by additional circuitry in receiver 74, although such circuitry is not shown in FIG. 3 so as to simplify the present illustration and discussion.

(19) Returning now to discuss V.sup.(n) basis selector block 84 in greater detail, recall that it periodically chooses V.sub.(n) from a finite set of bases {V.sup.(1), V.sup.(2), . . . , V.sup.(N)}, where this set also can be represented by the designation {V.sup.(n)}.sub.n=1.sup.N. Attention is now directed to certain preferred sets of those bases. When the preferred embodiment is implemented in a MIMO-type system such as is shown for system 70, then two different basis sets are preferred, with one that rotates the received signals in two-dimensional space and another that includes the rotation and adds a potential phase change as another dimension, where both basis sets are described below. In either case and for a MIMO-type implementation, and for P=2, then the linear basis transformation matrix V.sup.(n), as used by matrix multiplication block 76, is a 22 matrix. Accordingly, V.sup.(n) basis selector 84 of receiver 74 evaluates a set of 22 matrices, and it identifies back to transmitter 72 the one that optimizes performance as also detailed later.

(20) In one preferred embodiment, the finite set of bases {V.sup.(n)}.sub.n=1.sup.N is as shown in the following Equations 29 and 30:

(21) V ( n ) = [ cos n - sin n sin n cos n ] Equation 29 n = 2 N ( n - 1 ) , n = 1 , 2 , .Math. , N Equation 30
To further illustrate Equation 29 and 30, consider an example wherein N=4, that is, where there are four possible linear basis transformation matrices from which receiver 74 may select an optimum one of those matrices. As applied to Equations 29 and 30, therefore, the four matrices in the set {V.sup.(n)}.sub.n=1.sup.N have the differing degrees of signal rotation shown in the following Equations 31 through 34:

(22) V ( 1 ) = [ cos { 8 ( 0 ) } - sin { 8 ( 0 ) } sin { 8 ( 0 ) } cos { 8 ( 0 ) } ] = [ cos ( 0 ) - sin ( 0 ) sin ( 0 ) cos ( 0 ) ] = [ 1 0 0 1 ] Equation 31 V ( 2 ) = [ cos { 8 ( 1 ) } - sin { 8 ( 1 ) } sin { 8 ( 1 ) } cos { 8 ( 7 ) } ] = [ cos ( 8 ) - sin ( 8 ) sin ( 8 ) cos ( 8 ) ] = [ .9239 - .3827 .3827 .9239 ] Equation 32 V ( 3 ) = [ cos { 8 ( 2 ) } - sin { 8 ( 2 ) } sin { 8 ( 2 ) } cos { 8 ( 2 ) } ] = [ cos ( 4 ) - sin ( 4 ) sin ( 4 ) cos ( 4 ) ] = [ .7071 - .7071 .7071 .7071 ] Equation 33 V ( 3 ) = [ cos { 8 ( 3 ) } - sin { 8 ( 3 ) } sin { 8 ( 3 ) } cos { 8 ( 3 ) } ] = [ cos ( .375 ) - sin ( .375 ) sin ( .375 ) cos ( .375 ) ] = [ .3827 - .9239 .9239 .3827 ] Equation 34
From the preceding, it may be appreciated that by implementing V.sup.(n) of Equation 29, then receiver 74 is only required to feed back the selected matrix to transmitter 72 by communicating the value of n. Given n, and assuming feedback decode block 78 of transmitter 72 is informed (e.g., programmed with) of N and Equations 29 and 30, then in response to n, feedback decode block 78 outputs the appropriate matrix V.sup.(n) to matrix multiplication block 76, and matrix multiplication block 76 essentially performs a signal rotation of .sub.n degrees in two-dimensional space by multiplying V.sup.(n) times its input symbols. Lastly, note that since n=1, 2, . . . , N, then in the example where N=4, then receiver 74 requires only 2 bits (i.e., log.sub.2(4)=2) to feed back this information to transmitter 72.

(23) In another preferred embodiment, the finite set of bases {V.sup.(n)}.sub.n=1.sup.N is as shown in the following Equations 35 through 37:

(24) V ( n ) = [ cos n j m - sin n j m sin n cos n ] Equation 35 n = 2 N ( n - 1 ) , n = 1 , 2 , .Math. , N Equation 36 m = 2 M ( m - 1 ) , m = 1 , 2 , .Math. , M Equation 37
For the sake of simplifying the discussion, the various combinations of Equations 35 through 37 achieved by the different values of n and m are not set forth herein, but they should be appreciated by one skilled in the art. In addition, by comparing Equation 35 to Equation 29, one skilled in the art should appreciate that by implementing V.sup.(n) of Equation 35, then receiver 74 feeds back an identification of the selected matrix to transmitter 72 by communicating the value of n so as to achieve a rotation of .sub.n degrees in two-dimensional space, and in addition receiver 74 feeds back the selected amount of phase change by communicating the value of nm. Thus, the rotation and phase change may be accomplished by receiver feeding back only a total of log(N)+log.sub.2(M) bits to transmitter 72.

(25) From the above, two different sets of linear basis transformation matrices V.sup.(n) have been demonstrated in accordance with the preferred embodiment. Observe that both basis parameterizations in Equations 29 and 35 result in orthonormal matrices. However, one skilled in the art may ascertain other choices of parameterization which do not result in orthonormal matrices while still falling within the present inventive scope. Additionally, the preceding linear basis transformation matrices are merely examples of preferred matrices, and others are contemplated. For example, for P>2, a generalized rotation matrix, such as a Givens rotation scheme, can be used. Still others are also ascertainable by one skilled in the art.

(26) Having illustrated various different possible finite sets of {V.sup.(n)}.sub.n=1.sup.N, recall that given one of those sets, V.sup.(n) basis selector block 84 identifies one matrix V.sup.(n) as the optimum performer and receiver 74 identifies that matrix to transmitter 72. Attention is now turned to the criterion or criteria used by V.sup.(n) basis selector block 84 to, at a given time, make this selection of one basis from among a set of bases. In general, each basis V.sup.(n) is selected to optimize a performance criterion or criteria. The ultimate goal is to minimize bit error rate (BER). In this regard, the preferred embodiments recognize that BER is influenced by the channel effect H, and the channel effect H affects signal-to-interference-noise ratio (SINR). In other words, SINR is a function of H and, accordingly, in the preferred embodiment V.sup.(n), basis selector block 84 endeavors to periodically select V.sup.(n) in response to the then-existing SINR, that is, the criterion for selecting V.sup.(n) is based on optimizing SINR. To accomplish this operation, note that channel estimator 82 not only provides the estimated channel effect to block 86, but it also provides it to basis selector 84 so that basis selector 84 may determine the SINR from and select a basis V.sup.(n) accordingly. In addition to considering the estimated channel effect (and the corresponding SINR), in the preferred embodiment the selection of V.sup.(n) also may be based on the type of technique implemented by joint interference cancellation and detector block 88. Specifically, recall from above that numerous alternatives are contemplated for block 88; accordingly, for a given value of , then the specific technique implemented by block 88 also therefore may influence the selection of V.sup.(n); in other words, an additional criterion of basis selector 84 in making its selection may be the technique implemented by block 88. These criteria are further explored below.

(27) In one preferred approach, V.sup.(n) basis selector block 84 determines the optimum. SINR by applying each of the bases in the finite set {V.sup.(n)}.sub.n=1.sup.N to each of the P (e.g., two in FIG. 3) data streams to thereby produce SINR values for each, and then the criterion for selecting the basis by block 84 is choosing the basis that provides the maximum of the minimum SINR values. For example, assume that N=4 in the finite set {V.sup.(n)}.sub.n=1.sup.N and assume that P=2 as in FIG. 3. Then block 84 first determines the SINR for each different basis in the set, as applied to each independently-transmitted stream, and as measurable using various known techniques in view of , as shown in the following Table 1:

(28) TABLE-US-00001 TABLE 1 V.sup.(1) V.sup.(2) V.sup.(3) V.sup.(4) s.sub.1 SINR.sub.1.sup.(1) SINR.sub.1.sup.(2) SINR.sub.1.sup.(3) SINR.sub.1.sup.(4) s.sub.2 SINR.sub.2.sup.(1) SINR.sub.2.sup.(2) SINR.sub.2.sup.(3) SINR.sub.2.sup.(4)
Table 1 therefore illustrates the total of PN SINR possibilities, as resulting from an SINR determination for each of the N bases as applied to each of the P symbol streams. Given Table 1, next block 84 determines, for each value of V.sup.(n), which of the two SINR values, corresponding to the two transmitted symbol streams, is the lower value (i.e., it takes the minimum of each value). For example, assume that the following Table 2 illustrates each such minima from Table 1:

(29) TABLE-US-00002 TABLE 2 V.sup.(1) V.sup.(2) V.sup.(3) V.sup.(4) minimum SINR.sub.1.sup.(1) SINR.sub.1.sup.(2) SINR.sub.2.sup.(3) SINR.sub.2.sup.(4)
In the example of Table 2, therefore, the SINR corresponding to stream s.sub.1 is lower for V.sup.(1) and V.sup.(2), while the SINR corresponding to stream s.sub.2 is lower for V.sup.(3) and V.sup.(4). Finally, having made the minima determinations in Table 2, block 84 selects as optimum the value of V.sup.(n) that corresponds to the maximum, of those minima. For example, assume that SINR.sub.1.sup.(2) is the largest value in Table 2; in response, block 84 identifies the respective basis V.sup.(2) as the optimum basis for use by transmitter 72. Consequently, block 84 causes receiver 74 to feed back an indication of V.sup.(2) to feedback decode block 78 of transmitter 72; in response, feedback decode block 78 provides V.sup.(2) to matrix multiplication block 76, which in response multiplies V.sup.(2) times future symbols to be transmitted, as described generally above with respect to transmitter 72. Thereafter, block 84 preferably repeats this process at later times, and at each such time an updated V.sup.(n) is therefore identified by receiver 74 and that identification is fed back to transmitter 72, thereby providing an adaptive process of selecting the optimum basis from the finite set of possible bases.

(30) Having demonstrated one preferred methodology for optimizing SINR, note that various others may be ascertained and are included within the present inventive scope. For example, another approach is to choose the value of V.sup.(n) that minimizes the minimum mean square error. As another example, recall it is mentioned above that receiver 74 may be one of various types. For each of these different types of receivers, a closed form expression for its SINR is known in the art. Various different examples of such expressions are shown below.

(31) As one example of an SINR expression arising from a type of receiver, for a linear zero forcing receiver in a case corresponding to two transmit antennas and Q receive antennas, its closed form SINR expression is defined for each of the two transmitted streams, thereby providing values SINR.sub.1 and SINR.sub.2, as shown in the following Equations 38 and 39:

(32) SINR 1 = h 1 H ( I Q - h 2 h 2 H .Math. h 2 .Math. 2 ) h 1 Equation 38 SINR 2 = h 2 H ( I Q - h 1 h 1 H .Math. h 1 .Math. 2 ) h 2 Equation 39
in Equations 38 and 39, I.sub.Q is the identity matrix of dimension QQ, and is the normalized transmitted signal power defined according to the following Equation 40:

(33) = .Math. s 2 Equation 40
where .sup.2 is the square of the noise variance, E|s.sub.1|.sup.2=E|s.sub.2|.sup.2=.sub.s.

(34) As another example of an SINR expression arising from a type of receiver, for a linear MMSE receiver in a case corresponding to two transmit antennas and Q receive antennas, its closed form SINR expression is defined for each of the two transmitted streams, thereby providing values SINR.sub.1 and SINR.sub.2, as shown in the following Equations 41 and 42:

(35) SINR 1 = h 1 H ( I Q - h 2 h 2 H .Math. h 2 .Math. 2 + - 1 ) h 1 Equation 41 SINR 2 = h 2 H ( I Q - h 1 h 1 H .Math. h 1 .Math. 2 + - 1 ) h 2 Equation 42

(36) As still another example of an SINR expression arising from a type of receiver, for an iterative zero forcing receiver in a case corresponding to two transmit antennas and Q receive antennas, its closed form SINR expression is defined for each of the two transmitted streams, thereby providing values SINR.sub.1 and SINR.sub.2, where SINR.sub.1 is the same as for the linear zero forcing receiver shown above in Equation 38 and SINR.sub.2 is shown in the following Equation 43:
SINR.sub.2=h.sub.2.sup.2Equation 43
These values of SINR.sub.1 and SINR.sub.2 assume that the first iteration is with respect to the first stream s.sub.1. In contrast, if that first iteration were with respect to the second stream s.sub.2, then SINR.sub.2 would be the same as for the linear zero forcing receiver shown above in Equation 39 while SINR.sub.1 would be as set forth in the following Equation 44:
SINR.sub.1=h.sub.1.sup.2Equation 44

(37) As a final example of an SINR expression arising from a type of receiver, for an iterative MMSE receiver in a case corresponding to two transmit antennas and Q receive antennas, its closed form SINR expression is defined for each of the two transmitted streams, thereby providing values SINR.sub.1 and SINR.sub.2, where SINR.sub.1 is the same as for the linear MMSE receiver shown above in Equation 41, while SINR.sub.2 is shown in the previous Equation 43. These values of SINR.sub.1 and SINR.sub.2 assume that the first iteration is with respect to the first stream s.sub.1. In contrast, if that first iteration were with respect to the second stream s.sub.2, then SINR.sub.2 would be the same as for the linear MMSE receiver shown above in Equation 42 while SINR.sub.1 would be as set forth in the previous Equation 44.

(38) In view of the expressions of the various Equations 38 through 44, or given a comparable SINR expression for a different type of receiver, any chosen manner of optimizing the SINR may be used to select the linear basis transformation matrix V.sup.(n) from the set {V.sup.(n)}.sub.n=1.sup.N and that corresponds to the optimized SINR. Additionally, note that signal-to-noise ratio (SNR) is a special case of SINR; specifically, for some receivers, such as for receivers incorporating zero forcing detector methods, they are considered to completely eliminate interference and, hence, their performance is specified in terms of SNR, that is, by removing the interference component from SINR to yield SNR. For such a receiver, the present inventive teachings also may be applied, wherein the linear basis transformation matrix V.sup.(n) is selected that corresponds to the optimized SNR rather than SINR. Thereafter, the selected matrix is identified by receiver 74 to transmitter 72, as described above.

(39) FIG. 4 illustrates an electrical block diagram of a double space time block coded transmit antenna diversity (DSTTD) system 100 according to another preferred embodiment. Like FIG. 3, since FIG. 4 represents an electrical and functional block diagram, one skilled in the art may ascertain various technical manners of implementing system 100 into a combination of hardware and software, including the preferred used of a digital signal processor to include at least some of the illustrated blocks. Turning then to system 100, and by way of introduction, STTD technology in general is known in the art. Indeed, for further aspects that could be incorporated in such a system, the reader is invited to review the following two patent applications, both of which are hereby incorporated herein by reference: (i) U.S. patent application Ser. No. 09/578,004, filed May 24, 2000; and (ii) U.S. patent application Ser. No. 09/885,878, filed Jun. 20, 2001. In system 100, it includes a transmitter 102 and a receiver 104. In some respects, transmitter 102 and receiver 104 are comparable to transmitter 72 and receiver 74 of system 70 described earlier and, thus, to simplify the present discussion the comparable blocks are shown with a like reference identifier and are generally not discussed once more so as to simplify the remaining discussion. DSTTD system 100 is also a multiple antenna system with P transmit antennas and Q receive antennas, where in such a system Q can be larger than P; in the example of FIG. 4, therefore, P=4 so that transmit antennas TAT.sub.1 through TAT.sub.4 are shown, and Q is a larger number so that receive antennas RAT.sub.1 through RAT.sub.Q are shown.

(40) Looking to transmitter 102, blocks 16 through 22 are described earlier, and block 24 is similar to block 24 described earlier and is further addressed later. Coupled between block 22 and block 24 are two STTD encoders 105.sub.1 an 105.sub.2 and, hence, the reference to system 100 as a double STTD system. Each STTD encoder 105.sub.1 and 105.sub.2 has a corresponding input 105i.sub.1 and 105i.sub.2, along which it receives a block of two symbols. For the sake of example and convention, STTD encoder 105.sub.1 receives symbols s.sub.1,1 and s.sub.1,2, while STTD encoder 105.sub.2 receives symbols s.sub.2,1 and s.sub.2,2. Each STTD encoder 105.sub.1 and 105.sub.2 provides two outputs, where a first output provides the same input symbols as received at the encoder input while a second output provides, by way of example, the complex conjugates of the input symbols, wherein those conjugates are output in a reversed order relative to how they were input and the second symbol is a negative value relative to its value as an input. For example, with respect to encoder 105.sub.1, its first output provides sn, and s.sub.1,2, while its second output provides s.sub.1,2* and s.sub.1,1*, where the superscript asterisk is intended to indicate the conjugate of the symbol. Similarly, with respect to encoder 105.sub.2, its first output provides s.sub.2,1 and s.sub.2,2, while its second output provides s.sub.2,2* and s.sub.2,1*.

(41) The outputs of STTD encoders 105.sub.1 and 105.sub.2 are connected to a matrix multiplication block 107. Matrix multiplication block 107 multiplies those outputs times a linear basis transformation matrix V.sup.(n), where V.sup.(n) is in general developed in the manner described above with respect to system 70, with two exceptions. First; in system 100, V.sup.(n) is a 44 matrix because P=4. Second, because system 100 is an STTD-type system rather than a MIMO-type system, then the set {V.sup.(n)}.sub.n=1.sup.N may include matrices differing from those preferred for a MIMO system. These differences are further explored later. Also as detailed below, while V.sup.(n) is a 44 matrix in connection with system 100 which therefore includes 16 values, in the preferred embodiment the sets of {V.sup.(n)}.sub.n=1.sup.N include matrices including values of zero and non-zero, where at most four unique non-zero values are included in each matrix V.sup.(n) (although some of the non-zero values may be used more than once in the same matrix) Thus, these four values may be represented in the 22 simplified matrix VS shown in the following Equation 45:

(42) VS = [ vs 1 , 1 vs 2 , 1 vs 1 , 2 vs 2 , 2 ] Equation 45

(43) Completing the connections within system 100, the outputs of matrix multiplication block 107 are connected to a spreader 24. Spreader 24 is shown with dashed lines for the same reason that such lines were used above with respect to spreader 24 of system 70, namely, because such a function is preferred only if system 100 incorporates CDMA communications, whereas if it incorporates TDMA communications then spreader 24 is eliminated. The outputs of spreader 24 in a CDMA embodiment, or of matrix multiplication block 107 in a TDMA embodiment, are connected to transmit antennas TAT.sub.1 through TAT.sub.4 (via an analog-to-digital interface, not shown).

(44) Turning to receiver 104, it includes receive antennas RAT.sub.1 through RAT.sub.Q (connected to an analog-to-digital interface, not shown), where in a CDMA embodiment these antennas are connected to a despreader 32, and in a TDMA embodiment despreader 32 is eliminated. Either the de-spread signal in the CDMA embodiment or the antenna signal in the TDMA embodiment provides a signal block R. In the CDMA embodiment, block R can be written as in the following Equation 46:
R=(s.sub.1,1[h.sub.1h.sub.2]+s.sub.1,2[h.sub.3h.sub.4])S.sub.1+(s.sub.2,1[h.sub.1h.sub.2]+s.sub.2,2[h.sub.3h.sub.4])S.sub.2+W=[{tilde over (h)}.sub.1,1{tilde over (h)}.sub.1,2]S.sub.1+[{tilde over (h)}.sub.2,1{tilde over (h)}.sub.2,2]S.sub.2+WEquation 46
where S.sub.1 and S.sub.2 are the 22 STTD-encoded data blocks for {s.sub.1,1 s.sub.1,2} and {s.sub.2,1 s.sub.2,2}, where W is additive white noise, and where the following Equations 47 through 50 relate to the channel estimates:
{tilde over (h)}.sub.1,1=s.sub.1,1h.sub.1+s.sub.1,2h.sub.3Equation 47
{tilde over (h)}.sub.1,2=s.sub.1,1h.sub.2+s.sub.1,2h.sub.4Equation 48
{tilde over (h)}.sub.2,1=s.sub.2,1h.sub.1+s.sub.2,2h.sub.3Equation 49
{tilde over (h)}.sub.2,2=s.sub.2,1h.sub.2+s.sub.2,2h.sub.4Equation 50
The pilot symbol signals are shown as output from despreader 32 to a channel estimator 82, where as was the case for system 70 this illustration implies that the pilot symbols are spread, where the spreading will, be with a different code than was used for the data symbols when the pilot symbols are in a separate channel and with the same code when the data and pilot symbols share the same channel. In any event, given the known values of the pilot symbols and the signals as received, channel estimator 82 determines the value of , as arising from Equations 47 through 50, above, and the values of that matrix are provided to STTD decoders 110.sub.1 and 110.sub.2. Each of decoders 110.sub.1 and 110.sub.2 performs the combining and block decoding for each data stream to generate sufficient statistics for symbol detection. In this regard, the channel estimate, , and the basis selected for the previous transmission, V.sup.(n)(t1), are used for combining. The current channel estimate, , is then used by block 84 for selecting the basis V.sup.(n) from a set of bases, after which an identification of the selected basis V.sup.(n) is fed back to feedback decode block 78 of transmitter 102. Additionally, the outputs of decoders 110.sub.1 and 110.sub.2 are connected to a joint interference cancellation and detector block 88, which may implement any one of the various techniques described above with respect to the comparable block 88 in FIG. 3. Here again, note that the operation of block 88 is a linear function, as is the operation of STTD decoders 110.sub.1 and 110.sub.2. Accordingly, the order of these two operations may be reversed and, thus, the ordering as shown in FIG. 4 is only by way of example. In any event, due to the operation of block 88, the effect of inter-stream interference from the signals is suppressed with the result coupled to a parallel-to-serial connector 34. Parallel-to-serial connector 34 converts the P/2 streams back to a single stream. Lastly, this single stream is connected to blocks 36, 38, and 40, which operate in a comparable manner as described earlier with respect to blocks 36, 38, and 40, respectively, of system 70 in FIG. 3.

(45) Returning now to discuss V.sup.(n) basis selector block 84, it operates in a comparable manner as described above with respect to block 84 of system 70 in that it selects an optimum linear basis transformation matrix V.sup.(n) from a finite set of those bases, where it uses a certain criterion or criteria (e.g., maximizing SINR or SNR, joint cancellation and detector type) to select that optimum basis. However, two notable changes exist for system 100. First, since 44 matrices are involved due to the double STTD encoding, then the precise format of Equations 29 and 35 are not used. Second, since system 100 is based on STTD communications, then an additional permutation approach is usable for establishing the finite set of liner basis transformation matrices. Each of these approaches is detailed below.

(46) One set of linear basis transformation matrices from which V.sup.(n) basis selector block 84 may select may be derived from Equation 29, by defining a Kronecker product of the matrix of Equation 29 with the identity matrix as shown in the following Equation 51:

(47) V ( n ) = [ cos n - sin n sin n cos n ] .Math. [ 1 0 0 1 ] = [ cos n 0 - sin n 0 0 cos n 0 - sin n sin n 0 cos n 0 0 sin n 0 cos n ] Equation 51
where .sub.n is again defined by Equation 30. Looking at the 44 result of Equation 51, it may be seen that only .sub.n is at issue. Thus, according to Equation 30, again receiver 104 need only transmit n back to transmitter 102 in order to identify which matrix V.sup.(n) provides the optimum SINR (or SNR); accordingly, only log.sub.2(N) bits are required in the feedback channel to achieve this communication.

(48) Another set of linear basis transformation matrices from which V.sup.(n) basis selector block 84 may select may be derived from Equation 35, again by defining a Kronecker product, but this time between the matrix of Equation 35 with the identity matrix as shown in the following Equation 52:

(49) 0 V ( n ) = [ cos n j m - sin n sin n cos n ] .Math. [ 1 0 0 1 ] = [ cos n j m 0 - sin n j m 0 0 cos n j m 0 - sin n j m sin n 0 cos n 0 sin n 0 cos n ] Equation 52
where .sub.n is defined by Equation 36 and where .sub.m is defined by Equation 37. Thus, according to Equation 52, receiver 104 need only transmit n and m back to transmitter 102 in order to identify which matrix V.sup.(n) provides the optimum SINR (or SNR); accordingly, only log.sub.2(N)+log.sub.2(M) bits are required in the feedback channel to achieve this communication.

(50) Another set of linear basis transformation matrices from which V.sup.(n) basis selector block 84, and which arises due to the use of STTD encoding, is the use of a set of permutation matrices. Specifically, a set of permutation matrices may be defined based on the number of transmit antennas, P, where each matrix has PP elements and is either the identity matrix I or an orthogonal permutation of that matrix, and the number N of permutation matrices is shown in the following Equation 53 and is defined for P=2:

(51) N = P ! 2 ! ( P 2 ) = 4 ! 2 ! 2 = 6 Equation 53
Thus, from Equation 53, such six matrices are shown in the following Equations 54 through 59:

(52) 1234 = [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] Equation 54 1234 = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] Equation 55 1234 = [ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 ] Equation 56 1234 = [ 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 ] Equation 57 1234 = [ 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 ] Equation 58 1234 = [ 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 ] Equation 59
From Equations 54 through 59, it may be seen that in the example of system 100 of FIG. 4, the set {V.sup.(n)}.sub.n=1.sup.N of basis matrices consists of a total of only six matrices. Once more, therefore, basis selector block 84 identifies the one of those six matrices that meets a certain criterion or criteria and indicates that optimum matrix to transmitter 102.

(53) Equations 51 through 59 have demonstrated that system 100 also may implement various different sets of liner basis transformation matrices in order to improve signal communications between transmitter 102 and receiver 104. Various additional observations also are noteworthy. As one observation, note that still other finite sets of such matrices may be developed by one skilled in the art. For example, a set consisting of general 44 unitary rotation matrices may be ascertained. As another observation, recall that earlier in connection with Equation 39 it was stated that at most four unique non-zero values are included in each matrix V.sup.(n). This statement now may be confirmed by examining the matrices in Equations 51 and 52. For example, with respect to Equation 51, its 44 matrix includes only the following three non-zero values: (1) cos .sub.n; (2) sin .sub.n; and (3) sin .sub.n. As another example, with respect to Equation 52, its 44 matrix includes at most only the following four non-zero values: (1) cos .sub.ne.sup.j.sup.m; (2) sin .sub.n; (3) sin .sub.n; and (4) cos .sub.n. Due to the fact that less than sixteen non-zero values are implemented in these as well as other example, then the number of bits required to feedback an identification of a selected matrix V.sup.(n) is less than might be required if sixteen different non-zero values were used.

(54) From the above, it may be appreciated that the above embodiments provide a wireless communications systems having a transmitter and a receiver, both with multiple antennas. Various embodiments are described by way of example, wherein the transmitter communicates independent symbol stream, and prior to transmission, those streams are transformed using a linear basis; preferably the linear basis is selected by the receiver from a finite set of different bases and an identification of the selected basis, along with any parameter(s) corresponding to that basis, are communicated (i.e., fed back) from the receiver to the transmitter. Given the preceding, various benefits arise over the prior art as well as the above-discussed proposed eigenmode system. For example, recalling that the full channel eigenmode scheme would require 16N.sub.Q feedback bits, the preferred embodiment described herein in some approaches requires only log.sub.2(N) feedback bits, and typically N should not exceed 16 so that therefore the number of feedback bits may be considerably lower than the eigenmode system. In addition, the preferred embodiments permit interstream interference which is subsequently accommodated using one of various joint detection methodologies. As still another benefit as compared to the largest eigenmode scheme, for a given modulation scheme the preferred embodiments allow higher data rates. Also, for a given data rate, the preferred embodiments allow the use of lower order constellation. Still further, the preferred embodiments may favor well in comparison to conventional closed-loop transmit diversity which requires 3N.sub.Q feedback coefficients. Still further, as compared to open loop systems, the preferred embodiments use channel information at the channel at the transmitter, which results in significant performance improvement, especially in slow fading channels. As a final benefit, the preceding teachings may be applied to various wireless system given the many variations described herein and, thus, while the present embodiments have been described in detail, various substitutions, modifications or alterations could be made to the descriptions set forth above without departing from the inventive scope which is defined by the following claims.