This invention relates to wireless communication and, more particularly, to techniques for effective wireless communication in the presence of fading and other degradations. 
The most effective technique for mitigating multipath fading in a wireless radio channel is to cancel the effect of fading at the transmitter by controlling the transmitter's power.  That is, if the channel conditions are known at the transmitter (on one side of the link), then the transmitter can pre-distort the signal to overcome the effect of the channel at the receiver (on the other side).  However, there are two fundamental problems with this approach.  The first problem is the transmitter's dynamic range.  For the transmitter to overcome an x dB fade, it must increase its power by x dB which, in most cases, is not practical because of radiation power limitations, and the size and cost of amplifiers.  The second problem is that the transmitter does not have any knowledge of the channel as seen by the receiver (except for time division duplex systems, where the transmitter receives power from a known other transmitter over the same channel).  Therefore, if one wants to control a transmitter based on channel characteristics, channel information has to be sent from the receiver to the transmitter, which results in throughput degradation and added complexity to both the transmitter and the receiver. 
Other effective techniques are time and frequency diversity.  Using time interleaving together with coding can provide diversity improvement.  The same holds for frequency hopping and spread spectrum.  However, time interleaving results in unnecessarily large delays when the channel is slowly varying.  Equivalently, frequency diversity techniques are ineffective when the coherence bandwidth of the channel is large (small delay spread). 
It is well known that in most scattering environments antenna diversity is the most practical and effective technique for reducing the effect of multipath fading.  The classical approach to antenna diversity is to use multiple antennas at the receiver and perform combining (or selection) to improve the quality of the received signal. 
The major problem with using the receiver diversity approach in current wireless communication systems, such as IS-136 and GSM, is the cost, size and power consumption constraints of the receivers.  For obvious reasons, small size, weight and cost are paramount.  The addition of multiple antennas and RF chains (or selection and switching circuits) in receivers is presently not be feasible.  As a result, diversity techniques have often been applied only to improve the up-link (receiver to base) transmission quality with multiple antennas (and receivers) at the base station.  Since a base station often serves thousands of receivers, it is more economical to add equipment to base stations rather than the receivers
Recently, some interesting approaches for transmitter diversity have been suggested.  A delay diversity scheme was proposed by A. Wittneben in “Base Station Modulation Diversity for Digital SIMULCAST,” Proceeding of the 1991 IEEE Vehicular Technology Conference (VTC 41st), PP.  848-853, May 1991, and in “A New Bandwidth Efficient Transmit Antenna Modulation Diversity Scheme For Linear Digital Modulation,” in Proceeding of the 1993 IEEE International Conference on Communications (IICC '93), PP.  1630-1634, May 1993.  The proposal is for a base station to transmit a sequence of symbols through one antenna, and the same sequence of symbols—but delayed—through another antenna. 
U.S. Pat.  No.  5,479,448, issued to Nambirajan Seshadri on Dec. 26, 1995, discloses a similar arrangement where a sequence of codes is transmitted through two antennas.  The sequence of codes is routed through a cycling switch that directs each code to the various antennas, in succession.  Since copies of the same symbol are transmitted through multiple antennas at different times, both space and time diversity are achieved.  A maximum likelihood sequence estimator (MLSE) or a minimum mean squared error (MMSE) equalizer is then used to resolve multipath distortion and provide diversity gain.  See also N. Seshadri, J. H. Winters, “Two Signaling Schemes for Improving the Error Performance of FDD Transmission Systems Using Transmitter Antenna Diversity.”  Proceeding of the 1993 IEEE Vehicular Technology Conference (VTC 43rd), pp.  508-511, May 1993; and J. H. Winters. “ The Diversity Gain of Transmit Diversity in Wireless Systems with Rayleigh Fading,” Proceeding of the 1994 ICC/SUPERCOMM, New Orleans.  Vol.  2, PP.  1121-1125, May 1994. 
Still another interesting approach is disclosed by Tarokh, Seshadri, Calderbank and Naguib in U.S. application Ser.  No.  08/847,635, filed Apr. 25, 1997 (based on a provisional application filed Nov. 7, 1996), where symbols are encoded according to the antennas through which they are simultaneously transmitted, and are decoded using a maximum likelihood decoder.  More specifically, the process at the transmitter handles the information in blocks of M1 bits, where M1 is a multiple of M2, i.e., M1=k*M2.  It converts each successive group of M2 bits into information symbols (generating thereby k information symbols), encodes each sequence of k information symbols into n channel codes (developing thereby a group of n channel codes for each sequence of k information symbols), and applies each code of a group of codes to a different antenna. 
Yet another approach is disclosed by Alamouti and Tarokh in U.S. application, Ser.  No.  09/074,224, filed May 5, 1998, and titled “Transmitter Diversity Technique for Wireless Communications” where symbols are encoded using only negations and conjugations, and transmitted in a manner that employs channel diversity. 
Still another approach is disclosed by the last-mentioned inventors in a US application filed Jul. 14, 1998, based on provisional application 60/052,689 filed Jul. 17, 1997, titled “Combined Array Processing and Space-Time Coding” where symbols are divided into groups, where each group is transmitted over a separate group of antennas and is encoded with a group code C that is a member of a product code.