Patent Publication Number: US-11646773-B2

Title: System and method for distributed antenna wireless communications

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of co-pending U.S. patent application Ser. No. 17/586,765, filed Jan. 27, 2022, which is a of co-pending U.S. patent application Ser. No. 17/541,809, filed on Dec. 3, 2021, entitled, “System And Method For Distributed Antenna Wireless Communications”, which is a continuation of co-pending U.S. patent application Ser. No. 17/234,699, filed on Apr. 19, 2021, which is a continuation of U.S. patent application Ser. No. 15/340,914, filed on Nov. 1, 2016, entitled, “System And Method For Distributed Antenna Wireless Communications”, now U.S. Issued U.S. Pat. No. 10,985,811, Issued on Apr. 20, 2021, which is a continuation of U.S. patent application Ser. No. 15/201,276, filed Jul. 1, 2016, entitled, “System And Method For Distributed Antenna Wireless Communications”, now U.S. Issued U.S. Pat. No. 10,333,604, Issued on Jun. 25, 2019, which is a continuation of U.S. application Ser. No. 14/156,254, filed Jan. 15, 2014, entitled, “System And Method For Distributed Antenna Wireless Communications”, now U.S. Issued U.S. Pat. No. 9,386,465, Issued on Jul. 5, 2016, which is a continuation of U.S. patent application Ser. No. 12/630,627, filed Dec. 3, 2009, entitled, “System And Method For Distributed Antenna Wireless Communications”, now U.S. Issued U.S. Pat. No. 8,654,815, Issued on Feb. 18, 2014, which is a continuation-in-part of U.S. application Ser. No. 10/817,731, filed Apr. 2, 2004 entitled “System and method For Enhancing Near Vertical Incidence Skyway (“NVIS”) Communication Using Space-Time Coding”, now U.S. Issued U.S. Pat. No. 7,885,354, Issued on Feb. 8, 2011; and is is also a Continuation-in-part of application Ser. No. 12/143,503, filed on Jun. 20, 2008, now U.S. Pat. No. 8,160,121, which is a continuation-in-part of application Ser. No. 11/894,394, filed on Aug. 20, 2007, now U.S. Pat. No. 7,599,420, which is a continuation-in-part of Ser. No. 10/902,978, filed on Jul. 30, 2004, U.S. Pat. No. 7,418,053; and is also a Continuation-in-part of application Ser. No. 11/256,478, filed on Oct. 21, 2005, U.S. Pat. No. 7,711,030, which is a continuation-in-part of application Ser. No. 10/902,978, filed on Jul. 30, 2004, now U.S. Pat. No. 7,418,053; and is also a continuation-in-part of application Ser. No. 11/894,362, filed Aug. 20, 2007, U.S. Pat. No. 7,633,994, which is a continuation-in-part of application Ser. No. 10/902,978, filed on Jul. 30, 2004, now U.S. Pat. No. 7,418,053; and is also a continuation-in-part of application Ser. No. 11/894,540, filed on Aug. 20, 2007, U.S. Pat. No. 7,636,381, which is a continuation-in-part of application Ser. No. 10/902,978, filed on Jul. 30, 2004, now U.S. Pat. No. 7,418,053, all of which is hereby incorporated by reference. 
    
    
     BACKGROUND 
     Prior art multi-user wireless systems may include only a single base station or several base stations. 
     A single WiFi base station (e.g., utilizing 2.4 GHz 802.11b, g or n protocols) attached to a broadband wired Internet connection in an area where there are no other WiFi access points (e.g. a WiFi access point attached to DSL within a rural home) is an example of a relatively simple multi-user wireless system that is a single base station that is shared by one or more users that are within its transmission range. If a user is in the same room as the wireless access point, the user will typically experience a high-speed link with few transmission disruptions (e.g. there may be packet loss from 2.4 GHz interferers, like microwave ovens, but not from spectrum sharing with other WiFi devices), If a user is a medium distance away or with a few obstructions in the path between the user and WiFi access point, the user will likely experience a medium-speed link. If a user is approaching the edge of the range of the WiFi access point, the user will likely experience a low-speed link, and may be subject to periodic drop-outs if changes to the channel result in the signal SNR dropping below usable levels. And, finally, if the user is beyond the range of the WiFi base station, the user will have no link at all. 
     When multiple users access the WiFi base station simultaneously, then the available data throughput is shared among them. Different users will typically place different throughput demands on a WiFi base station at a given time, but at times when the aggregate throughput demands exceed the available throughput from the WiFi base station to the users, then some or all users will receive less data throughput than they are seeking. In an extreme situation where a WiFi access point is shared among a very large number of users, throughput to each user can slow down to a crawl, and worse, data throughput to each user may arrive in short bursts separated by long periods of no data throughput at all, during which time other users are served. This “choppy” data delivery may impair certain applications, like media streaming. 
     Adding additional WiFi base stations in situations with a large number of users will only help up to a point. Within the 2.4 GHz ISM band in the U.S., there are 3 non-interfering channels that can be used for WiFi, and if 3 WiFi base stations in the same coverage area are configured to each use a different non-interfering channel, then the aggregate throughput of the coverage area among multiple users will be increased up to a factor of 3. But, beyond that, adding more WiFi base stations in the same coverage area will not increase aggregate throughput, since they will start sharing the same available spectrum among them, effectually utilizing time-division multiplexed access (TDMA) by “taking turns” using the spectrum. This situation is often seen in coverage areas with high population density, such as within multi-dwelling units. For example, a user in a large apartment building with a WiFi adapter may well experience very poor throughput due to dozens of other interfering WiFi networks (e.g. in other apartments) serving other users that are in the same coverage area, even if the user&#39;s access point is in the same room as the client device accessing the base station. Although the link quality is likely good in that situation, the user would be receiving interference from neighbor WiFi adapters operating in the same frequency band, reducing the effective throughput to the user. 
     Current multiuser wireless systems, including both unlicensed spectrum, such as WiFi, and licensed spectrum, suffer from several limitations. These include coverage area, downlink (DL) data rate and uplink (UL) data rate. Key goals of next generation wireless systems, such as WiMAX and LTE, are to improve coverage area and DL and UL data rate via multiple-input multiple-output (MIMO) technology. MIMO employs multiple antennas at transmit and receive sides of wireless links to improve link quality (resulting in wider coverage) or data rate (by creating multiple non-interfering spatial channels to every user). If enough data rate is available for every user (note, the terms “user” and “client” are used herein interchangeably), however, it may be desirable to exploit channel spatial diversity to create non-interfering channels to multiple users (rather than single user), according to multiuser MIMO (MU-MIMO) techniques [20-27]. For example, in MIMO 4×4 systems (i.e., four transmit and four receive antennas), 10 MHz bandwidth, 16-QAM modulation and forward error correction (FEC) coding with rate 3/4 (yielding spectral efficiency of 3 bps/Hz), the ideal peak data rate achievable at the physical layer for every user is 4×30 Mbps=120 Mbps, which is much higher than required to deliver high definition video content (which may only require ˜10 Mbps). In MU-MIMO systems with four transmit antennas, four users and single antenna per user, in ideal scenarios (i.e., independent identically distributed, i.i.d., channels) downlink data rate may be shared across the four users and channel spatial diversity may be exploited to create four parallel 30 Mbps data links to the users. 
     Different MU-MIMO schemes have been proposed as part of the LTE standard [1-3], but they can provide only up to 2× improvement in DL data rate with four transmit antennas. Practical implementations of MU-MIMO techniques in standard and proprietary cellular systems by companies like ArrayComm [4] have yielded up to a ˜3× increase (with four transmit antennas) in DL data rate via space division multiple access (SDMA). A key limitation of MU-MIMO schemes in cellular networks is lack of spatial diversity at the transmit side. Spatial diversity is a function of antenna spacing and multipath angular spread in the wireless links. In cellular systems employing MU-MIMO techniques, transmit antennas at a base station are typically clustered together and placed only one or two wavelengths apart due to limited real estate on antenna support structures (referred to herein as “towers,” whether physically tall or not) and due to limitations on where towers may be located. Moreover, multipath angular spread is low since cell towers are typically placed high up (10 meters or more) above obstacles to yield wider coverage. 
     Other practical issues with cellular system deployment include excessive cost and limited availability of locations for cellular antenna locations (e.g. due to municipal restrictions on antenna placement, cost of real-estate, physical obstructions, etc.) and the cost and/or availability of network connectivity to the transmitters (referred to herein as “backhaul”). Further, cellular systems often have difficulty reaching clients located deeply in buildings due to losses from walls, ceilings, floors, furniture and other impediments. 
     Indeed, the entire concept of a cellular structure for wide-area network wireless presupposes a rather rigid placement of cellular towers, an alternation of frequencies between adjacent cells, and frequently sectorization, so as to avoid interference among transmitters (either base stations or users) that are using the same frequency. As a result, a given sector of a given cell ends up being a shared block of DL and UL spectrum among all of the users in the cell sector, which is then shared among these users primarily in only the time domain. For example, cellular systems based on Time Division Multiple Access (TDMA) and Code Division Multiple Access (CDMA) both share spectrum among users in the time domain. By overlaying such cellular systems with sectorization, perhaps a 2-3× spatial domain benefit can be achieved. And, then by overlaying such cellular systems with a MU-MIMO system, such as those described previously, perhaps another 2-3× space-time domain benefit can be achieved. But, given that the cells and sectors of the cellular system are typically in fixed locations, often dictated by where towers can be placed, even such limited benefits are difficult to exploit if user density (or data rate demands) at a given time does not match up well with tower/sector placement. A cellular smart phone user often experiences the consequence of this today where the user may be talking on the phone or downloading a web page without any trouble at all, and then after driving (or even walking) to a new location will suddenly see the voice quality drop or the web page slow to a crawl, or even lose the connection entirely. But, on a different day, the user may have the exact opposite occur in each location. What the user is probably experiencing, assuming the environmental conditions are the same, is the fact that user density (or data rate demands) is highly variable, but the available total spectrum (and thereby total data rate, using prior art techniques) to be shared among users at a given location is largely fixed. 
     Further, prior art cellular systems rely upon using different frequencies in different adjacent cells, typically 3 different frequencies. For a given amount of spectrum, this reduces the available data rate by 3×. 
     So, in summary, prior art cellular systems may lose perhaps 3× in spectrum utilization due to cellularization, and may improve spectrum utilization by perhaps 3× through sectorization and perhaps 3× more through MU-MIMO techniques, resulting in a net 3*3/3=3× potential spectrum utilization. Then, that bandwidth is typically divided up among users in the time domain, based upon what sector of what cell the users fall into at a given time. There are even further inefficiencies that result due to the fact that a given user&#39;s data rate demands are typically independent of the user&#39;s location, but the available data rate varies depending on the link quality between the user and the base station. For example, a user further from a cellular base station will typically have less available data rate than a user closer to a base station. Since the data rate is typically shared among all of the users in a given cellular sector, the result of this is that all users are impacted by high data rate demands from distant users with poor link quality (e.g. on the edge of a cell) since such users will still demand the same amount of data rate, yet they will be consuming more of the shared spectrum to get it. 
     Other proposed spectrum sharing systems, such as that used by WiFi (e.g., 802.11b, g, and n) and those proposed by the White Spaces Coalition, share spectrum very inefficiently since simultaneous transmissions by base stations within range of a user result in interference, and as such, the systems utilize collision avoidance and sharing protocols. These spectrum sharing protocols are within the time domain, and so, when there are a large number of interfering base stations and users, no matter how efficient each base station itself is in spectrum utilization, collectively the base stations are limited to time domain sharing of the spectrum among each other. Other prior art spectrum sharing systems similarly rely upon similar methods to mitigate interference among base stations (be they cellular base stations with antennas on towers or small scale base stations, such as WiFi Access Points (APs)). These methods include limiting transmission power from the base station so as to limit the range of interference, beamforming (via synthetic or physical means) to narrow the area of interference, time-domain multiplexing of spectrum and/or MU-MIMO techniques with multiple clustered antennas on the user device, the base station or both. And, in the case of advanced cellular networks in place or planned today, frequently many of these techniques are used at once. 
     But, what is apparent by the fact that even advanced cellular systems can achieve only about a 3× increase in spectrum utilization compared to a single user utilizing the spectrum is that all of these techniques have done little to increase the aggregate data rate among shared users for a given area of coverage. In particular, as a given coverage area scales in terms of users, it becomes increasingly difficult to scale the available data rate within a given amount of spectrum to keep pace with the growth of users. For example, with cellular systems, to increase the aggregate data rate within a given area, typically the cells are subdivided into smaller cells (often called nano-cells or femto-cells). Such small cells can become extremely expensive given the limitations on where towers can be placed, and the requirement that towers must be placed in a fairly structured pattern so as to provide coverage with a minimum of “dead zones”, yet avoid interference between nearby cells using the same frequencies. Essentially, the coverage area must be mapped out, the available locations for placing towers or base stations must be identified, and then given these constraints, the designers of the cellular system must make do with the best they can. And, of course, if user data rate demands grow over time, then the designers of the cellular system must yet again remap the coverage area, try to find locations for towers or base stations, and once again work within the constraints of the circumstances. And, very often, there simply is no good solution, resulting in dead zones or inadequate aggregate data rate capacity in a coverage area. In other words, the rigid physical placement requirements of a cellular system to avoid interference among towers or base stations utilizing the same frequency results in significant difficulties and constraints in cellular system design, and often is unable to meet user data rate and coverage requirements. 
     So-called prior art “cooperative” and “cognitive” radio systems seek to increase the spectral utilization in a given area by using intelligent algorithms within radios such that they can minimize interference among each other and/or such that they can potentially “listen” for other spectrum use so as to wait until the channel is clear. Such systems are proposed for use particularly in unlicensed spectrum in an effort to increase the spectrum utilization of such spectrum. 
     A mobile ad hoc network (MANET) (see http://en.wikipedia.org/wiki/Mobile_ad_hoc_network) is an example of a cooperative self-configuring network intended to provide peer-to-peer communications, and could be used to establish communication among radios without cellular infrastructure, and with sufficiently low-power communications, can potentially mitigate interference among simultaneous transmissions that are out of range of each other. A vast number of routing protocols have been proposed and implemented for MANET systems (see http://en.wikipedia.org/wiki/List_of_ad-hoc_routing_protocols for a list of dozens of routing protocols in a wide range of classes), but a common theme among them is they are all techniques for routing (e.g. repeating) transmissions in such a way to minimize transmitter interference within the available spectrum, towards the goal of particular efficiency or reliability paradigms. 
     All of the prior art multi-user wireless systems seek to improve spectrum utilization within a given coverage area by utilizing techniques to allow for simultaneous spectrum utilization among base stations and multiple users. Notably, in all of these cases, the techniques utilized for simultaneous spectrum utilization among base stations and multiple users achieve the simultaneous spectrum use by multiple users by mitigating interference among the waveforms to the multiple users. For example, in the case of 3 base stations each using a different frequency to transmit to one of 3 users, there interference is mitigated because the 3 transmissions are at 3 different frequencies. In the case of sectorization from a base station to 3 different users, each 180 degrees apart relative to the base station, interference is mitigated because the beamforming prevents the 3 transmissions from overlapping at any user. 
     When such techniques are augmented with MU-MIMO, and, for example, each base station has 4 antennas, then this has the potential to increase downlink throughput by a factor of 4, by creating four non-interfering spatial channels to the users in given coverage area. But it is still the case that some technique must be utilized to mitigate the interference among multiple simultaneous transmissions to multiple users in different coverage areas. 
     And, as previously discussed, such prior art techniques (e.g. cellularization, sectorization) not only typically suffer from increasing the cost of the multi-user wireless system and/or the flexibility of deployment, but they typically run into physical or practical limitations of aggregate throughput in a given coverage area. For example, in a cellular system, there may not be enough available locations to install more base stations to create smaller cells. And, in an MU-MIMO system, given the clustered antenna spacing at each base station location, the limited spatial diversity results in asymptotically diminishing returns in throughput as more antennas are added to the base station. 
     And further, in the case of multi-user wireless systems where the user location and density is unpredictable, it results in unpredictable (with frequently abrupt changes) in throughput, which is inconvenient to the user and renders some applications (e.g. the delivery of services requiring predictable throughput) impractical or of low quality. Thus, prior art multi-user wireless systems still leave much to be desired in terms of their ability to provide predictable and/or high-quality services to users. 
     Despite the extraordinary sophistication and complexity that has been developed for prior art multi-user wireless systems over time, there exist common themes: transmissions are distributed among different base stations (or ad hoc transceivers) and are structured and/or controlled so as to avoid the RF waveform transmissions from the different base stations and/or different ad hoc transceivers from interfering with each other at the receiver of a given user. 
     Or, to put it another way, it is taken as a given that if a user happens to receive transmissions from more than one base station or ad hoc transceiver at the same time, the interference from the multiple simultaneous transmissions will result in a reduction of the SNR and/or bandwidth of the signal to the user which, if severe enough, will result in loss of all or some of the potential data (or analog information) that would otherwise have been received by the user. 
     Thus, in a multiuser wireless system, it is necessary to utilize one or more spectrum sharing approaches or another to avoid or mitigate such interference to users from multiple base stations or ad hoc transceivers transmitting at the same frequency at the same time. There are a vast number of prior art approaches to avoiding such interference, including controlling base stations&#39; physical locations (e.g. cellularization), limiting power output of base stations and/or ad hoc transceivers (e.g. limiting transmit range), beamforming/sectorization, and time domain multiplexing. In short, all of these spectrum sharing systems seek to address the limitation of multiuser wireless systems that when multiple base stations and/or ad hoc transceivers transmitting simultaneously at the same frequency are received by the same user, the resulting interference reduces or destroys the data throughput to the affected user. If a large percentage, or all, of the users in the multi-user wireless system are subject to interference from multiple base stations and/or ad hoc transceivers (e.g. in the event of the malfunction of a component of a multi-user wireless system), then it can result in a situation where the aggregate throughput of the multi-user wireless system is dramatically reduced, or even rendered non-functional. 
     Prior art multi-user wireless systems add complexity and introduce limitations to wireless networks and frequently result in a situation where a given user&#39;s experience (e.g. available bandwidth, latency, predictability, reliability) is impacted by the utilization of the spectrum by other users in the area. Given the increasing demands for aggregate bandwidth within wireless spectrum shared by multiple users, and the increasing growth of applications that can rely upon multi-user wireless network reliability, predictability and low latency for a given user, it is apparent that prior art multi-user wireless technology suffers from many limitations. Indeed, with the limited availability of spectrum suitable for particular types of wireless communications (e.g. at wavelengths that are efficient in penetrating building walls), it may be the case that prior art wireless techniques will be insufficient to meet the increasing demands for bandwidth that is reliable, predictable and low-latency. 
     What is needed is a multiuser wireless system that does not suffer from the aforementioned limitations: 
     (a) limitations in aggregate bandwidth in a given amount of spectrum; 
     (b) lack of reliable, predictable and low-latency communications for a given user; 
     (c) one user&#39;s use of the wireless network negatively impacting another user&#39;s use; 
     (d) lack of flexibility in the placement of transceivers and/or antennas that form the multi-user wireless system; 
     (e) lack of flexibility allowing transceivers and/or antennas to be installed either by commercial network providers or by individuals; or 
     (f) impractical or expensive implementations. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The patent or application file contains at least one drawing executed in color. Copies of this patent or patent publication with color drawing(s) will be provided by the U.S. Patent and Trademark Office upon request and payment of the necessary fee. 
       A better understanding of the present invention can be obtained from the following detailed description in conjunction with the drawings, in which: 
         FIG.  1    illustrates a prior art MIMO system. 
         FIG.  2    illustrates an N-antenna Base Station communicating with a plurality of Single-antenna Client Devices. 
         FIG.  3    illustrates a three Antenna Base Station communicating with three Single-Antenna Client Devices 
         FIG.  4    illustrates training signal techniques employed in one embodiment of the invention. 
         FIG.  5    illustrates channel characterization data transmitted from a client device to a base station according to one embodiment of the invention. 
         FIG.  6    illustrates a Multiple-Input Distributed-Output (“MIDO”) downstream transmission according to one embodiment of the invention. 
         FIG.  7    illustrates a Multiple-Input Multiple Output (“MIMO”) upstream transmission according to one embodiment of the invention. 
         FIG.  8    illustrates a base station cycling through different client groups to allocate throughput according to one embodiment of the invention. 
         FIG.  9    illustrates a grouping of clients based on proximity according to one embodiment of the invention. 
         FIG.  10    illustrates an embodiment of the invention employed within an NVIS system. 
         FIG.  11    illustrates an embodiment of the DIDO transmitter with I/Q compensation functional units. 
         FIG.  12    a DIDO receiver with I/Q compensation functional units. 
         FIG.  13    illustrates one embodiment of DIDO-OFDM systems with I/Q compensation. 
         FIG.  14    illustrates one embodiment of DIDO 2×2 performance with and without I/Q compensation. 
         FIG.  15    illustrates one embodiment of DIDO 2×2 performance with and without I/Q compensation. 
         FIG.  16    illustrates one embodiment of the SER (Symbol Error Rate) with and without I/Q compensation for different QAM constellations. 
         FIG.  17    illustrates one embodiment of DIDO 2×2 performances with and without compensation in different user device locations. 
         FIG.  18    illustrates one embodiment of the SER with and without I/Q compensation in ideal (i.i.d. (independent and identically-distributed)) channels. 
         FIG.  19    illustrates one embodiment of a transmitter framework of adaptive DIDO systems. 
         FIG.  20    illustrates one embodiment of a receiver framework of adaptive DIDO systems. 
         FIG.  21    illustrates one embodiment of a method of adaptive DIDO-OFDM. 
         FIG.  22    illustrates one embodiment of the antenna layout for DIDO measurements. 
         FIG.  23    illustrates embodiments of array configurations for different order DIDO systems. 
         FIG.  24    illustrates the performance of different order DIDO systems. 
         FIG.  25    illustrates one embodiment of the antenna layout for DIDO measurements. 
         FIG.  26    illustrates one embodiment of the DIDO 2×2 performance with 4-QAM and FEC rate ½ as function of the user device location. 
         FIG.  27    illustrates one embodiment of the antenna layout for DIDO measurements. 
         FIG.  28    illustrates how, in one embodiment, DIDO 8×8 yields larger SE than DIDO 2×2 for lower TX power requirement. 
         FIG.  29    illustrates one embodiment of DIDO 2×2 performance with antenna selection. 
         FIG.  30    illustrates average bit error rate (BER) performance of different DIDO precoding schemes in i.i.d. channels. 
         FIG.  31    illustrates the signal to noise ratio (SNR) gain of ASel as a function of the number of extra transmit antennas in i.i.d. channels. 
         FIG.  32    illustrates the SNR thresholds as a function of the number of users (M) for block diagnalization (BD) and ASel with 1 and 2 extra antennas in i.i.d. channels. 
         FIG.  33    illustrates the BER versus per-user average SNR for two users located at the same angular direction with different values of Angle Spread (AS). 
         FIG.  34    illustrates similar results as  FIG.  33   , but with higher angular separation between the users. 
         FIG.  35    plots the SNR thresholds as a function of the AS for different values of the mean angles of arrival (AOAs) of the users. 
         FIG.  36    illustrates the SNR threshold for an exemplary case of five users. 
         FIG.  37    provides a comparison of the SNR threshold of BD and ASel, with 1 and 2 extra antennas, for two user case. 
         FIG.  38    illustrates similar results as  FIG.  37   , but for a five user case. 
         FIG.  39    illustrates the SNR thresholds for a BD scheme with different values of AS. 
         FIG.  40    illustrates the SNR thresholds in spatially correlated channels with AS=0.1° for BD and ASel with 1 and 2 extra antennas. 
         FIG.  41    illustrates the computation of the SNR thresholds for two more channel scenarios with AS=5°. 
         FIG.  42    illustrates the computation of the SNR thresholds for two more channel scenarios with AS=10°. 
         FIGS.  43 - 44    illustrate the SNR thresholds as a function of the number of users (M) and angle spread (AS) for BD and ASel schemes, with 1 and 2 extra antennas, respectively. 
         FIG.  45    illustrates a receiver equipped with frequency offset estimator/compensator. 
         FIG.  46    illustrates DIDO 2×2 system model according to one embodiment of the invention. 
         FIG.  47    illustrates a method according to one embodiment of the invention. 
         FIG.  48    illustrates SER results of DIDO 2×2 systems with and without frequency offset. 
         FIG.  49    compares the performance of different DIDO schemes in terms of SNR thresholds. 
         FIG.  50    compares the amount of overhead required for different embodiments of methods. 
         FIG.  51    illustrates a simulation with a small frequency offset of f max =2 Hz and no integer offset correction. 
         FIG.  52    illustrates results when turning off the integer offset estimator. 
         FIG.  53    illustrates downlink spectral efficiency (SE) in [bps/Hz] as a function of mutual information in [bps/Hz]. 
         FIG.  54    illustrates average per-user symbol error rare (SER) performance as a function of the mutual information in [bps/Hz]. 
         FIG.  55    illustrates average per-user SER performance as a function of the minimum mutual information in [bps/Hz] and the thresholds used to switch between different DIDO modes. 
         FIG.  56    illustrates average per-user SER vs. SNR for fixed modulation and adaptive DIDO systems. 
         FIG.  57    illustrates downlink SE vs. SNR for fixed modulation and adaptive DIDO systems. 
         FIG.  58    illustrates average per-user SER vs. SNR for adaptive DIDO systems with different thresholds. 
         FIG.  59    illustrates downlink SE vs. SNR for adaptive DIDO systems with different thresholds. 
         FIG.  60    illustrates average per-user SER performance as a function of the minimum singular value of the effective channel matrix and the CQI threshold for 4-QAM constellation. 
         FIG.  61    illustrates one embodiment of a circular topology of base transceiver stations (DIDO antennas). 
         FIG.  62    illustrates an one embodiment of an alternate arrangement of DIDO antennas. 
         FIG.  63    illustrates one embodiment in which a base station network (BSN) is used to deliver precoded baseband data from the centralized processors (CPs) to DIDO antennas. 
         FIG.  64    illustrates one embodiment in which the BSN is used to carry modulated signals. 
         FIG.  65    illustrates one embodiment comprised of two DIDO base stations perfectly synchronized and two users with Line Of Sight (LOS) channels 
         FIG.  66    illustrates the path loss of DIDO at 85 MHz and 400 MHz using the Hata-Okumura model. 
         FIG.  67    illustrates the period maximum delay between channel state information and data transmission as a function of the relative velocity between transmitter and receiver for different frequencies in the UHF band. 
         FIG.  68    illustrates propagation effects in DIDO systems for three different carrier frequencies. 
         FIG.  69    illustrates the areas in the US territory currently covered by transceiver stations operating in the Maritime band. The colors identify the number of active channels (out of the 146 channels available in the Maritime band) that would cause harmful interference to DIDO-NVIS stations at any location. 
         FIG.  70    illustrates sunspot number from the January 1900 throughout June 2009. 
         FIG.  71    illustrates the path loss of WiMAX, LTE and NVIS systems. 
         FIG.  72    illustrates the locations of DIDO-NVIS transmitter (TX) and receiver (RX) stations 
         FIG.  73    illustrates DIDO-NVIS receive antenna location. “lambda” denotes the wavelength at 3.9 MHz (˜77 meters) 
         FIG.  74    illustrates typical 4-QAM constellations demodulated at three users&#39; locations over DIDO-NVIS links. 
         FIG.  75    illustrates SER as a function of PU-SNR for DIDO-NVIS 3×3. 
         FIG.  76    illustrates DIDO-NVIS cells across the territory of the 48 contiguous states of the USA. 
     
    
    
     DETAILED DESCRIPTION 
     1. DIDO System Description 
     One solution to overcome many of the above prior art limitations is an embodiment of Distributed-Input Distributed-Output (DIDO) technology. DIDO technology is described in the following patents and patent applications, all of which are assigned the assignee of the present patent and are incorporated by reference: 
     U.S. Pat. No. 7,599,420, filed Aug. 20, 2007, issued Oct. 6, 2009, entitled “System and Method for Distributed Input Distributed Output Wireless Communication”; 
     U.S. application Ser. No. 12/143,503, filed Jun. 20, 2008 entitled, “System and Method For Distributed Input-Distributed Output Wireless Communications”; 
     U.S. application Ser. No. 11/894,394, filed Aug. 20, 2007 entitled, “System and Method for Distributed Input Distributed Output Wireless Communications”; 
     U.S. application Ser. No. 11/894,362, filed Aug. 20, 2007 entitled, “System and method for Distributed Input-Distributed Wireless Communications”: 
     U.S. application Ser. No. 11/894,540, filed Aug. 20, 2007 entitled “System and Method For Distributed Input-Distributed Output Wireless Communications” 
     U.S. application Ser. No. 11/256,478, filed Oct. 21, 2005 entitled “System and Method For Spatial-Multiplexed Tropospheric Scatter Communications”; 
     U.S. Pat. No. 7,418,053, filed Jul. 30, 2004, issued Aug. 26, 2008, entitled “System and Method for Distributed Input Distributed Output Wireless Communication”; 
     U.S. application Ser. No. 10/817,731, filed Apr. 2, 2004 entitled “System and Method For Enhancing Near Vertical Incidence Skywave (“NVIS”) Communication Using Space-Time Coding. 
     The foregoing patent applications are referred to below as the “related applications.” 
     DIDO systems are described in the related application U.S. Pat. No. 7,418,053, where multiple antennas of the same DIDO base station in  FIG.  2    work cooperatively to pre-cancel interference and create parallel non-interfering data streams to multiple users. These antennas, with or without local transmitters and/or receivers may be spread across a wide coverage area and be interconnected to the same DIDO base station via wired or wireless links, including networks such as the Internet. For example, as disclosed in related U.S. Pat. No. 7,418,053 in the paragraph starting at column 6, line 31, a single base station may have its antennas located very far apart, potentially resulting in the base station&#39;s antenna array occupying several square kilometers. And, for example as disclosed in related U.S. Pat. No. 7,599,420 in the paragraph starting at column 17 line 4, and in paragraphs [0142] of U.S. application Ser. No. 11/894,362 and U.S. application Ser. No. 11/894,540, the separation of antennas from a single DIDO base station may be physically separated by 100s of yards or even miles, potentially providing diversity advantages, and the signals for each antenna installation may either processed locally at each antenna location or brought back to a centralized location for processing. Further, methods for practical deployment of DIDO systems, including addressing practical issues associated with processing signals with widely distributed DIDO antennas, are described in the related applications U.S. Pat. No. 7,599,420, U.S. application Ser. No. 11/894,362 and U.S. application Ser. No. 11/894,540. 
     Recent publications [32,33] analyzed theoretically the performance of cooperative base stations in the context of cellular systems. In practice, when those cooperative base stations are connected to one another via wireless, wired, or optical network (i.e., wide area network, WAN backbone, router) to share precoded data, control information and/or time/frequency synchronization information as described in U.S. Pat. Nos. 7,418,053, 7,599,420, U.S. application Ser. No. 11/894,362 and U.S. application Ser. No. 11/894,540 they function as multiple distributed antennas of a single DIDO base station as shown in  FIGS.  2  and  3   . In the system in [32,33], however, multiple base stations (or distributed antennas of the same DIDO base station) are constrained by their physical placements derived from cell planning, as in conventional cellular systems. 
     A significant advantage of DIDO systems over prior art systems is that DIDO systems enable the distribution of multiple cooperative distributed antennas, all using the same frequency at the same time in the same wide coverage area, without significantly restricting the physical placement of the distributed antennas. In contrast to prior art multi-user systems, which avoid interference from multiple base transmitters at a given user receiver, the simultaneous RF waveform transmissions from multiple DIDO distributed antennas deliberately interfere with each other at each user&#39;s receiver. The interference is a precisely controlled constructive and destructive interference of RF waveforms incident upon each receiving antenna which, rather than impairing data reception, enhances data reception. It also achieves a valuable goal: it results in multiple simultaneous non-interfering channels to the users via space-time precoding techniques, increasing the aggregate throughput in a given coverage area, increasing the throughput to a given user, and significantly increasing the reliability and predictability of throughput to a given user. 
     Thus, when using DIDO, multiple distributed antenna RF waveform transmission interference and user channel interference have an inverse relationship: multiple distributed antenna RF waveform interference results in simultaneous non-interfering user channels. 
     With prior art multi-user systems, multiple base station (and/or ad hoc transceivers) RF waveform transmission interference and user channel interference have a direct relationship: multiple base station (and/or ad hoc transceivers) RF waveform interference results in simultaneous interfering user channels. 
     So, what DIDO utilizes and relies upon to achieve performance far beyond prior art systems is exactly what is avoided by, and results in impairment of, prior art systems. 
     And, because the number of non-interfering channels (and aggregate throughput) grows largely proportionately with the number of DIDO distributed antennas (unlike MU-MIMO systems, where the aggregate throughput asymptotically levels off as the number of cluster antennas at a base station is increased), the spectrum utilization of a given coverage area can be scaled as the number of users in an area scales, all without subdividing the coverage area by frequency or sector, and without requiring significant restrictions on the placement of DIDO distributed antennas. This results in enormous efficiencies in spectrum utilization and aggregate user downlink (DL) and uplink (UL) data rates, and enormous placement flexibility for either commercial or consumer base station installation. 
     In this way, DIDO opens the door to a very large increase in multi-user wireless spectrum efficiency by specifically doing exactly what prior art systems had been meticulously designed to avoid doing. 
     As illustrated in  FIGS.  61 - 62   , in one embodiment, DIDO systems consist of: 
     DIDO Clients  6110 : wireless devices that estimate the channel state information (CSI), feedback the CSI to the transmitters and demodulate precoded data. Typically each user would have a DIDO client device. 
     DIDO Distributed Antennas  6113 : wireless devices interconnected via a network that transmit precoded data to all DIDO clients. A wide variety of network types can be used to interconnect the distributed antennas  6113  including, but not limited to, a local area network (LAN), a wire area network (WAN), the Internet, a commercial fiber optic loop, a wireless network, or any combination thereof. In one embodiment, to provide a simultaneous independent channel to each client, the number of DIDO distributed antennas is at least equal to the number of clients that are served via precoding, and thereby avoids sharing channels among clients. More DIDO distributed antennas than clients can be used to improve link reliability via transmit diversity techniques, or can be used in combination with multi-antenna clients to increase data rate and/or improve link reliability. Note that “distributed antenna”, as used herein, may not be merely an antenna, but refers to a device capable of transmitting and/or receiving through at least one antenna. For example, the device may incorporate the network interface to the DIDO BTS  6112  (described below) and a transceiver, as well as an antenna attached to the transceiver. The distributed antennas  6113  are the antennas that the DIDO BTS  6112 , utilizes to implement the DIDO multi-user system. 
     DIDO Base Transceiver Station (“BTS” or “base station”)  6112 : computes the precoding weights based on the CSI obtained from all users in a DIDO system and sends precoded data to the DIDO distributed antennas. The BTS may be connected to the Internet, public switched telephone network (PSTN) or private networks to provide connectivity between users and such networks. For example, upon clients&#39; requests to access web content, the CP fetches data through the Internet and transmits data to the clients via the DIDO distributed antennas. 
     DIDO Base Station Network (BSN)  6111 : One embodiment of DIDO technology enables precisely controlled cooperation among multiple DIDO distributed antennas spread over wide areas and interconnected by a network. In one embodiment, the network used to interconnect the DIDO distributed antennas is a metro fiber optic ring (preferably, with the DIDO distributed antennas connecting to the metro fiber optic ring at locations where it is convenient), characterized by relatively low latency and reasonably high throughput (e.g. throughput to each DIDO antenna comparable to the wireless throughput achievable from that DIDO antenna). The fiber optic ring is used to share control information and precoded data among different stations. Note that many other communication networks can be used instead of a metro fiber optic ring, including fiber optic networks in different topologies other than a ring, fiber-to-the-home (FFTH), Digital Subscriber Lines (DSL), cable modems, wireless links, data over power line, Ethernet, etc. The communication network interconnecting the DIDO distributed antennas may well be made up of a combination of different network technologies. For example, some DIDO distributed antennas may be connected to DSL, some to fiber, some to cable modems, some on Ethernet, etc. The network may be a private network, the Internet, or a combination. Thus, much like prior art consumer and commercial WiFi base stations are connected via a variety of network technologies, as is convenient at each location, so may be the DIDO distributed antennas. Whatever form this network takes, be it a uniform technology, or a variety of technologies, it is referred herein as the Base Station Network or “BSN.” In one embodiment of the BSN, there is an approximate 10-30 msec round trip time (RTT) latency between BTS and the DIDO distributed antennas, due to the packet switched nature of existing fiber or DSL networks. The variance of that latency (i.e., jitter) is of the order of milliseconds. If lower latency (i.e., &lt;1 msec) and jitter is required for DIDO systems, the BSN may be designed with dedicated fiber links. Depending on the quality of service offered to different DIDO clients, a combination of low and high latency BSNs can be employed. 
     Depending on the layout of the network interconnecting the DIDO distributed antennas  6113 , one or multiple DIDO BTSs can be used in a given coverage area. We define a DIDO cell as the coverage area served by one DIDO BTS. One embodiment with circular topology is depicted in  FIG.  61    (the dots are the DIDO clients  6110 , and crosses are the DIDO distributed antennas  6113 ). In more realistic scenarios the BSN does not have circular shape as in  FIG.  61   . In fact, the DIDO distributed antennas may be placed randomly within the DIDO cell, wherever connections to the BSN are available and/or conveniently reached, as depicted in  FIG.  62   . If the coverage area is one city, in one embodiment multiple DIDO cells (associated to multiple DIDO BTSs) can be designed to cover the whole city. In that case, cellular planning is required to allocate different frequency channels to adjacent DIDO cells to avoid inter-cell interference. Alternatively, one DIDO cell can be designed to cover the entire city at the expense of higher computational complexity at the DIDO BTS (e.g., more CSI data from all the users in the same DIDO cell to be processed by the BTS) and larger throughput requirement over the network interconnecting the DIDO distributed antennas. 
     In one embodiment of the invention, the BSN  6111  is used to deliver precoded baseband data from the BTS  6112  to the DIDO distributed antennas  6113 . As shown in  FIG.  63   , the DIDO distributed antenna  6313  includes a radio transceiver  6330  equipped with digital-to-analog converter (DAC), analog-to-digital converter (ADC), mixer and coupled to (or including) a power amplifier  6338 . Each DIDO distributed antenna receives the baseband precoded data  6332  over the BSN  6311  (such as fiber optic cable  6331 ) from the BTS  6312 , modulates the signal at the carrier frequency and transmits the modulated signal to the clients over the wireless link via antenna  6339 . As illustrated in  FIG.  63   , a reference clock signal is provided to the radio transceiver by a reference clock generator  6333 . 
     In another embodiment of the invention, the BSN is used to carry modulated signals as illustrated in  FIG.  64   , which shows the structure of DIDO systems employing RF-over-fiber. For example, if the BSN is a fiber optic channel  6431  with sufficient bandwidth, a radio frequency (RF) modulated signal is sent over the fiber according to a system such as that described in [17,18]. Multiple radios  6440  (up to as many as the number of DIDO distributed antennas) can be employed at the BTS  6412  to modulate the baseband signals carrying precoded data. The RF modulated signal is converted into optical signal by the radio interface unit (RIU)  6441 . One example of an RIU for UHF is the FORAX LOS1 by Syntonics [19]. The optical signal propagates from the BTS to the DIDO distributed antennas  6413  over the BSN  6411 . The DIDO distributed antennas are equipped with one amplifier interface unit (AIU)  6445  that converts the optical signal to RF. The RF signal is amplified by amplifier  6448  and sent through the antenna  6449  over the wireless link. An advantage of DIDO with RF-over-fiber solution is significant reduction in complexity and cost of the DIDO distributed antennas. In fact, the DIDO distributed antenna consists only of one AIU  6445 , power amplifier  6448  and antenna  6449 . Moreover, if the fiber propagation delay is known and fixed, all the radios at the BTS can be locked to the same reference clock  6442  as in  FIG.  64   , with an appropriate delay to compensate for the propagation delay, and no time/frequency synchronization is required at the DIDO distributed antenna, thereby simplifying further the complexity of DIDO systems. 
     In another embodiment, existing cellular towers with antennas, transceivers, and backhaul connectivity are reconfigured such that the backhauls are connected to a DIDO BTS  6112 . The backhaul connectivity becomes functionally equivalent to the BSN  6111 . Then, as described previously, the cellular transceivers and antennas become functionally equivalent to the DIDO distributed antennas  6113 . Depending on the transceivers and antennas installed in existing cellular phone towers, they may need to be reconfigured or replaced, so as to be able to operate in a DIDO configuration. For example, the transmitters may have been configured to transmit at a low power level so as to not cause interference with a nearby cell using the same frequency. With DIDO, there is no need to mitigate such waveform interference, and indeed, such waveform interference increases the spectrum utilization of the coverage area beyond that achievable in a prior art cellular configuration. 
     In another embodiment, existing cellular towers are partially used for DIDO, as described in the preceding paragraph, and partially used as conventional cellular towers, so as to support compatibility with existing cellular devices. Such a combined system can be implemented in a number of different ways. In one embodiment, TDMA is used to alternate between DIDO use and conventional cellular use. So, at any given time, the cellular towers are used for only DIDO or for conventional cellular communications. 
     Some key features and benefits of DIDO systems, compared to typical multi-user wireless systems, including cellular systems employing MU-MIMO techniques, are: 
     Large spatial diversity: Because DIDO distributed antennas can be located anywhere within a coverage area, and work cooperatively without channel interference, this results in larger transmit antenna spacing and multipath angular spread. Thus, far more antennas can be used, while still maintaining spatial diversity. Unlike prior art commercial or consumer base stations, DIDO distributed antennas can be placed anywhere there is a reasonably fast Internet (or other network) connection, even if it is only a few feet from the ground, indoor or outdoor. Reduced coverage (e.g., due to lower transmit antenna height or physical obstacles) can be compensated by larger transmit power (e.g., 100 W rather than −200 mW as in typical cellular systems in urban areas or ˜250 mW in typical WiFi access points) because there is no concern (or far less concern than with prior art cellular systems) about higher-powered transmissions interfering with another cell or WiFi access point using the same frequency. Larger spatial diversity translates into a larger number of non-interfering channels that can be created to multiple users. Theoretically (e.g., due to large antenna spacing and angular spread), the number of spatial channels is equal to the number of transmit DIDO stations. That yields an n× improvement in aggregate DL data rate, where n is the number of DIDO stations. For example, whereas prior art cellular system might achieve a maximum of net 3× improvement in aggregate spectrum utilization, a DIDO system might achieve a 10×, 100× or even greater improvement in aggregate spectrum utilization. 
     Uniform rate distribution: Since the DIDO distributed antennas can be dispersed throughout a wide area, far more users can be characterized by good signal-to-noise ratio (SNR) from one or more DIDO distributed antennas. Then, far more users can experience similar data rates, unlike cellular systems where cell-edge users suffer from poor link-budget and low data rate. 
     Cost effective: DIDO distributed antennas can be designed as inexpensive devices with single antenna transceivers (similar to WiFi access points). Moreover, they do not require costly real estate or expensive installation as cell towers because of the ability to flexibly locate them within the coverage area. 
     2. Methods for Implementation and Deployment of DIDO Systems 
     The following describes different embodiments of practical deployment of DIDO systems. 
     a. Downlink Channel 
     The general algorithm used in one embodiment to enable DIDO communications over wireless links is described as follows. 
     CSI Computation: All DIDO clients compute the CSI from all DIDO distributed antenna transmitters based on training sequences received from DIDO distributed antennas as shown in  FIG.  4   . The CSI is fed back wirelessly from DIDO clients to DIDO distributed antennas  6113  via TDMA or MIMO techniques as described in the related applications and in  FIG.  5   , and then the DIDO distributed antennas  6113  send the CSI via the DIDO BSN  6111  to the DIDO BTS  6112 . 
     Precoding Computation: the DIDO BTS  6112  computes the precoding weights from the CSI feedback from the entire DIDO cell. Precoded data are sent from the DIDO BTS  6112  to the DIDO distributed antennas in  FIG.  6    via the DIDO BSN  6111 . One precoded data stream is sent to each of the DIDO distributed antennas. 
     Precoded Data Transmission: the DIDO distributed antennas transmit precoded data to all clients over the wireless links. 
     Demodulation: the DIDO clients demodulate the precoded data streams. 
     In DIDO systems, the feedback loop in  FIGS.  19 - 20    consists of: transmission of the training sequence for channel estimation from DIDO distributed antennas to clients; CSI estimation by clients; CSI feedback from clients via the DIDO distributed antennas through the DIDO BSN  6111  to the DIDO BTS  6112 ; precoded data transmission from DIDO BTS  6112  through the DIDO BSN  6111  to DIDO distributed antennas to clients. To guarantee the CSI is up-to-date for successful DIDO precoding and data demodulation at the client side, the delay over the feedback loop should be lower than the channel coherence time. The feedback loop delay depends on the BTS computational resources relative to the computational complexity of the DIDO precoding as well as latency over the BSN. Processing at each client and DIDO distributed antenna is typically very limited (i.e., on the order of a microsecond or less with a single DSP or CPU), depending on the hardware and processor speed. Most of the feedback loop delay is due the latency for transmission of precoded data from the DIDO BTS  6112  to the DIDO distributed antennas  6113  over the DIDO BSN  6111  (e.g., on the order of milliseconds). 
     As discussed above, a low latency or high latency BSN can be used in DIDO systems depending on the available network. In one embodiment, the DIDO BTS  6112  switches among two or more types of BSN network infrastructure based on the each users&#39; channel coherence time. For example, outdoor clients are typically characterized by more severe Doppler effects due to the potential of fast mobility of clients or objects within the channel (i.e., resulting in low channel coherence time). Indoor clients have generally fixed wireless or low mobility links (e.g., high channel coherence time). In one embodiment, DIDO distributed antennas connected to low latency BSN network infrastructure (e.g., dedicated fiber rings) are assigned to outdoor clients, whereas DIDO distributed antennas connected to high latency BSN network infrastructure (e.g., consumer Internet connections such as DSL or cable modems) are assigned to serve indoor clients. To avoid interference among transmissions to the different types of clients, indoor and outdoor clients can be multiplexed via TDMA, FDMA or CDMA schemes. 
     Moreover, DIDO distributed antennas connected to low latency BSNs can also be used for delay-sensitive algorithms such as those used for client time and frequency synchronization. 
     We observe that DIDO provides an inherently secure network when more than one DIDO distributed antenna is used to reach a user. In fact, the precoded streams from the BTS to the DIDO distributed antennas consist of linear combinations of data (for different clients) and DIDO precoding weights. Then, the data stream sent from the BTS to the BSN generally cannot be demodulated at the DIDO distributed antenna, since the DIDO distributed antenna is unaware of the precoding weights used by the BTS. Also, the precoding weights change over time as the complex gain of the wireless channels from DIDO distributed antenna-to-client varies (due to Doppler effects), adding an additional level of security. Moreover, the data stream intended to each client can be demodulated only at the client&#39;s location, where the precoded signals from all transmit DIDO distributed antennas recombine to provide user interference-free data. At any other location, demodulation of data intended to one particular user is not possible due to high levels of inter-user interference. 
     b. Uplink Channel 
     In the uplink (UL) channel, the clients send data (e.g., to request Web content to the DIDO BTS  6112  from the Internet), CSI and control information (e.g., time/frequency synchronization, channel quality information, modulation scheme, etc.). In one embodiment, there are two alternatives for the UL channel that may be used separately or in combination: i) clients communicate directly to the DIDO BTS  6112  via TDMA, FDMA or CDMA schemes; ii) clients communicate to multiple DIDO distributed antennas by creating spatial channels via MIMO techniques as in  FIG.  7    (in the MIMO case, however, transmission time synchronization among clients is required). 
     c. Time and Frequency Synchronization 
     In one embodiment, the DIDO distributed antennas are synchronized in time and frequency. If RF-over-fiber is employed as in  FIG.  64   , all radio transceivers at the BTS are locked to the same reference clock  6442 , thereby guaranteeing perfect time and frequency synchronization. Assuming negligible jitter over the DIDO BSN  6111 , artificial delays can be added to the transmit RF waveforms at the DIDO BTS  6112  side to compensate for propagation delays over the DIDO BSN  6111  to different DIDO distributed antennas. 
     If the DIDO BSN  6111  is used to carry baseband waveforms as in  FIG.  63   , time and frequency synchronization is required for the radio transceivers at different DIDO distributed antennas. There are various methods to achieve this synchronization, and more than one method can be used at once. 
     i. Time and Frequency Synchronization Via GPSDO 
     In one embodiment time/frequency synchronization is achieved by connecting the transmitter in radio transceiver  6330  to a GPS Disciplined Oscillators (GPSDO). A crystal clock with high frequency stability and low jitter (e.g., Oven-Controlled Crystal Oscillator, OCXO) is used in one embodiment. 
     ii. Time and Frequency Synchronization Via Power Line Reference 
     An alternate embodiment utilizes the 60 Hz (in the United States, 50 Hz in other regions) signal available over power lines as a common clock reference for all transmitters. Based on empirical measurements, the jitter of the 60 Hz reference signal (after low pass filtering) can be on the order of 100 nanoseconds. It would be necessary, however, to compensate for deterministic offsets due to variable propagation path length along the power lines at different locations. 
     iii. Time and Frequency Synchronization with Free-Running Clocks 
     An alternative embodiment is used to compensate the time and frequency offsets across different DIDO distributed antennas whose clocks are not synchronized to an external clock reference, but rather are free-running as described in the related U.S. Pat. No. 7,599,420 and in  FIGS.  45 ,  46  and  47   . Coarse Time Synchronization: In one embodiment, all DIDO distributed antennas have free-running clocks as illustrated in  FIG.  46    that can generate a periodic reference signal (one pulse per second (PPS) in one embodiment). The DIDO BTS  6112  sends an initial trigger signal to all DIDO distributed antennas via the DIDO BSN  6111  to trigger their transmission at the next PPS. The roundtrip time (RTT) over the BSN is assumed to be of the order of particular time interval (10 msec in one embodiment, or ˜5 ms in each direction), so all DIDO distributed antennas will start transmitting with a relative time offset of at most 1 sec+5 msec. Each DIDO distributed antenna sends one training signal (i.e., Zadoff-Chu sequence or methods for GPS systems in [6]) to all users for initial time offset estimation. Alternatively, only a subset of users (those with highest SNR) can be selected to reduce the complexity of the algorithm. Training signals from different DIDO distributed antennas are orthogonal or sent via TDMA/FDMA to avoid interference. The users estimate the relative time of arrival from every transmitter by correlating the receive signal with the known training sequence. The same training sequence can be sent periodically and the correlation can be averaged over a long period of time (e.g., on the order of minutes in one embodiment) to average-out multipath effects, particularly in the case of mobile users. In one embodiment of the invention, time-reversal techniques [31] can be applied to pre-compensate for multipath effects at the transmitter and obtain precise time of arrival estimates. Then, the users compute the delays (i.e., deterministic time offsets) of each transmitter relative to a given time reference (e.g., one of the DIDO distributed antennas can be chosen as an absolute time reference). The relative time offset is fed back from the clients to the DIDO distributed antennas or directly to the DIDO BTS  6112 . Then, each DIDO antenna averages the time offset information obtained from all the users and adjusts its PPS (and clock reference) according to that. 
     In one embodiment, the time offset is computed from measurements by many users to average out the difference in propagation delay across users. For example,  FIG.  65    shows one case with two DIDO distributed antennas  6551  and  6552  perfectly synchronized (e.g., via GPSDO) and two users  6553  and  6554  with Line Of Sight (LOS) channels. We use TX1  6551  as the absolute time reference. Since we assume the transmitters are perfectly synchronized, the average time offset between users should be zero. However, if we average the offset information only across two users, as in  FIG.  65   , the average offset of TX2  6552  relative to TX1  6551  would be (7+(−2))/2=2.5 usec. By relying on the Monte Carlo method, we can average out this effect as the number of users increases. It is possible to simulate the bias of this algorithm depending on the TX/RX distribution and channel delay spread. 
     Fine Time Synchronization: Once the coarse time offset is removed, DIDO distributed antennas can keep running the algorithm periodically to improve the offset estimates. Moreover, the DIDO transmit stations are typically at fixed locations (e.g. transceiver DIDO distributed antennas connected to the DIDO BSN  6111 ). Hence the algorithm should converge after a period of time. The same algorithm is rerun every time one DIDO distributed antenna changes its location or a new DIDO distributed antenna is added to the DIDO BSN  6111 . 
     Frequency Offset Compensation: once the 1 PPS reference signals at all DIDO distributed antennas are synchronized, the DIDO distributed antennas send training to one or multiple users to estimate the relative frequency offset between stations. Then, the frequency offset compensation method described in the related U.S. Pat. No. 7,599,420 and  FIG.  47    is applied to transmit precoded data to all users while compensating for the offset. Note that for the best performance of this algorithm, two conditions need to be satisfied: i) good SNR between all DIDO transmitters and the user (or users) responsible for frequency offset estimation; ii) good clock stability: if the OCXOs at the DIDO distributed antennas are stable, the frequency offset estimation can be carried out only occasionally, thereby reducing the feedback information. 
     d. Control Channel Via the BSN 
     In one embodiment, the DIDO BSN  6111  is used for at least the following three purposes: 
     CSI Feedback: The DIDO clients feedback the CSI wirelessly to the DIDO distributed antennas. If TDMA, FDMA or CDMA schemes are used for feedback, only one DIDO distributed antenna (the one with best SNR to all users) is selected to receive the CSI. If MIMO techniques are employed, all DIDO distributed antennas are used simultaneously to demodulate the CSI from all clients. Then the CSI is fed back from the DIDO distributed antennas to the DIDO BTS  6112  via the DIDO BSN  6111 . Alternatively, the CSI can be fed back wirelessly directly from the clients (or the DIDO distributed antennas) to a DIDO BTS  6112  equipped with one antenna via TDMA or CDMA schemes. This second solution has the advantage of avoiding latency caused by the DIDO BSN  6111 , but may not be achievable if the wireless link between each of the clients (or the DIDO distributed antennas) and the DIDO BTS  6112  is not of high enough SNR and reliability. To reduce the throughput requirement over the UL channel, the CSI may be quantized or any number of limited feedback algorithms known in the art can be applied [28-30]. 
     Control Information: The DIDO BTS  6112  sends control information to the DIDO distributed antennas via the DIDO BSN  6111 . Examples of control information are: transmit power for different DIDO distributed antennas (to enable power control algorithms); active DIDO distributed antenna IDs (to enable antenna selection algorithms); trigger signals for time synchronization and frequency offset values. 
     Precoded data: the DIDO BTS  6112  sends precoded data to all DIDO distributed antennas via the DIDO BSN  6111 . That precoded data is then sent from the DIDO distributed antennas synchronously to all clients over wireless links. 
     Case Study 1: DIDO in UHF Spectrum 
     a. UHF and Microwave Spectrum Allocation 
     Different frequency bands are available in the United States as possible candidates for DIDO system deployment: (i) the unused television frequency band between 54-698 MHz (TV Channels 2-51 with 6 MHz channel bandwidth), recommended by the White Spaces Coalition to deliver high speed Internet services; (ii) the 734-746 MHz and 746-756 MHz planned to be used for future developments of LTE systems by AT&amp;T and Verizon, respectively; (iii) the 2.5 GHz band for broadband radio service (BRS), consisting of 67.5 MHz of spectrum split in five channels for future deployment of WiMAX systems. 
     b. Propagation Channel in UHF Spectrum 
     We begin by computing the path loss of DIDO systems in urban environments at different frequencies allocated for White Spaces. We use the Hata-Okumura model described in [7], with transmit and receive antenna heights of 1.5 meter (e.g., indoor installation of the DIDO distributed antennas) and 100 W transmit power. To determine the range, we use −90 dBm target receive sensitivity of typical wireless devices.  FIG.  66    shows the path loss at 85 MHz and 400 MHz. In one embodiment, the expected range for DIDO systems is between 1 Km and 3 Km depending on the frequency. 
     Some prior art multi-user systems proposed for White Spaces have similar interference avoidance protocols as WiFi, although at UHF frequencies. We compare DIDO UHF results against the path loss for WiFi systems with 250 mW transmit power. The range for WiFi extends only between 60 meters (indoor) and 200 meters (outdoor). Wider range achievable by DIDO systems is due to larger transmit power and lower carrier frequency (subject to generally lower attenuation from obstacles at UHF frequencies). But, we observe that WiFi systems were deliberately limited in power because large transmit power would create harmful interference to other users using WiFi systems (or other users in the 2.4 GHz ISM spectrum) because only one interfering access point can be transmitting at once, and by extending the range, increasingly more WiFi access points would interfere with one another. Contrarily, in DIDO systems inter-user interference is suppressed by multiple DIDO distributed antennas transmitting precoded data to the clients. 
     Next, we summarize the parameters that characterize time, frequency and space selectivity in UHF channels. 
     Time selectivity is caused by relative motion of transmitter and receiver that yields shift in the frequency domain of the received waveform, known as the Doppler effect. We model the Doppler spectrum according to the well known Jakes&#39; model for rich scattering environments (e.g., urban areas), and compute the channel coherence time from the maximum Doppler shift according to [14]. As a rule of thumb, the channel complex gain can be considered constant over a period of time corresponding to one tenth of the channel coherence time (Δt=T C /10).  FIG.  67    shows the period Δt as a function of the relative velocity between transmitter and receiver for different frequencies in the UHF band. 
     In DIDO systems, Δt provides the constraint to the maximum delay that can be tolerated between estimation of the channel state information (CSI) and data transmission via DIDO precoding. For example, if the constraint is Δt=10 msec, the maximum speed that can be tolerated by DIDO systems is 4 mph at 700 MHz, 7 mph at 400 MHz, and 57 mph at 50 MHz. If a low latency network is used for the BSN and the DIDO BTS  6112  is in the vicinity of the DIDO distributed antennas (so as to minimize network transit delay), far less than 10 msec RTT can be achieved Δt. For example, if Δt=1 msec, at 400 MHz, DIDO can tolerate approximately highway speeds of 70 Mph. 
     Frequency selectivity depends on the channel delay spread. Typical values of delay spread for indoor environments are below 300 nsec [8-10]. In urban and suburban areas the delay spread ranges between 1 and 10 usec [11,12]. In rural environments it is typically on the order of 10 to 30 usec [11-13]. 
     Space selectivity depends on the channel angular spread and antenna spacing at transmit/receive side. In urban environments, the channel angular spread is typically large due to rich scattering effects. In rich scattering environments, it was shown that the minimum antenna spacing (either at transmitter or receiver sides) to guarantee good spatial selectivity is about one wavelength [15,16]. 
     In  FIG.  68    we summarize the main propagation effects in DIDO systems for three different carrier frequencies. We observe that lower frequencies provide better range and robustness to mobile speed at the expense of larger antenna size and distance between transceivers. A good tradeoff is offered by the 400 MHz band. This band can support pedestrian speed at a ˜10 msec limitation to transmit control information from the centralized processor to the DIDO distributed antennas over the Internet, and it can support highway speeds with a ˜1 msec limitation. 
     *maximum relative TX/RX speed assuming feedback loop delay (RTT base station-to-centralized processor over the Internet) of 10 msec 
     **minimum TX or RX antenna spacing to gain the benefit of spatial diversity in rich scattering environments (i.e., indoor or urban environments) is one wavelength 
     ***assuming half-wavelength dipole for maximum antenna efficiency. 
     c. Practical Implementation of DIDO Systems in UHF Spectrum 
     Based on the channel parameters and systems constraints described above, we provide one embodiment of DIDO system design in UHF spectrum as follows: 
     Bandwidth: 5 to 10 MHz, depending on UHF spectrum availability. 
     Carrier frequency: 400 MHz for best tradeoff between range/Doppler and antenna size/spacing. 
     Modulation: orthogonal frequency division multiplexing (OFDM) is used to reduce receiver complexity and exploit channel frequency diversity (via interleaving) as in  FIG.  11   . The cyclic prefix is 10 usec, based upon the maximum delay spread expected in UHF channels, corresponding to 50 channel taps at 5 MHz bandwidth. The OFDM waveform can be designed with 1024 tones, corresponding to ˜5% loss in spectral efficiency. The total OFDM symbol length (including cyclic prefix and data) is 215 usec. 
     Packet Size: is limited by the latency over the DIDO BSN  6111  and Doppler effects. For example, the nominal RTT of one embodiment is 10 msec. Then, the time required to send precoded data from the DIDO BST  6112  to the DIDO distributed antennas is ˜5 msec (half RTT). Assuming maximum users&#39; speed of 7 mph at 400 MHz as in  FIG.  68   , the channel gain can be considered constant for approximately 10 msec. Hence, we use the remaining 5 msec to send data and define the packet size as (5e-3/215e-6)≈23 OFDM symbols. Note that higher users&#39; speeds yield a larger Doppler effect resulting in a lower number of OFDM symbols sent per packet, unless the latency over the DIDO BSN  6111  can be reduced. 
     CSI Estimation and Precoding: With the system parameters above, training for CSI estimation is sent every 5 msec. The users estimate/feedback the CSI and 5 msec later they receive 5 msec of precoded data to demodulate. 
     DIDO Distributed Antenna Placement Within the Coverage Area: Although DIDO distributed antennas can be placed on existing cell towers, as a practical matter, given limited real estate available at existing cell towers, there may be a limited number of antenna locations available. For example, if a maximum of four antennas were placed on each tower this might yield up to 3× increase in data rate as shown in [ 4 ] (due to lack of spatial diversity). In this configuration, latency across DIDO transmitters is negligible, since they are all placed on the same tower, but without additional spatial diversity, the gain in spectral utilization will be limited. In one embodiment, the DIDO distributed antennas are placed in random locations throughout the coverage area all connected to the DIDO BSN  6111 . Unlike a the coverage area of given cell in a prior art cellular system, which is based on transmission range from the cell tower, the coverage area of a DIDO cell is based instead on the transmission range of each DIDO distributed antenna, which in accordance with the path loss model in one embodiment is approximately 1 Km. Thus, a user within 1 Km of at least one DIDO distributed antenna will receive service, and a user within range of several DIDO distributed antennas will get non-interfering service from the DIDO distributed antennas within range. 
     Case Study 2: DIDO in NVIS Links 
     Another application of DIDO technology is in the HF band. The key advantage of HF systems is extended coverage in the 1-30 MHz frequency band due to reflection off of the ionosphere. One example of propagation via the ionosphere is near-vertical incident skywave (NVIS) where signals sent towards the sky with high elevation angles from the horizon bounce off the ionosphere and return back to Earth. NVIS offers unprecedented coverage over conventional terrestrial wireless systems: NVIS links extend between 20 and 300 miles, whereas typical range of terrestrial systems is between 1 and 5 miles. 
     Hereafter, we present the characteristics of NVIS links based on results obtained from the literature and our experimental data. Then we present a practical implementation of DIDO systems in NVIS links that were described in the related U.S. Pat. Nos. 7,418,053, 7,599,420, U.S. application Ser. No. 11/894,362, U.S. application Ser. No. 11/894,394 U.S. application Ser. No. 11/143,503 and U.S. application Ser. No. 11/894,540 and in  FIG.  10   . 
     a. HF Spectrum Allocation 
     The HF band is divided into several subbands dedicated to different types of services. For example, the Maritime band is defined between 4 MHz and 4.438 MHz. According to the Federal Communications Commission (FCC) licensing database (i.e., universal licensing systems, “ULS”), there are 1,070 licenses authorized to operate in this Maritime band. There are 146 channels of 3 KHz bandwidth each, covering 0.438 MHz bandwidth. Most of the transceiver stations operating in the Maritime band are located along the coast of the US territory as depicted in  FIG.  69   . Hence, DIDO-NVIS distributed antennas operating inland (far away from the coast) would not cause harmful interference to those Maritime stations or vessels at sea. Moreover, along the coast, cognitive radio techniques can be applied to detect channels in use and avoid transmission over DIDO-NVIS links in those channels. For example, if the DIDO-NVIS system is designed to transmit broadband OFDM waveforms (˜1 MHz bandwidth), the OFDM tones corresponding to active channels in the Maritime band can be suppressed to avoid interference. 
     Other portions of the HF spectrum are occupied by the Aeronautical band within [3,3.155] MHz and [3.4,3.5] MHz, and the Amateur radio bands defined in the ranges [1.8,2] MHz, [3.5,4] MHz, [5.3305,5.4035] MHz, [7,7.3] MHz, [10.10,10.15] MHz, [14,14.35] MHz, [18.068,18.168] MHz, [21,21.450] MHz, [24.89,24.99] MHz, [28,29.7] MHz. Our experimental measurements have shown that the Amateur radio band is mostly unutilized, particularly during daytime, allowing DIDO-NVIS links without causing harmful interference. Moreover, similarly to the Maritime band, coexistence of DIDO-NVIS systems with Amateur radio transceivers may be enabled by cognitive radio techniques. 
     b. NVIS Propagation Channel 
     We provide an overview of radio wave propagation through the ionosphere. Then we describe path loss, noise and time/frequency/space selectivity in typical NVIS channels. 
     The ionosphere consists of ionized gas or plasma. The plasma behaves as an electromagnetic shield for radio waves propagating from Earth upwards that are refracted and reflected back to Earth as in  FIG.  10   . The stronger the level of ionization, the higher the critical frequency of the plasma and number of reflections in the ionosphere, resulting in improved signal quality over NVIS links. The ionization level depends on the intensity of solar radiations that strike the ionosphere producing plasma. One empirical measure of the solar activity is the sunspot number (SSN) that varies on 11-year cycles as shown in  FIG.  70   . Hence, the performance of DIDO-NVIS systems is expected to vary throughout every 11-year cycle, yielding highest SNR and largest number of usable HF bands at the peak of the cycle. 
     Due to the absence of obstacles in NVIS links, the propagation loss is mostly due to free space path loss (i.e., Friis formula), without additional attenuation factors as in standard terrestrial wireless systems. Depending on the time of the day and incident angle to the ionosphere, propagating waveforms may suffer from additional 10-25 dB loss due to attenuation from the D layer (i.e., lowest layer of the ionosphere).  FIG.  71    compares the path loss in NVIS links against next generation wireless systems such as WiMAX and 3GPP long term evolution (LTE) in macrocells with 43 dBm transmit power. For WiMAX and LTE we used 2.5 GHz and 700 MHz carrier frequencies, respectively. NVIS links yield better signal quality (i.e., wider coverage) than standard systems for distances greater than ˜1 mile. 
     Any wireless system is affected by thermal noise produced internally to radio receivers. In contrast to standard wireless systems, HF links are severely affected by other external noise sources such as: atmospheric noise, man-made noise and galactic noise. Man-made noise is due to environmental sources such as power lines, machinery, ignition systems, and is the main source of noise in the HF band. Its typical values range between −133 and −110 dBm/Hz depending on the environment (i.e., remote versus industrial). 
     From our Doppler measurements, we observed typical channel coherence time in NVIS links is of the order of seconds, That is about 100 times larger than the Δt=10 msec constraint on the DIDO feedback loop over the DIDO BSN  6111 . Hence, in DIDO-NVIS systems a long feedback delay over the DIDO BSN  6111  can be tolerated due to extremely high channel coherence time. Note that our measurements assumed fixed wireless links. In case of mobile stations, the channel coherence time is expected to be of the order of 2 sec in a very high speed scenario (i.e., vehicle or airplane moving at 200 mph) that is still orders of magnitude higher than the latency over the DIDO BSN  6111 . 
     Typical values of delay spreads in NVIS channels are around 2 ms corresponding, corresponding to the roundtrip propagation delay Earth-ionosphere (about 300 Km high). That value may be larger (˜5 msec) in presence of multilayer refractions in the ionosphere. 
     The angular spread in NVIS links is typically very small (less than 1 degree, based on our measurements and simulations). Hence, large antenna spacing is required to obtain spatially selective channels and exploit spatial diversity via DIDO techniques. Strangeways&#39; simulator points to around twenty wavelengths required for a long distance HF skywave link [34,35]. Some experimental results for HF skywave with a spacing of around 0.7 wavelengths indicated high correlation [36,37]. Similar results were obtained from our measurements in NVIS links. 
     c. DIDO-NVIS Experimental Results 
     We measured the performance of DIDO-NVIS systems with a practical testbed consisting of three DIDO distributed antennas  6113  for transmission and three DIDO clients  6110  for reception. The transmitters are located in the area of Austin, Tex., as depicted in  FIG.  72   : TX1 in central Austin, TX2 in Pflugerville, TX3 in Lake Austin. All three receivers are installed with antenna spacing of about 10 wavelengths as in  FIG.  73   . All six transmit and receive antennas have the same orientation with respect to the direction of the North, since our goal was to evaluate DIDO-NVIS performance when only space diversity is available, without polarization diversity. 
     The three transmitting distributed antennas are locked to the same GPSDO that provide time and frequency reference. The three receiving DIDO clients have free-running clocks and synchronization algorithms are implemented to compensate for time/frequency offsets. The carrier frequency is 3.9 MHz, bandwidth is 3.125 KHz and we use OFDM modulation with 4-QAM. 
     Typical 4-QAM constellations demodulated at the three DIDO client locations are depicted in  FIG.  74   . Our DIDO-NVIS 3×3 testbed creates three simultaneous spatial channels over NVIS links by pre-cancelling inter-user interference at the transmit side and enabling successful demodulation at the users&#39; side. 
     We compute the symbol error rate (SER) performance as a function of the per-user SNR (PU-SNR) over about 1000 channel realizations as in  FIG.  75   . The dots are individual measurements for all three DIDO clients  6112  and the solid lines are the average per-user SER (PU-SER). The average SER across all three DIDO clients  6112  is denoted as A-SER. About 40 dB receive SNR is require to successfully demodulate 4-QAM constellations in DIDO-NIVS 3×3 links with A-SER&lt;1%. In fact, the transmit/receive antenna configuration in our experiments yields very low spatial diversity (due to relatively close proximity of the receive antennas, given the wavelength, and transmitters being all located on one side of the receivers rather than around the users). In more favorable conditions (i.e., transmitters placed around the users in circle and at larger distance as in  FIG.  61   ) much lower SNR (˜20 dB) is required to demodulate QAM constellations with DIDO-NVIS, as derived via simulations in realistic NVIS propagation channels. 
     d. Practical Implementation of DIDO Systems in NVIS Links 
     Similarly to the case study 1, we provide one embodiment of DIDO-NVIS system design as follows: 
     Bandwidth: 1-3 MHz, depending on HF spectrum availability. Larger bandwidths are less practical, since they require more challenging broadband antenna designs. For example, 3 MHz bandwidth at 4 MHz carrier frequency corresponds to fractional antenna bandwidth of 75%. 
     Carrier Frequency: The HF frequencies corresponding to the plasma critical frequency of the ionosphere are between 1 and 10 MHz. Radio waves at lower frequencies (˜1 MHz) are typically reflected by the ionosphere at nighttime, whereas higher frequencies (˜10 MHz) at daytime. The frequency of optimal transmission (FOT) at given time of the day varies with the SSN. In practical DIDO-NVIS systems, the carrier frequency can be adjusted throughout the day depending on the FOT provided by the ionospheric maps. 
     Transmit Power: Based on the path loss results in  FIG.  71   , the average transmit power requirement for 1 MHz bandwidth with receivers in remote areas (i.e., man-made noise level of −133 dBm/Hz) is between 10 dBm and 30 dBm, depending on QAM modulation and forward error correction (FEC) coding schemes. In industrial areas (i.e., man-made noise level of −110 dBm/Hz) those levels increase of about 23 dB up to 33-53 dBm, depending on QAM modulation and FEC coding schemes. 
     Modulation: We assume OFDM modulation as in  FIG.  11   . The cyclic prefix is 2 msec (based upon typical delay spread expected in NVIS links) corresponding to 2000 channel taps at 1 MHz bandwidth. The OFDM waveform can be designed with 2 14  tones, corresponding to ˜10% loss in spectral efficiency due to cyclic prefix. The total OFDM symbol duration (including cyclic prefix and data) at 1 MHz bandwidth is 18.4 msec. 
     Packet Size: is limited by the minimum channel coherence time expected in NVIS links. The minimum coherence time is approximately 1 sec and the channel gain can be considered constant over one tenth of that duration (˜100 msec) in the worst case scenario. Then, the packet size is about five OFDM symbols. The packet size can be dynamically adjusted as the coherence time varies over time. 
     CSI Estimation and Precoding: With the system parameters above, training for CSI estimation is sent every ˜100 msec (or higher, when the coherence time increases). The users estimate/feedback the CSI and ˜5 msec later (i.e., latency over the BSN feedback loop) they receive 100 msec of precoded data to demodulate. 
     DIDO Distributed Antenna Placement Within the Coverage Area: One practical solution to implement DIDO-NVIS systems is to place multiple DIDO distributed antennas along the circumference of a circular region of radius ˜100 miles as in  FIG.  61   . These stations are connected to each other via a BSN that carries control information. At the speed of light through optical fiber, the propagation latency along the circumference of radius 100 miles is ˜3.4 msec. This delay is much smaller than typical channel coherence time in NVIS channels and can be tolerated without any significant performance degradation for the DIDO precoder. Note that if the optical fiber is shared across different operators, that delay may be larger (i.e., 10-30 msec) due to the packet switched nature of the Internet. Multiple DIDO-NVIS cells as in  FIG.  76    can be distributed to provide full coverage over the USA. For example,  FIG.  76    shows that 109 DIDO cells of radius 125 miles are required to cover the entire territory of the 48 contiguous states in the USA. 
     REFERENCES 
     The following references are referred to in the above detailed description, as indicated by the numbered brackets:
     [1] 3GPP, “Multiple Input Multiple Output in UTRA”, 3GPP TR 25.876 V7.0.0, March 2007   [2] 3GPP, “Base Physical channels and modulation”, TS 36.211, V8.7.0, May 2009   [3] 3GPP, “Multiplexing and channel coding”, TS 36.212, V8.7.0, May 2009   [4] ArrayComm, “Field-proven results”,   [5] http://www.arraycomm.com/serve.php?page=proof   [6] http://www.jackson-labs.com/docs/HP_GPS_Apps.pdf   [7] Oda, Y.; Tsuchihashi, R.; Tsunekawa, K.; Hata, M., “Measured path loss and multipath propagation characteristics in UHF and microwave frequency bands for urban mobile communications”, Vehicular Technology Conference, Vol. 1, pp. 337-341, 2001   [8] Devasirvatham, D. M. J.; Krain, M. J.; Rappaport, D. A.; Banerjee, C., “Radio propagation measurements at 850 MHz, 1.7 GHz and 4 GHz inside two dissimilar office buildings”, IEEE Electronics Letters, Vol. 26, n 7, pp. 445-447 March 1990   [9] Devasirvatham, D., “Time delay spread and signal level measurements of 850 MHz radio waves in building environments”, IEEE Trans. on Ant. and Prop., Vol. 34, n. 11, pp. 1300-1305, November 1986   [10] Devasirvatham, D. M. J.; Murray, R. R.; Banerjee, C., “Time delay spread measurements at 850 MHz and 1.7 GHz inside a metropolitan office building”, IEEE Electronics Letters, Vol. 25, n 3, pp. 194-196, February 1989   [11] Garcia, C. R.; Lehner, A.; Strang, T.; Frank, K., “Channel Model for Train to Train Communication Using the 400 MHz Band”, in Proc. of IEEE Vehicular Technology Conference, pp. 3082-3086, May 2008   [12] John Proakis, “Digital Communications”, McGraw Hill, 4th Edition, 2001.   [13] Zogg, A., “Multipath delay spread in a hilly region at 210 MHz”, IEEE Transactions on Vehicular Technology, Vol. 36, n 4, Page(s): 184-187, November 1987   [14] T. S. Rappaport,  Wireless Communications , Prentice Hall, 2002   [15] A. Forenza and R. W. Heath, Jr., “Impact of Antenna Geometry on MIMO Communication in Indoor Clustered Channels, (invited)  Proc. of the IEEE AP - S Intern. Symp ., vol. 2, pp. 1700-1703, June 20-26,2004.   [16] M. L. Morris and M. A. Jensen, “Network Model for MIMO Systems With Coupled Antennas and Noisy Amplifiers”, IEEE TRANS. ON ANTENNAS AND PROPAGATION, VOL. 53, NO. 1, pp. 545-552, January 2005   [17] B. G. Montgomery, “Analog RF-over-fiber technology”, Syntonics LLC, January 2008 http://chesapeakebayaoc.org/documents/Syntonics_AOC_RF_over-Fiber_19_Jan_08.pdf   [18] J. Daniel, “Introduction to public safety: RF signal distribution using fiber optics”, 2009, http://www.rfsolutions.com/fiber.pdf   [19] Syntonics, “FORAX RF-over-fiber communications systems”, http://www.syntonicscorp.com/products/products-foraxRF.html   [20] G. Caire and S. Shamai, “On the achievable throughput of a multiantenna Gaussian broadcast channel,”  IEEE Trans. Info. Th ., vol. 49, pp. 1691-1706, July 2003.   [21] P. Viswanath and D. Tse, “Sum capacity of the vector Gaussian broadcast channel and uplink-downlink duality,”  IEEE Trans. Info. Th ., vol. 49, pp. 1912-1921, August 2003.   [22] S. Vishwanath, N. Jindal, and A. Goldsmith, “Duality, achievable rates, and sum-rate capacity of Gaussian MIMO broadcast channels,”  IEEE Trans. Info. Th.,  vol. 49, pp. 2658-2668, October 2003.   [23] W. Yu and J. Cioffi, “Sum capacity of Gaussian vector broadcast channels,”  IEEE Trans. Info. Th ., vol. 50, pp. 1875-1892, September 2004.   [24] M. Costa, “Writing on dirty paper,”  IEEE Transactions on Information Theory , vol. 29, pp. 439-441, May 1983.[25] M. Bengtsson, “A pragmatic approach to multi-user spatial multiplexing,”  Proc. of Sensor Array and Multichannel Sign. Proc. Workshop , pp. 130-134, August 2002.   [26] K.-K. Wong, R. D. Murch, and K. B. Letaief, “Performance enhancement of multiuser MIMO wireless communication systems,”  IEEE Trans. Comm ., vol. 50, pp. 1960-1970, December 2002.   [27] M. Sharif and B. Hassibi, “On the capacity of MIMO broadcast channel with partial side information,”  IEEE Trans. Info. Th ., vol. 51, pp. 506-522, February 2005.   [28] T. Yoo, N. Jindal, and A. Goldsmith, “Multi-antenna broadcast channels with limited feedback and user selection,”  IEEE Journal on Sel. Areas in Communications , vol. 25, pp. 1478-91, July 2007.   [29] P. Ding, D. J. Love, and M. D. Zoltowski, “On the sum rate of channel subspace feedback for multi-antenna broadcast channels,” in  Proc., IEEE Globecom , vol. 5, pp. 2699-2703, November 2005.   [30] N. Jindal, “MIMO broadcast channels with finite-rate feedback,”  IEEE Trans. on Info. Theory , vol. 52, pp. 5045-60, November 2006.   [31] T. Strohmer, M. Emami, J. Hansen, G. Papanicolaou, A. J. Paulraj, “Application of Time-Reversal with MMSE Equalizer to UWB Communications”, Proc. of IEEE Globecom, vol. 5, pp. 3123-3127, November 2004.   [32] J. Zhang, R. Chen, J. G. Andrews, A. Ghosh, and R. W. Heath, Jr., “Coordinated Multi-cell MIMO Systems with Cellular Block Diagonalization,”  Proc. of the IEEE Asilomar Conf. on Signals, Systems, and Computers , pp. 1669-1673, Pacific Grove, Calif., Nov. 4-7, 2007   [33] J. Zhang, R. Chen, J. G. Andrews, A. Ghosh, and R. W. Heath, Jr., “Networked MIMO with Clustered Linear Precoding,”  IEEE Trans. on Wireless  vol. 8, no. 4, pp. 1910-1921, April 2009.   [34] H. J. Strangeways, “Determination of the correlation distance for spaced antennas on multipath HF links and implications for design of SIMO and MIMO systems,” www.esaspaceweather.net/spweather/workshops/eswwII/proc/Session3/Strange ways HFMIMOposter.pdf   [35] H. J. Strangeways, “Investigation of signal correlation for spaced and co-located antennas on multipath hf links and implications for the design of SIMO and MIMO systems”, IEEE First European Conf. on Antennas and Propagation (EuCAP 2006), Vol., n. 6-10, pp. 1-6, November 2006   [36] N. Abbasi, S. D. Gunashekar, E. M. Warrington, S. Salous, S. Feeney, L. Bertel, D. Lemur and M. Oger, “Capacity estimation of HF-MIMO systems”, International Conference on Ionospheric Systems and Techniques, April 2009   [37] S. Gunashekar, E. M. Warrington, S. Salous, S. M. Feeney, N. M. Abbasi, L. Bertel, D. Lemur, M. Oger, “Investigations into the Feasibility of MIMO Techniques within the HF Band: Preliminary Results”, Radio Science (Special Issue), 2009, (In Press)   

     DISCLOSURE FROM RELATED APPLICATIONS 
       FIG.  1    shows a prior art MIMO system with transmit antennas  104  and receive antennas  105 . Such a system can achieve up to 3× the throughput that would normally be achievable in the available channel. There are a number of different approaches in which to implement the details of such a MIMO system which are described in published literature on the subject, and the following explanation describes one such approach. 
     Before data is transmitted in the MIMO system of  FIG.  1   , the channel is “characterized.” This is accomplished by initially transmitting a “training signal” from each of the transmit antennas  104  to each of the receivers  105 . The training signal is generated by the coding and modulation subsystem  102 , converted to analog by a D/A converter (not shown), and then converted from baseband to RF by each transmitter  103 , in succession. Each receive antenna  105  coupled to its RF Receiver  106  receives each training signal and converts it to baseband. The baseband signal is converted to digital by a D/A converter (not shown), and the signal processing subsystem  107  characterizes the training signal. Each signal&#39;s characterization may include many factors including, for example, phase and amplitude relative to a reference internal to the receiver, an absolute reference, a relative reference, characteristic noise, or other factors. Each signal&#39;s characterization is typically defined as a vector that characterizes phase and amplitude changes of several aspects of the signal when it is transmitted across the channel. For example, in a quadrature amplitude modulation (“QAM”)-modulated signal the characterization might be a vector of the phase and amplitude offsets of several multipath images of the signal. As another example, in an orthogonal frequency division multiplexing (“OFDM”)-modulated signal, it might be a vector of the phase and amplitude offsets of several or all of the individual sub-signals in the OFDM spectrum. 
     The signal processing subsystem  107  stores the channel characterization received by each receiving antenna  105  and corresponding receiver  106 . After all three transmit antennas  104  have completed their training signal transmissions, then the signal processing subsystem  107  will have stored three channel characterizations for each of three receiving antennas  105 , resulting in a 3×3 matrix  108 , designated as the channel characterization matrix, “H.” Each individual matrix element H i,j  is the channel characterization (which is typically a vector, as described above) of the training signal transmission of transmit antenna  104   i  as received by the receive antenna  105   j.    
     At this point, the signal processing subsystem  107  inverts the matrix H  108 , to produce H −1 , and awaits transmission of actual data from transmit antennas  104 . Note that various prior art MIMO techniques described in available literature, can be utilized to ensure that the H matrix  108  can be inverted. 
     In operation, a payload of data to be transmitted is presented to the data Input subsystem  100 . It is then divided up into three parts by splitter  101  prior to being presented to coding and modulation subsystem  102 . For example, if the payload is the ASCII bits for “abcdef,” it might be divided up into three sub-payloads of ASCII bits for “ad,” “be,” and “cf” by Splitter  101 . Then, each of these sub-payloads is presented individually to the coding and modulation subsystem  102 . 
     Each of the sub-payloads is individually coded by using a coding system suitable for both statistical independence of each signal and error correction capability. These include, but are not limited to Reed-Solomon coding, Viterbi coding, and Turbo Codes. Finally, each of the three coded sub-payloads is modulated using an appropriate modulation scheme for the channel. Examples of modulation schemes are differential phase shift key (“DPSK”) modulation, 64-QAM modulation and OFDM. It should be noted here that the diversity gains provided by MIMO allow for higher-order modulation constellations that would otherwise be feasible in a SISO (Single Input-Single Output) system utilizing the same channel. Each coded and modulated signal is then transmitted through its own antenna  104  following D/A conversion by a D/A conversion unit (not shown) and RF generation by each transmitter  103 . 
     Assuming that adequate spatial diversity exists amongst the transmit and receive antennas, each of the receiving antennas  105  will receive a different combination of the three transmitted signals from antennas  104 . Each signal is received and converted down to baseband by each RF receiver  106 , and digitized by an A/D converter (not shown). If y n  is the signal received by the nth receive antenna  105 , and x n  is the signal transmitted by nth transmit antenna  104 , and N is noise, this can be described by the following three equations:
 
 y   1   =x   1   H   11   +x   2   H   12   +x   3   H   13   +N  
 
 y   2   =x   1   H   21   +x   2   H   22   +x   3   H   23   +N  
 
 y   3   =x   1   H   31   +x   2   H   32   +x   3   H   33   +N  
 
     Given that this is a system of three equations with three unknowns, it is a matter of linear algebra for the signal processing subsystem  107  to derive x 1 , x 2 , and x 3  (assuming that N is at a low enough level to permit decoding of the signals):
 
 x   1   =y   1   H   −1   11   +y   2   H   −1   12   +y   3   H   −1   13  
 
 x   2   =y   1   H   −1   21   +y   2   H   −1   22   +y   3   H   −1   23  
 
 x   3   =y   1   H   −1   31   +y   2   H   −1   32   +y   3   H   −1   33  
 
     Once the three transmitted signals x n  are thus derived, they are then demodulated, decoded, and error-corrected by signal processing subsystem  107  to recover the three bit streams that were originally separated out by splitter  101 . These bit streams are combined in combiner unit  108 , and output as a single data stream from the data output  109 . Assuming the robustness of the system is able to overcome the noise impairments, the data output  109  will produce the same bit stream that was introduced to the data Input  100 . 
     Although the prior art system just described is generally practical up to four antennas, and perhaps up to as many as 10, for the reasons described in the Background section of this disclosure, it becomes impractical with large numbers of antennas (e.g. 25, 100, or 1000). 
     Typically, such a prior art system is two-way, and the return path is implemented exactly the same way, but in reverse, with each side of the communications channels having both transmit and receive subsystems. 
       FIG.  2    illustrates one embodiment of the invention in which a Base Station (BS)  200  is configured with a Wide Area Network (WAN) interface (e.g. to the Internet through a T1 or other high speed connection)  201  and is provisioned with a number (N) of antennas  202 . For the time being, we use the term “Base Station” to refer to any wireless station that communicates wirelessly with a set of clients from a fixed location. Examples of Base Stations are access points in wireless local area networks (WLANs) or WAN antenna tower or antenna array. There are a number of Client Devices  203 - 207 , each with a single antenna, which are served wirelessly from the Base Station  200 . Although for the purposes of this example it is easiest to think about such a Base Station as being located in an office environment where it is serving Client Devices  203 - 207  that are wireless-network equipped personal computers, this architecture will apply to a large number of applications, both indoor and outdoor, where a Base Station is serving wireless clients. For example, the Base Station could be based at a cellular phone tower, or on a television broadcast tower. In one embodiment, the Base Station  200  is positioned on the ground and is configured to transmit upward at HF frequencies (e.g., frequencies up to 24 MHz) to bounce signals off the ionosphere as described in co-pending application entitled SYSTEM AND METHOD FOR ENHANCING NEAR VERTICAL INCIDENCE SKYWAVE (“NVIS”) COMMUNICATION USING SPACE-TIME CODING, Ser. No. 10/817,731, Filed Apr. 2, 2004, which is assigned to the assignee of the present application and which is incorporated herein by reference. 
     Certain details associated with the Base Station  200  and Client Devices  203 - 207  set forth above are for the purpose of illustration only and are not required for complying with the underlying principles of the invention. For example, the Base Station may be connected to a variety of different types of wide area networks via WAN interface  201  including application-specific wide area networks such as those used for digital video distribution. Similarly, the Client Devices may be any variety of wireless data processing and/or communication devices including, but not limited to cellular phones, personal digital assistants (“PDAs”), receivers, and wireless cameras. 
     In one embodiment, the Base Station&#39;s n Antennas  202  are separated spatially such that each is transmitting and receiving signals which are not spatially correlated, just as if the Base Station was a prior art MIMO transceiver. As described in the Background, experiments have been done where antennas placed within λ/6 (i.e. ⅙ wavelength) apart successfully achieve an increase in throughput from MIMO, but generally speaking, the further apart these Base Station antennas are placed, the better the system performance, and λ/2 is a desirable minimum. Of course, the underlying principles of the invention are not limited to any particular separation between antennas. 
     Note that a single Base Station  200  may very well have its antennas located very far apart. For example, in the HF spectrum, the antennas may be 10 meters apart or more (e.g., in an NVIS implementation mentioned above). If  100  such antennas are used, the Base Station&#39;s antenna array could well occupy several square kilometers. 
     In addition to spatial diversity techniques, one embodiment of the invention polarizes the signal in order to increase the effective throughput of the system. Increasing channel capacity through polarization is a well known technique which has been employed by satellite television providers for years. Using polarization, it is possible to have multiple (e.g., three) Base Station or users&#39; antennas very close to each other, and still be not spatially correlated. Although conventional RF systems usually will only benefit from the diversity of two dimensions (e.g. x and y) of polarization, the architecture described herein may further benefit from the diversity of three dimensions of polarization (x, y and z). 
     In addition to space and polarization diversity, one embodiment of the invention employs antennas with near-orthogonal radiation patterns to improve link performance via pattern diversity. Pattern diversity can improve the capacity and error-rate performance of MIMO systems and its benefits over other antenna diversity techniques have been shown in the following papers:
     [13] L. Dong, H. Ling, and R. W. Heath Jr., “Multiple-input multiple-output wireless communication systems using antenna pattern diversity,”  Proc. IEEE Glob. Telecom. Conf ., vol. 1, pp. 997-1001, November 2002.   [14] R. Vaughan, “Switched parasitic elements for antenna diversity,”  IEEE Trans. Antennas Propagat ., vol. 47, pp. 399-405, February 1999.   [15] P. Mattheijssen, M. H. A. J. Herben, G. Dolmans, and L. Leyten, “Antenna-pattern diversity versus space diversity for use at handhelds,”  IEEE Trans. on Veh. Technol ., vol. 53, pp. 1035-1042, July 2004.   [16] C. B. Dietrich Jr, K. Dietze, J. R. Nealy, and W. L. Stutzman, “Spatial, polarization, and pattern diversity for wireless handheld terminals,”  Proc. IEEE Antennas and Prop. Symp ., vol. 49, pp. 1271-1281, September 2001.   [17] A. Forenza and R. W. Heath, Jr., “Benefit of Pattern Diversity Via 2-element Array of Circular Patch Antennas in Indoor Clustered MIMO Channels”,  IEEE Trans. on Communications , vol. 54, no. 5, pp. 943-954, May 2006.   

     Using pattern diversity, it is possible to have multiple Base Station or users&#39; antennas very close to each other, and still be not spatially correlated. 
       FIG.  3    provides additional detail of one embodiment of the Base Station  200  and Client Devices  203 - 207  shown in  FIG.  2   . For the purposes of simplicity, the Base Station  300  is shown with only three antennas  305  and only three Client Devices  306 - 308 . It will be noted, however, that the embodiments of the invention described herein may be implemented with a virtually unlimited number of antennas  305  (i.e., limited only by available space and noise) and Client Devices  306 - 308 . 
       FIG.  3    is similar to the prior art MIMO architecture shown in  FIG.  1    in that both have three antennas on each sides of a communication channel. A notable difference is that in the prior art MIMO system the three antennas  105  on the right side of  FIG.  1    are all a fixed distance from one another (e.g., integrated on a single device), and the received signals from each of the antennas  105  are processed together in the Signal Processing subsystem  107 . By contrast, in  FIG.  3   , the three antennas  309  on the right side of the diagram are each coupled to a different Client Device  306 - 308 , each of which may be distributed anywhere within range of the Base Station  305 . As such, the signal that each Client Device receives is processed independently from the other two received signals in its Coding, Modulation, Signal Processing subsystem  311 . Thus, in contrast to a Multiple-Input (i.e. antennas  105 ) Multiple-Output (i.e. antennas  104 ) “MIMO” system,  FIG.  3    illustrates a Multiple Input (i.e. antennas  305 ) Distributed Output (i.e. antennas  305 ) system, referred to hereinafter as a “MIDO” system. 
     Note that this application uses different terminology than previous applications, so as to better conform with academic and industry practices. In previously cited co-pending application, SYSTEM AND METHOD FOR ENHANCING NEAR VERTICAL INCIDENCE SKYWAVE (“NVIS”) COMMUNICATION USING SPACE-TIME CODING, Ser. No. 10/817,731, Filed Apr. 2, 2004, and application Ser. No. 10/902,978 filed Jul. 30, 2004 for which this is application is a continuation-in-part, the meaning of “Input” and “Output” (in the context of SIMO, MISO, DIMO and MIDO) is reversed from how the terms are used in this application. In the prior applications, “Input” referred to the wireless signals as they are input to the receiving antennas (e.g. antennas  309  in  FIG.  3   ), and “Output” referred to the wireless signals as they are output by the transmitting antennas (e.g. antennas  305 ). In academia and the wireless industry, the reverse meaning of “Input” and “Output” is commonly used, in which “Input” refers to the wireless signals as they are input to the channel (i.e. the transmitted wireless signals from antennas  305 ) and “Output” refers to the wireless signals as they are output from the channel (i.e. wireless signals received by antennas  309 ). This application adopts this terminology, which is the reverse of the applications cited previously in this paragraph. Thus, the following terminology equivalences shall be drawn between applications: 
     
       
         
           
               
               
               
             
               
                   
                   
               
               
                   
                 10/817,731 and 10/902,978 
                 Current Application 
               
               
                   
                   
               
             
            
               
                   
                 SIMO =  
                 MISO 
               
               
                   
                 MISO = 
                 SIMO 
               
               
                   
                 DIMO = 
                 MIDO 
               
               
                   
                 MIDO = 
                 DIMO 
               
               
                   
                   
               
            
           
         
       
     
     The MIDO architecture shown in  FIG.  3    achieves a similar capacity increase as MIMO over a SISO system for a given number of transmitting antennas. However, one difference between MIMO and the particular MIDO embodiment illustrated in  FIG.  3    is that, to achieve the capacity increase provided by multiple base station antennas, each MIDO Client Device  306 - 308  requires only a single receiving antenna, whereas with MIMO, each Client Device requires as least as many receiving antennas as the capacity multiple that is hoped to be achieved. Given that there is usually a practical limit to how many antennas can be placed on a Client Device (as explained in the Background), this typically limits MIMO systems to between four to ten antennas (and 4× to 10× capacity multiple). Since the Base Station  300  is typically serving many Client Devices from a fixed and powered location, is it practical to expand it to far more antennas than ten, and to separate the antennas by a suitable distance to achieve spatial diversity. As illustrated, each antenna is equipped with a transceiver  304  and a portion of the processing power of a Coding, Modulation, and Signal Processing section  303 . Significantly, in this embodiment, no matter how much Base Station  300  is expanded, each Client Device  306 - 308  only will require one antenna  309 , so the cost for an individual user Client Device  306 - 308  will be low, and the cost of Base Station  300  can be shared among a large base of users. 
     An example of how a MIDO transmission from the Base Station  300  to the Client Devices  306 - 308  can be accomplished is illustrated in  FIGS.  4  through  6   . 
     In one embodiment of the invention, before a MIDO transmission begins, the channel is characterized. As with a MIMO system, a training signal is transmitted (in the embodiment herein described), one-by-one, by each of the antennas  405 .  FIG.  4    illustrates only the first training signal transmission, but with three antennas  405  there are three separate transmissions in total. Each training signal is generated by the Coding, Modulation, and Signal Processing subsystem  403 , converted to analog through a D/A converter, and transmitted as RF through each RF Transceiver  404 . Various different coding, modulation and signal processing techniques may be employed including, but not limited to, those described above (e.g., Reed Solomon, Viterbi coding; QAM, DPSK, QPSK modulation, . . . etc). 
     Each Client Device  406 - 408  receives a training signal through its antenna  409  and converts the training signal to baseband by Transceiver  410 . An A/D converter (not shown) converts the signal to digital where is it processed by each Coding, Modulation, and Signal Processing subsystem  411 . Signal characterization logic  320  then characterizes the resulting signal (e.g., identifying phase and amplitude distortions as described above) and stores the characterization in memory. This characterization process is similar to that of prior art MIMO systems, with a notable difference being that the each client device only computes the characterization vector for its one antenna, rather than for n antennas. For example, the Coding Modulation and Signal Processing subsystem  420  of client device  406  is initialized with a known pattern of the training signal (either at the time of manufacturing, by receiving it in a transmitted message, or through another initialization process). When antenna  405  transmits the training signal with this known pattern, Coding Modulation and Signal Processing subsystem  420  uses correlation methods to find the strongest received pattern of the training signal, it stores the phase and amplitude offset, then it subtracts this pattern from the received signal. Next, it finds then second strongest received pattern that correlates to the training signal, it stores the phase and amplitude offset, then it subtracts this second strongest pattern from the received signal. This process continues until either some fixed number of phase and amplitude offsets are stored (e.g. eight), or a detectable training signal pattern drops below a given noise floor. This vector of phase/amplitude offsets becomes element H 11  of the vector  413 . Simultaneously, Coding Modulation and Signal Processing subsystems for Client Devices  407  and  408  implement the produce their vector elements H 21  and H 31 . 
     The memory in which the characterization is stored may be a non-volatile memory such as a Flash memory or a hard drive and/or a volatile memory such as a random access memory (e.g., SDRAM, RDAM). Moreover, different Client Devices may concurrently employ different types of memories to store the characterization information (e.g., PDA&#39;s may use Flash memory whereas notebook computers may use a hard drive). The underlying principles of the invention are not limited to any particular type of storage mechanism on the various Client Devices or the Base Station. 
     As mentioned above, depending on the scheme employed, since each Client Device  406 - 408  has only one antenna, each only stores a 1×3 row  413 - 415  of the H matrix.  FIG.  4    illustrates the stage after the first training signal transmission where the first column of 1×3 rows  413 - 415  has been stored with channel characterization information for the first of the three Base Station antennas  405 . The remaining two columns are stored following the channel characterization of the next two training signal transmissions from the remaining two base station antennas. Note that for the sake of illustration the three training signals are transmitted at separate times. If the three training signal patterns are chosen such as not to be correlated to one another, they may be transmitted simultaneously, thereby reducing training time. 
     As indicated in  FIG.  5   , after all three pilot transmissions are complete, each Client Device  506 - 508  transmits back to the Base Station  500  the 1×3 row  513 - 515  of matrix H that it has stored. To the sake of simplicity, only one Client Device  506  is illustrated transmitting its characterization information in  FIG.  5   . An appropriate modulation scheme (e.g. DPSK, 64QAM, OFDM) for the channel combined with adequate error correction coding (e.g. Reed Solomon, Viterbi, and/or Turbo codes) may be employed to make sure that the Base Station  500  receives the data in the rows  513 - 515  accurately. 
     Although all three antennas  505  are shown receiving the signal in  FIG.  5   , it is sufficient for a single antenna and transceiver of the Base Station  500  to receive each 1×3 row  513 - 515  transmission. However, utilizing many or all of antennas  505  and Transceivers  504  to receive each transmission (i.e., utilizing prior art Single-Input Multiple-Output (“SIMO”) processing techniques in the Coding, Modulation and Signal Processing subsystem  503 ) may yield a better signal-to-noise ratio (“SNR”) than utilizing a single antenna  505  and Transceiver  504  under certain conditions. 
     As the Coding, Modulation and Signal Processing subsystem  503  of Base Station  500  receives the 1×3 row  513 - 515 , from each Client Device  507 - 508 , it stores it in a 3×3 H matrix  516 . As with the Client Devices, the Base Station may employ various different storage technologies including, but not limited to non-volatile mass storage memories (e.g., hard drives) and/or volatile memories (e.g., SDRAM) to store the matrix  516 .  FIG.  5    illustrates a stage at which the Base Station  500  has received and stored the 1×3 row  513  from Client Device  509 . The 1×3 rows  514  and  515  may be transmitted and stored in H matrix  516  as they are received from the remaining Client Devices, until the entire H matrix  516  is stored. 
     One embodiment of a MIDO transmission from a Base Station  600  to Client Devices  606 - 608  will now be described with reference to  FIG.  66   . Because each Client Device  606 - 608  is an independent device, typically each device is receiving a different data transmission. As such, one embodiment of a Base Station  600  includes a Router  602  communicatively positioned between the WAN Interface  601  and the Coding, Modulation and Signal Processing subsystem  603  that sources multiple data streams (formatted into bit streams) from the WAN interface  601  and routes them as separate bit streams u 1 -u 3  intended for each Client Device  606 - 608 , respectively. Various well known routing techniques may be employed by the router  602  for this purpose. 
     The three bit streams, u 1 -u 3 , shown in  FIG.  6    are then routed into the Coding, Modulation and Signal Processing subsystem  603  and coded into statistically distinct, error correcting streams (e.g. using Reed Solomon, Viterbi, or Turbo Codes) and modulated using an appropriate modulation scheme for the channel (such as DPSK, 64QAM or OFDM). In addition, the embodiment illustrated in  FIG.  6    includes signal precoding logic  630  for uniquely coding the signals transmitted from each of the antennas  605  based on the signal characterization matrix  616 . More specifically, rather than routing each of the three coded and modulated bit streams to a separate antenna (as is done in  FIG.  1   ), in one embodiment, the precoding logic  630  multiplies the three bit streams u 1 -u 3  in  FIG.  6    by the inverse of the H matrix  616 , producing three new bit streams, u′ 1 -u′ 3 . The three precoded bit streams are then converted to analog by D/A converters (not shown) and transmitted as RF by Transceivers  604  and antennas  605 . 
     Before explaining how the bit streams are received by the Client Devices  606 - 608 , the operations performed by the precoding module  630  will be described. Similar to the MIMO example from  FIG.  1    above, the coded and modulated signal for each of the three source bit streams will be designated with u n . In the embodiment illustrated in  FIG.  6   , each u i  contains the data from one of the three bit streams routed by the Router  602 , and each such bit stream is intended for one of the three Client Devices  606 - 608 . 
     However, unlike the MIMO example of  FIG.  1   , where each x i  is transmitted by each antenna  104 , in the embodiment of the invention illustrated in  FIG.  6   , each u i  is received at each Client Device antenna  609  (plus whatever noise N there is in the channel). To achieve this result, the output of each of the three antennas  605  (each of which we will designate as v i ) is a function of u i  and the H matrix that characterizes the channel for each Client Device. In one embodiment, each v i  is calculated by the precoding logic  630  within the Coding, Modulation and Signal Processing subsystem  603  by implementing the following formulas:
 
 v   1   =u   1   H   −1   11   +u   2   H   −1   12   +u   3   H   −1   13  
 
 v   2   =u   1   H   −1   21   +u   2   H   −1   22   +u   3   H   −1   23  
 
 v   3   =u   1   H   −1   31   +u   2   H   −1   32   +u   3   H   −1   33  
 
     Thus, unlike MIMO, where each x i  is calculated at the receiver after the signals have been transformed by the channel, the embodiments of the invention described herein solve for each v i  at the transmitter before the signals have been transformed by the channel. Each antenna  609  receives u i  already separated from the other u n−1  bit streams intended for the other antennas  609 . Each Transceiver  610  converts each received signal to baseband, where it is digitized by an A/D converter (now shown), and each Coding, Modulation and Signal Processing subsystem  611 , demodulates and decodes the x i  bit stream intended for it, and sends its bit stream to a Data Interface  612  to be used by the Client Device (e.g., by an application on the client device). 
     The embodiments of the invention described herein may be implemented using a variety of different coding and modulation schemes. For example, in an OFDM implementation, where the frequency spectrum is separated into a plurality of sub-bands, the techniques described herein may be employed to characterize each individual sub-band. As mentioned above, however, the underlying principles of the invention are not limited to any particular modulation scheme. 
     If the Client Devices  606 - 608  are portable data processing devices such as PDAs, notebook computers, and/or wireless telephones the channel characterization may change frequently as the Client Devices may move from one location to another. As such, in one embodiment of the invention, the channel characterization matrix  616  at the Base Station is continually updated. In one embodiment, the Base Station  600  periodically (e.g., every 250 milliseconds) sends out a new training signal to each Client Device, and each Client Device continually transmits its channel characterization vector back to the Base Station  600  to ensure that the channel characterization remains accurate (e.g. if the environment changes so as to affect the channel or if a Client Device moves). In one embodiment, the training signal is interleaved within the actual data signal sent to each client device. Typically, the training signals are much lower throughput than the data signals, so this would have little impact on the overall throughput of the system. Accordingly, in this embodiment, the channel characterization matrix  616  may be updated continuously as the Base Station actively communicates with each Client Device, thereby maintaining an accurate channel characterization as the Client Devices move from one location to the next or if the environment changes so as to affect the channel. 
     One embodiment of the invention illustrated in  FIG.  7    employs MIMO techniques to improve the upstream communication channel (i.e., the channel from the Client Devices  706 - 708  to the Base Station  700 ). In this embodiment, the channel from each of the Client Devices is continually analyzed and characterized by upstream channel characterization logic  741  within the Base Station. More specifically, each of the Client Devices  706 - 708  transmits a training signal to the Base Station  700  which the channel characterization logic  741  analyzes (e.g., as in a typical MIMO system) to generate an N×M channel characterization matrix  741 , where N is the number of Client Devices and M is the number of antennas employed by the Base Station. The embodiment illustrated in  FIG.  7    employs three antennas  705  at the Base Station and three Client Devices  706 - 608 , resulting in a 3×3 channel characterization matrix  741  stored at the Base Station  700 . The MIMO upstream transmission illustrated in  FIG.  7    may be used by the Client Devices both for transmitting data back to the Base Station  700 , and for transmitting channel characterization vectors back to the Base Station  700  as illustrated in  FIG.  5   . But unlike the embodiment illustrated in  FIG.  5    in which each Client Device&#39;s channel characterization vector is transmitted at a separate time, the method shown in  FIG.  7    allows for the simultaneous transmission of channel characterization vectors from multiple Client Devices back to the Base Station  700 , thereby dramatically reducing the channel characterization vectors&#39; impact on return channel throughput. 
     As mentioned above, each signal&#39;s characterization may include many factors including, for example, phase and amplitude relative to a reference internal to the receiver, an absolute reference, a relative reference, characteristic noise, or other factors. For example, in a quadrature amplitude modulation (“QAM”)-modulated signal the characterization might be a vector of the phase and amplitude offsets of several multipath images of the signal. As another example, in an orthogonal frequency division multiplexing (“OFDM”)-modulated signal, it might be a vector of the phase and amplitude offsets of several or all of the individual sub-signals in the OFDM spectrum. The training signal may be generated by each Client Device&#39;s coding and modulation subsystem  711 , converted to analog by a D/A converter (not shown), and then converted from baseband to RF by each Client Device&#39;s transmitter  709 . In one embodiment, in order to ensure that the training signals are synchronized, Client Devices only transmit training signals when requested by the Base Station (e.g., in a round robin manner). In addition, training signals may be interleaved within or transmitted concurrently with the actual data signal sent from each client device. Thus, even if the Client Devices  706 - 708  are mobile, the training signals may be continuously transmitted and analyzed by the upstream channel characterization logic  741 , thereby ensuring that the channel characterization matrix  741  remains up-to-date. 
     The total channel capacity supported by the foregoing embodiments of the invention may be defined as min (N, M) where M is the number of Client Devices and N is the number of Base Station antennas. That is, the capacity is limited by the number of antennas on either the Base Station side or the Client side. As such, one embodiment of the invention employs synchronization techniques to ensure that no more than min (N, M) antennas are transmitting/receiving at a given time. 
     In a typical scenario, the number of antennas  705  on the Base Station  700  will be less than the number of Client Devices  706 - 708 . An exemplary scenario is illustrated in  FIG.  8    which shows five Client Devices  804 - 808  communicating with a base station having three antennas  802 . In this embodiment, after determining the total number of Client Devices  804 - 808 , and collecting the necessary channel characterization information (e.g., as described above), the Base Station  800  chooses a first group of three clients  810  with which to communicate (three clients in the example because min (N, M)=3). After communicating with the first group of clients  810  for a designated period of time, the Base Station then selects another group of three clients  811  with which to communicate. To distribute the communication channel evenly, the Base Station  800  selects the two Client Devices  807 ,  808  which were not included in the first group. In addition, because an extra antenna is available, the Base Station  800  selects an additional client device  806  included in the first group. In one embodiment, the Base Station  800  cycles between groups of clients in this manner such that each client is effectively allocated the same amount of throughput over time. For example, to allocate throughput evenly, the Base Station may subsequently select any combination of three Client Devices which excludes Client Device  806  (i.e., because Client Device  806  was engaged in communication with the Base Station for the first two cycles). 
     In one embodiment, in addition to standard data communications, the Base Station may employ the foregoing techniques to transmit training signals to each of the Client Devices and receive training signals and signal characterization data from each of the Client Devices. 
     In one embodiment, certain Client Devices or groups of client devices may be allocated different levels of throughput. For example, Client Devices may be prioritized such that relatively higher priority Client Devices may be guaranteed more communication cycles (i.e., more throughput) than relatively lower priority client devices. The “priority” of a Client Device may be selected based on a number of variables including, for example, the designated level of a user&#39;s subscription to the wireless service (e.g., user&#39;s may be willing to pay more for additional throughput) and/or the type of data being communicated to/from the Client Device (e.g., real-time communication such as telephony audio and video may take priority over non-real time communication such as email). 
     In one embodiment of the Base Station dynamically allocates throughput based on the Current Load required by each Client Device. For example, if Client Device  804  is streaming live video and the other devices  805 - 808  are performing non-real time functions such as email, then the Base Station  800  may allocate relatively more throughput to this client  804 . It should be noted, however, that the underlying principles of the invention are not limited to any particular throughput allocation technique. 
     As illustrated in  FIG.  9   , two Client Devices  907 ,  908  may be so close in proximity, that the channel characterization for the clients is effectively the same. As a result, the Base Station will receive and store effectively equivalent channel characterization vectors for the two Client Devices  907 ,  908  and therefore will not be able to create unique, spatially distributed signals for each Client Device. Accordingly, in one embodiment, the Base Station will ensure that any two or more Client Devices which are in close proximity to one another are allocated to different groups. In  FIG.  9   , for example, the Base Station  900  first communicates with a first group  910  of Client Devices  904 ,  905  and  908 ; and then with a second group  911  of Client Devices  905 ,  906 ,  907 , ensuring that Client Devices  907  and  908  are in different groups. 
     Alternatively, in one embodiment, the Base Station  900  communicates with both Client Devices  907  and  908  concurrently, but multiplexes the communication channel using known channel multiplexing techniques. For example, the Base Station may employ time division multiplexing (“TDM”), frequency division multiplexing (“FDM”) or code division multiple access (“CDMA”) techniques to divide the single, spatially-correlated signal between Client Devices  907  and  908 . 
     Although each Client Device described above is equipped with a single antenna, the underlying principles of the invention may be employed using Client Devices with multiple antennas to increase throughput. For example, when used on the wireless systems described above, a client with 2 antennas will realize a 2× increase in throughput, a client with 3 antennas will realize a 3× increase in throughput, and so on (i.e., assuming that the spatial and angular separation between the antennas is sufficient). The Base Station may apply the same general rules when cycling through Client Devices with multiple antennas. For example, it may treat each antenna as a separate client and allocate throughput to that “client” as it would any other client (e.g., ensuring that each client is provided with an adequate or equivalent period of communication). 
     As mentioned above, one embodiment of the invention employs the MIDO and/or MIMO signal transmission techniques described above to increase the signal-to-noise ratio and throughput within a Near Vertical Incidence Skywave (“NVIS”) system. Referring to  FIG.  10   , in one embodiment of the invention, a first NVIS station  1001  equipped with a matrix of N antennas  1002  is configured to communicate with M client devices  1004 . The NVIS antennas  1002  and antennas of the various client devices  1004  transmit signals upward to within about 15 degrees of vertical in order to achieve the desired NVIS and minimize ground wave interference effects. In one embodiment, the antennas  1002  and client devices  1004 , support multiple independent data streams  1006  using the various MIDO and MIMO techniques described above at a designated frequency within the NVIS spectrum (e.g., at a carrier frequency at or below 23 MHz, but typically below 10 MHz), thereby significantly increasing the throughput at the designated frequency (i.e., by a factor proportional to the number of statistically independent data streams). 
     The NVIS antennas serving a given station may be physically very far apart from each other. Given the long wavelengths below 10 MHz and the long distance traveled for the signals (as much as 300 miles round trip), physical separation of the antennas by 100s of yards, and even miles, can provide advantages in diversity. In such situations, the individual antenna signals may be brought back to a centralized location to be processed using conventional wired or wireless communications systems. Alternatively, each antenna can have a local facility to process its signals, then use conventional wired or wireless communications systems to communicate the data back to a centralized location. In one embodiment of the invention, NVIS Station  1001  has a broadband link  1015  to the Internet  1010  (or other wide area network), thereby providing the client devices  1003  with remote, high speed, wireless network access. 
     In one embodiment, the Base Station and/or users may exploit polarization/pattern diversity techniques described above to reduce the array size and/or users&#39; distance while providing diversity and increased throughput. As an example, in MIDO systems with HF transmissions, the users may be in the same location and yet their signals be uncorrelated because of polarization/pattern diversity. In particular, by using pattern diversity, one user may be communicating to the Base Station via groundwave whereas the other user via NVIS. 
     ADDITIONAL EMBODIMENTS OF THE INVENTION 
     DIDO-OFDM Precoding with I/Q Imbalance 
     One embodiment of the invention employs a system and method to compensate for in-phase and quadrature (I/Q) imbalance in distributed-input distributed-output (DIDO) systems with orthogonal frequency division multiplexing (OFDM). Briefly, according to this embodiment, user devices estimate the channel and feedback this information to the Base Station; the Base Station computes the precoding matrix to cancel inter-carrier and inter-user interference caused by I/Q imbalance; and parallel data streams are transmitted to multiple user devices via DIDO precoding; the user devices demodulate data via zero-forcing (ZF), minimum mean-square error (MMSE) or maximum likelihood (ML) receiver to suppress residual interference. 
     As described in detail below, some of the significant features of this embodiment of the invention include, but are not limited to: 
     Precoding to cancel inter-carrier interference (ICI) from mirror tones (due to I/Q mismatch) in OFDM systems; 
     Precoding to cancel inter-user interference and ICI (due to I/Q mismatch) in DIDO-OFDM systems; 
     Techniques to cancel ICI (due to I/Q mismatch) via ZF receiver in DIDO-OFDM systems employing block diagonalization (BD) precoder; 
     Techniques to cancel inter-user interference and ICI (due to I/Q mismatch) via precoding (at the transmitter) and a ZF or MMSE filter (at the receiver) in DIDO-OFDM systems; 
     Techniques to cancel inter-user interference and ICI (due to I/Q mismatch) via pre-coding (at the transmitter) and a nonlinear detector like a maximum likelihood (ML) detector (at the receiver) in DIDO-OFDM systems; 
     The use of pre-coding based on channel state information to cancel inter-carrier interference (ICI) from mirror tones (due to I/Q mismatch) in OFDM systems; 
     The use of pre-coding based on channel state information to cancel inter-carrier interference (ICI) from mirror tones (due to I/Q mismatch) in DIDO-OFDM systems; 
     The use of an I/Q mismatch aware DIDO precoder at the station and an IQ-aware DIDO receiver at the user terminal; 
     The use of an I/Q mismatch aware DIDO precoder at the station, an I/Q aware DIDO receiver at the user terminal, and an I/Q aware channel estimator; 
     The use of an I/Q mismatch aware DIDO precoder at the station, an I/Q aware DIDO receiver at the user terminal, an I/Q aware channel estimator, and an I/Q aware DIDO feedback generator that sends channel state information from the user terminal to the station; 
     The use of an I/Q mismatch-aware DIDO precoder at the station and an I/Q aware DIDO configurator that uses I/Q channel information to perform functions including user selection, adaptive coding and modulation, space-time-frequency mapping, or precoder selection; 
     The use of an I/Q aware DIDO receiver that cancels ICI (due to I/Q mismatch) via ZF receiver in DIDO-OFDM systems employing block diagonalization (BD) precoder; 
     The use of an I/Q aware DIDO receiver that cancels ICI (due to I/Q mismatch) via pre-coding (at the transmitter) and a nonlinear detector like a maximum likelihood detector (at the receiver) in DIDO-OFDM systems; and 
     The use of an I/Q aware DIDO receiver that cancels ICI (due to I/Q mismatch) via ZF or MMSE filter in DIDO-OFDM systems. 
     a. Background 
     The transmit and receive signals of typical wireless communication systems consist of in-phase and quadrature (I/Q) components. In practical systems, the inphase and quadrature components may be distorted due to imperfections in the mixing and baseband operations. These distortions manifest as I/Q phase, gain and delay mismatch. Phase imbalance is caused by the sine and cosine in the modulator/demodulator not being perfectly orthogonal. Gain imbalance is caused by different amplifications between the inphase and quadrature components. There may be an additional distortion, called delay imbalance, due to difference in delays between the I- and Q-rails in the analog circuitry. 
     In orthogonal frequency division multiplexing (OFDM) systems, I/Q imbalance causes inter-carrier interference (ICI) from the mirror tones. This effect has been studied in the literature and methods to compensate for I/Q mismatch in single-input single-output SISO-OFDM systems have been proposed in M. D. Benedetto and P. Mandarini, “Analysis of the effect of the I/Q baseband filter mismatch in an OFDM modem,” Wireless personal communications, pp. 175-186, 2000; S. Schuchert and R. Hasholzner, “A novel I/Q imbalance compensation scheme for the reception of OFDM signals,” IEEE Transaction on Consumer Electronics, August 2001; M. Valkama, M. Renfors, and V. Koivunen, “Advanced methods for I/Q imbalance compensation in communication receivers,” IEEE Trans. Sig. Proc., October 2001; R. Rao and B. Daneshrad, “Analysis of I/Q mismatch and a cancellation scheme for OFDM systems,” IST Mobile Communication Summit, June 2004; A. Tarighat, R. Bagheri, and A. H. Sayed, “Compensation schemes and performance analysis of IQ imbalances in OFDM receivers,” Signal Processing, IEEE Transactions on [see also Acoustics, Speech, and Signal Processing, IEEE Transactions on], vol. 53, pp. 3257-3268, August 2005. 
     An extension of this work to multiple-input multiple-output MIMO-OFDM systems was presented in R. Rao and B. Daneshrad, “I/Q mismatch cancellation for MIMO OFDM systems,” in Personal, Indoor and Mobile Radio Communications, 2004; PIMRC 2004. 15th IEEE International Symposium on, vol. 4, 2004, pp. 2710-2714. R. M. Rao, W. Zhu, S. Lang, C. Oberli, D. Browne, J. Bhatia, J. F. Frigon, J. Wang, P; Gupta, H. Lee, D. N. Liu, S. G. Wong, M. Fitz, B. Daneshrad, and O. Takeshita, “Multiantenna testbeds for research and education in wireless communications,” IEEE Communications Magazine, vol. 42, no. 12, pp. 72-81, December 2004; S. Lang, M. R. Rao, and B. Daneshrad, “Design and development of a 5.25 GHz software defined wireless OFDM communication platform,” IEEE Communications Magazine, vol. 42, no. 6, pp. 6-12, June 2004, for spatial multiplexing (SM) and in A. Tarighat and A. H. Sayed, “MIMO OFDM receivers for systems with IQ imbalances,” IEEE Trans. Sig. Proc., vol. 53, pp. 3583-3596, September 2005, for orthogonal space-time block codes (OSTBC). 
     Unfortunately, there is currently no literature on how to correct for I/Q gain and phase imbalance errors in a distributed-input distributed-output (DIDO) communication system. The embodiments of the invention described below provide a solution to these problems. 
     DIDO systems consist of one Base Station with distributed antennas that transmits parallel data streams (via pre-coding) to multiple users to enhance downlink throughput, while exploiting the same wireless resources (i.e., same slot duration and frequency band) as conventional SISO systems. A detailed description of DIDO systems was presented in S. G. Perlman and T. Cotter, “System and Method for Distributed Input-Distributed Output Wireless Communications,” Ser. No. 10/902,978, filed Jul. 30, 2004 (“Prior Application”), which is assigned to the assignee of the present application and which is incorporated herein by reference. 
     There are many ways to implement DIDO precoders. One solution is block diagonalization (BD) described in Q. H. Spencer, A. L. Swindlehurst, and M. Haardt, “Zero forcing methods for downlink spatial multiplexing in multiuser MIMO channels,” IEEE Trans. Sig. Proc., vol. 52, pp. 461-471, February 2004. K. K. Wong, R. D. Murch, and K. B. Letaief, “A joint channel diagonalization for multiuser MIMO antenna systems,” IEEE Trans. Wireless Comm., vol. 2, pp. 773-786, July 2003; L. U. Choi and R. D. Murch, “Δtransmit preprocessing technique for multiuser MIMO systems using a decomposition approach,” IEEE Trans. Wireless Comm., vol. 3, pp. 20-24, January 2004; Z. Shen, J. G. Andrews, R. W. Heath, and B. L. Evans, “Low complexity user selection algorithms for multiuser MIMO systems with block diagonalization,” accepted for publication in IEEE Trans. Sig. Proc., September 2005; Z. Shen, R. Chen, J. G. Andrews, R. W. Heath, and B. L. Evans, “Sum capacity of multiuser MIMO broadcast channels with block diagonalization,” submitted to IEEE Trans. Wireless Comm., October 2005; R. Chen, R. W. Heath, and J. G. Andrews, “Transmit selection diversity for unitary precoded multiuser spatial multiplexing systems with linear receivers,” accepted to IEEE Trans. on Signal Processing, 2005. The methods for I/Q compensation presented in this document assume BD precoder, but can be extended to any type of DIDO precoder. 
     In DIDO-OFDM systems, I/Q mismatch causes two effects: ICI and inter-user interference. The former is due to interference from the mirror tones as in SISO-OFDM systems. The latter is due to the fact that I/Q mismatch destroys the orthogonality of the DIDO precoder yielding interference across users. Both of these types of interference can be cancelled at the transmitter and receiver through the methods described herein. Three methods for I/Q compensation in DIDO-OFDM systems are described and their performance is compared against systems with and without I/Q mismatch. Results are presented based both on simulations and practical measurements carried out with the DIDO-OFDM prototype. 
     The present embodiments are an extension of the Prior Application. In particular, these embodiments relate to the following features of the Prior Application: 
     The system as described in the prior application, where the I/Q rails are affected by gain and phase imbalance; 
     The training signals employed for channel estimation are used to calculate the DIDO precoder with I/Q compensation at the transmitter; and 
     The signal characterization data accounts for distortion due to I/Q imbalance and is used at the transmitter to compute the DIDO precoder according to the method proposed in this document. 
     b. Embodiments of the Invention 
     First, the mathematical model and framework of the invention will be described. 
     Before presenting the solution, it is useful to explain the core mathematical concept. We explain it assuming I/Q gain and phase imbalance (phase delay is not included in the description but is dealt with automatically in the DIDO-OFDM version of the algorithm). To explain the basic idea, suppose that we want to multiply two complex numbers s=s I +js Q  and h=h I +jh Q  and let x=h*s. We use the subscripts to denote inphase and quadrature components. Recall that
 
 x   I   =s   I   h   I   −s   Q   h   Q  
 
and
 
 x   Q   =s   I   h   Q   +s   Q   h   I .
 
     In matrix form this can be rewritten as 
     
       
         
           
             
               [ 
               
                 
                   
                     
                       x 
                       I 
                     
                   
                 
                 
                   
                     
                       x 
                       Q 
                     
                   
                 
               
               ] 
             
             = 
             
               
                 
                   [ 
                   
                     
                       
                         
                           h 
                           I 
                         
                       
                       
                         
                           - 
                           
                             h 
                             Q 
                           
                         
                       
                     
                     
                       
                         
                           h 
                           Q 
                         
                       
                       
                         
                           h 
                           I 
                         
                       
                     
                   
                   ] 
                 
                 [ 
                 
                   
                     
                       
                         S 
                         I 
                       
                     
                   
                   
                     
                       
                         S 
                         Q 
                       
                     
                   
                 
                 ] 
               
               . 
             
           
         
       
     
     Note the unitary transformation by the channel matrix (H). Now suppose that s is the transmitted symbol and h is the channel. The presence of I/Q gain and phase imbalance can be modeled by creating a non-unitary transformation as follows 
     
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           
                             x 
                             I 
                           
                         
                       
                       
                         
                           
                             x 
                             Q 
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 h 
                                 
                                   1 
                                   ⁢ 
                                   1 
                                 
                               
                             
                             
                               
                                 h 
                                 
                                   1 
                                   ⁢ 
                                   2 
                                 
                               
                             
                           
                           
                             
                               
                                 h 
                                 
                                   2 
                                   ⁢ 
                                   1 
                                 
                               
                             
                             
                               
                                 h 
                                 
                                   2 
                                   ⁢ 
                                   2 
                                 
                               
                             
                           
                         
                         ] 
                       
                       [ 
                       
                         
                           
                             
                               S 
                               I 
                             
                           
                         
                         
                           
                             
                               S 
                               Q 
                             
                           
                         
                       
                       ] 
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   A 
                   ) 
                 
               
             
           
         
       
     
     The trick is to recognize that it is possible to write 
     
       
         
           
             
               [ 
               
                 
                   
                     
                       h 
                       
                         1 
                         ⁢ 
                         1 
                       
                     
                   
                   
                     
                       h 
                       12 
                     
                   
                 
                 
                   
                     
                       h 
                       
                         2 
                         ⁢ 
                         1 
                       
                     
                   
                   
                     
                       h 
                       
                         2 
                         ⁢ 
                         2 
                       
                     
                   
                 
               
               ] 
             
             = 
             
               
                 
                   
                     1 
                     2 
                   
                   [ 
                   
                     
                       
                         
                           
                             h 
                             
                               1 
                               ⁢ 
                               1 
                             
                           
                           + 
                           
                             h 
                             
                               2 
                               ⁢ 
                               2 
                             
                           
                         
                       
                       
                         
                           
                             h 
                             
                               1 
                               ⁢ 
                               2 
                             
                           
                           - 
                           
                             h 
                             
                               2 
                               ⁢ 
                               1 
                             
                           
                         
                       
                     
                     
                       
                         
                           - 
                           
                             ( 
                             
                               
                                 h 
                                 
                                   1 
                                   ⁢ 
                                   2 
                                 
                               
                               - 
                               
                                 h 
                                 
                                   2 
                                   ⁢ 
                                   1 
                                 
                               
                             
                             ) 
                           
                         
                       
                       
                         
                           
                             h 
                             
                               1 
                               ⁢ 
                               1 
                             
                           
                           + 
                           
                             h 
                             
                               2 
                               ⁢ 
                               2 
                             
                           
                         
                       
                     
                   
                   ] 
                 
                 + 
                 
                   
                     1 
                     2 
                   
                   [ 
                   
                     
                       
                         
                           
                             h 
                             
                               1 
                               ⁢ 
                               1 
                             
                           
                           - 
                           
                             h 
                             
                               2 
                               ⁢ 
                               2 
                             
                           
                         
                       
                       
                         
                           
                             h 
                             
                               1 
                               ⁢ 
                               2 
                             
                           
                           + 
                           
                             h 
                             
                               2 
                               ⁢ 
                               1 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             h 
                             
                               1 
                               ⁢ 
                               2 
                             
                           
                           + 
                           
                             h 
                             
                               2 
                               ⁢ 
                               1 
                             
                           
                         
                       
                       
                         
                           
                             h 
                             
                               2 
                               ⁢ 
                               2 
                             
                           
                           - 
                           
                             h 
                             
                               1 
                               ⁢ 
                               1 
                             
                           
                         
                       
                     
                   
                   ] 
                 
               
               = 
               
                 
                   
                     1 
                     2 
                   
                   [ 
                   
                     
                       
                         
                           
                             h 
                             
                               1 
                               ⁢ 
                               1 
                             
                           
                           + 
                           
                             h 
                             
                               2 
                               ⁢ 
                               2 
                             
                           
                         
                       
                       
                         
                           
                             h 
                             
                               1 
                               ⁢ 
                               2 
                             
                           
                           - 
                           
                             h 
                             
                               2 
                               ⁢ 
                               1 
                             
                           
                         
                       
                     
                     
                       
                         
                           - 
                           
                             ( 
                             
                               
                                 h 
                                 
                                   1 
                                   ⁢ 
                                   2 
                                 
                               
                               - 
                               
                                 h 
                                 
                                   2 
                                   ⁢ 
                                   1 
                                 
                               
                             
                             ) 
                           
                         
                       
                       
                         
                           
                             h 
                             
                               1 
                               ⁢ 
                               1 
                             
                           
                           + 
                           
                             h 
                             
                               2 
                               ⁢ 
                               2 
                             
                           
                         
                       
                     
                   
                   ] 
                 
                 + 
                 
                   
                     
                       
                         1 
                         2 
                       
                       [ 
                       
                         
                           
                             
                               
                                 h 
                                 
                                   1 
                                   ⁢ 
                                   1 
                                 
                               
                               - 
                               
                                 h 
                                 
                                   2 
                                   ⁢ 
                                   2 
                                 
                               
                             
                           
                           
                             
                               - 
                               
                                 ( 
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       2 
                                     
                                   
                                   + 
                                   
                                     h 
                                     
                                       2 
                                       ⁢ 
                                       1 
                                     
                                   
                                 
                                 ) 
                               
                             
                           
                         
                         
                           
                             
                               
                                 h 
                                 
                                   1 
                                   ⁢ 
                                   2 
                                 
                               
                               + 
                               
                                 h 
                                 
                                   2 
                                   ⁢ 
                                   1 
                                 
                               
                             
                           
                           
                             
                               
                                 h 
                                 
                                   1 
                                   ⁢ 
                                   1 
                                 
                               
                               - 
                               
                                 h 
                                 
                                   2 
                                   ⁢ 
                                   2 
                                 
                               
                             
                           
                         
                       
                       ] 
                     
                     [ 
                     
                       
                         
                           1 
                         
                         
                           0 
                         
                       
                       
                         
                           0 
                         
                         
                           
                             - 
                             1 
                           
                         
                       
                     
                     ] 
                   
                   . 
                 
               
             
           
         
       
     
     Now, rewriting (A) 
     
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           
                             x 
                             I 
                           
                         
                       
                       
                         
                           
                             x 
                             Q 
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       
                         
                           
                             1 
                             2 
                           
                           [ 
                           
                             
                               
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       1 
                                     
                                   
                                   + 
                                   
                                     h 
                                     
                                       2 
                                       ⁢ 
                                       2 
                                     
                                   
                                 
                               
                               
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       2 
                                     
                                   
                                   - 
                                   
                                     h 
                                     
                                       2 
                                       ⁢ 
                                       1 
                                     
                                   
                                 
                               
                             
                             
                               
                                 
                                   - 
                                   
                                     ( 
                                     
                                       
                                         h 
                                         
                                           1 
                                           ⁢ 
                                           2 
                                         
                                       
                                       - 
                                       
                                         h 
                                         
                                           2 
                                           ⁢ 
                                           1 
                                         
                                       
                                     
                                     ) 
                                   
                                 
                               
                               
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       1 
                                     
                                   
                                   + 
                                   
                                     h 
                                     
                                       2 
                                       ⁢ 
                                       2 
                                     
                                   
                                 
                               
                             
                           
                           ] 
                         
                         [ 
                         
                           
                             
                               
                                 S 
                                 I 
                               
                             
                           
                           
                             
                               
                                 S 
                                 Q 
                               
                             
                           
                         
                         ] 
                       
                       + 
                       
                         
                           
                             
                               1 
                               2 
                             
                             [ 
                             
                               
                                 
                                   
                                     
                                       h 
                                       
                                         1 
                                         ⁢ 
                                         1 
                                       
                                     
                                     - 
                                     
                                       h 
                                       
                                         2 
                                         ⁢ 
                                         2 
                                       
                                     
                                   
                                 
                                 
                                   
                                     - 
                                     
                                       ( 
                                       
                                         
                                           h 
                                           
                                             1 
                                             ⁢ 
                                             2 
                                           
                                         
                                         + 
                                         
                                           h 
                                           
                                             
                                               2 
                                               ⁢ 
                                               1 
                                             
                                             ) 
                                           
                                         
                                       
                                     
                                   
                                 
                               
                               
                                 
                                   
                                     
                                       h 
                                       
                                         1 
                                         ⁢ 
                                         2 
                                       
                                     
                                     + 
                                     
                                       h 
                                       
                                         2 
                                         ⁢ 
                                         1 
                                       
                                     
                                   
                                 
                                 
                                   
                                     
                                       h 
                                       
                                         1 
                                         ⁢ 
                                         1 
                                       
                                     
                                     - 
                                     
                                       h 
                                       
                                         2 
                                         ⁢ 
                                         2 
                                       
                                     
                                   
                                 
                               
                             
                             ] 
                           
                           [ 
                           
                             
                               
                                 1 
                               
                               
                                 0 
                               
                             
                             
                               
                                 0 
                               
                               
                                 
                                   - 
                                   1 
                                 
                               
                             
                           
                           ] 
                         
                         [ 
                         
                           
                             
                               
                                 S 
                                 I 
                               
                             
                           
                           
                             
                               
                                 S 
                                 Q 
                               
                             
                           
                         
                         ] 
                       
                     
                     = 
                     
                       
                         
                           
                             1 
                             2 
                           
                           [ 
                           
                             
                               
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       1 
                                     
                                   
                                   + 
                                   
                                     h 
                                     
                                       2 
                                       ⁢ 
                                       2 
                                     
                                   
                                 
                               
                               
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       2 
                                     
                                   
                                   - 
                                   
                                     h 
                                     21 
                                   
                                 
                               
                             
                             
                               
                                 
                                   - 
                                   
                                     ( 
                                     
                                       
                                         h 
                                         
                                           1 
                                           ⁢ 
                                           2 
                                         
                                       
                                       - 
                                       
                                         h 
                                         
                                           2 
                                           ⁢ 
                                           1 
                                         
                                       
                                     
                                     ) 
                                   
                                 
                               
                               
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       1 
                                     
                                   
                                   + 
                                   
                                     h 
                                     
                                       2 
                                       ⁢ 
                                       2 
                                     
                                   
                                 
                               
                             
                           
                           ] 
                         
                         [ 
                         
                           
                             
                               
                                 S 
                                 I 
                               
                             
                           
                           
                             
                               
                                 S 
                                 Q 
                               
                             
                           
                         
                         ] 
                       
                       + 
                       
                         
                           
                             1 
                             2 
                           
                           [ 
                           
                             
                               
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       1 
                                     
                                   
                                   - 
                                   
                                     h 
                                     
                                       2 
                                       ⁢ 
                                       2 
                                     
                                   
                                 
                               
                               
                                 
                                   - 
                                   
                                     ( 
                                     
                                       
                                         h 
                                         
                                           1 
                                           ⁢ 
                                           2 
                                         
                                       
                                       + 
                                       
                                         h 
                                         
                                           2 
                                           ⁢ 
                                           1 
                                         
                                       
                                     
                                     ) 
                                   
                                 
                               
                             
                             
                               
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       2 
                                     
                                   
                                   + 
                                   
                                     h 
                                     
                                       2 
                                       ⁢ 
                                       1 
                                     
                                   
                                 
                               
                               
                                 
                                   
                                     h 
                                     
                                       1 
                                       ⁢ 
                                       1 
                                     
                                   
                                   - 
                                   
                                     h 
                                     
                                       2 
                                       ⁢ 
                                       2 
                                     
                                   
                                 
                               
                             
                           
                           ] 
                         
                         [ 
                         
                           
                             
                               
                                 S 
                                 l 
                               
                             
                           
                           
                             
                               
                                 - 
                                 
                                   S 
                                   Q 
                                 
                               
                             
                           
                         
                         ] 
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
     Let us define 
               H   e     =       1   2     [             h     1   ⁢   1       +     h     2   ⁢   2                 h     1   ⁢   2       -     h     2   ⁢   1                   -     (       h     1   ⁢   2       -     h     2   ⁢   1         )               h     1   ⁢   1       +     h     2   ⁢   2               ]           
And
 
     
       
         
           
             
               
                 H 
                 c 
               
               = 
               
                 
                   1 
                   2 
                 
                 [ 
                 
                   
                     
                       
                         
                           h 
                           
                             1 
                             ⁢ 
                             1 
                           
                         
                         - 
                         
                           h 
                           
                             2 
                             ⁢ 
                             2 
                           
                         
                       
                     
                     
                       
                         - 
                         
                           ( 
                           
                             
                               h 
                               
                                 1 
                                 ⁢ 
                                 2 
                               
                             
                             + 
                             
                               h 
                               
                                 2 
                                 ⁢ 
                                 1 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                   
                     
                       
                         
                           h 
                           
                             1 
                             ⁢ 
                             2 
                           
                         
                         + 
                         
                           h 
                           
                             2 
                             ⁢ 
                             1 
                           
                         
                       
                     
                     
                       
                         
                           h 
                           
                             1 
                             ⁢ 
                             1 
                           
                         
                         - 
                         
                           h 
                           
                             2 
                             ⁢ 
                             2 
                           
                         
                       
                     
                   
                 
                 ] 
               
             
             . 
           
         
       
     
     Both of these matrices have a unitary structure thus can be equivalently represented by complex scalars as
 
 h   e   =h   11   +h   22   +j ( h   21   −h   12 )
 
And
 
 h   c   =h   11   −h   22   +j ( h   21   +h   12 )
 
     Using all of these observations, we can put the effective equation back in a scalar form with two channels: the equivalent channel h e  and the conjugate channel h c . Then the effective transformation in (5) becomes
 
 x=h   e   s+h   c   s*.  
 
     We refer to the first channel as the equivalent channel and the second channel as the conjugate channel. The equivalent channel is the one you would observe if there were no I/Q gain and phase imbalance. 
     Using similar arguments, it can be shown that the input-output relationship of a discrete-time MIMO N×M system with I/Q gain and phase imbalance is (using the scalar equivalents to build their matrix counterparts) 
               x   [   t   ]     =         ∑     ℓ   =   0     L           h   e     [   ℓ   ]     ⁢     s   [     t   -   ℓ     ]         +         h   c     [   ℓ   ]     ⁢     s   ·     [     t   -   ℓ     ]                 
where t is the discrete time index, h e , h c ϵC M×N ,s=[s 1 , . . . , s N ], x=[x 1 , . . . , x M ] and L is the number of channel taps.
 
     In DIDO-OFDM systems, the received signal in the frequency domain is represented. Recall from signals and systems that if FFT K {s[t]}=S[k] then FFT K {s*[t]}=S*[(−k)]=S*[K−k] for k=0, 1, . . . , K−1. 
     With OFDM, the equivalent input-output relationship for a MIMO-OFDM system for subcarrier k is
 
   x   [ k ]= H   e [ k ]   s   [ k ]+ H   c [ k ]   s   *[ K−k ]  (1)
 
where k=0, 1, . . . , K−1 is the OFDM subcarrier index, H e  and H c  denote the equivalent and conjugate channel matrices, respectively, defined as
 
                 H   e     [   k   ]     =       ∑     ℓ   =   0     L           h   e     [   ℓ   ]     ⁢     e       -   j     ⁢       2   ⁢     ∏   k       K     ⁢   ℓ                 
and
 
     
       
         
           
             
               
                 H 
                 c 
               
               [ 
               k 
               ] 
             
             = 
             
               
                 ∑ 
                 
                   ℓ 
                   = 
                   0 
                 
                 L 
               
               
                 
                   
                     h 
                     c 
                   
                   [ 
                   ℓ 
                   ] 
                 
                 ⁢ 
                 
                   
                     e 
                     
                       
                         - 
                         j 
                       
                       ⁢ 
                       
                         
                           2 
                           ⁢ 
                           
                             ∏ 
                             k 
                           
                         
                         K 
                       
                       ⁢ 
                       ℓ 
                     
                   
                   . 
                 
               
             
           
         
       
     
     The second contribution in (1) is interference from the mirror tone. It can be dealt with by constructing the following stacked matrix system (note carefully the conjugates) 
               [             x   _     [   k   ]                   x   _     *     [     K   -   k     ]           ]     =       [             H   e     [   k   ]             H   c     [   k   ]                 H   c   ⋆     [     K   -   k     ]             H   e   ⋆     [     K   -   k     ]           ]     [             s   ¯     [   k   ]                   s   _     *     [     K   -   k     ]           ]           
where  s [ s   1 , s   2 ] T  and  x =[ x   1 , x   2 ] T  are the vectors of transmit and receive symbols in the frequency domain, respectively.
 
     Using this approach, an effective matrix is built to use for DIDO operation. For example, with DIDO 2×2 the input-output relationship (assuming each user has a single receive antenna) the first user device sees (in the absence of noise) 
                     [               x   ¯     1     [   k   ]                   x   ¯     1   ⋆     [     K   -   k     ]           ]     =       [             H   e       (   1     〉       [   k   ]             H   c     (   1   )       [   k   ]                 H   c       (   1   )     ⋆       [     K   -   k     ]             H   e       (   1   )     ⋆       [     K   -   k     ]           ]     ⁢     W   [               s   ¯     1     [   k   ]                   s   _     1   *     [     K   -   k     ]                   s   ¯     2     [   k   ]                   s   ¯     2   ⋆     [     K   -   k     ]           ]               (   2   )               
while the second user observes
 
                     [               x   ¯     2     [   k   ]                   x   ¯     2   ⋆     [     K   -   k     ]           ]     =       [             H   e     (   2   )       [   k   ]             H   c     (   2   )       [   k   ]                 H   c       (   2   )     *       [     K   -   k     ]             H   e       (   2   )     ⋆       [     K   -   k     ]           ]     ⁢     W   [               s   ¯     1     [   k   ]                   s   ¯     1   *     [     K   -   k     ]                   s   ¯     2     [   k   ]                   s   ¯     2   *     [     K   -   k     ]           ]               (   3   )               
where H e   (m) , H c   (m) ϵC 1×2  denote the m-th row of the matrices H e  and H c , respectively, and WϵC 4×4  is the DIDO pre-coding matrix. From (2) and (3) it is observed that the received symbol  x   m [k] of user m is affected by two sources of interference caused by I/Q imbalance: inter-carrier interference from the mirror tone (i.e.,  [K−k]) and inter-user interference (i.e.,  s   p [k] and  [K−k] with p≠m). The DIDO precoding matrix W in (3) is designed to cancel these two interference terms.
 
     There are several different embodiments of the DIDO precoder that can be used here depending on joint detection applied at the receiver. In one embodiment, block diagonalization (BD) is employed (see, e.g., Q. H. Spencer, A. L. Swindlehurst, and M. Haardt, “Zeroforcing methods for downlink spatial multiplexing in multiuser MIMO channels,” IEEE Trans. Sig. Proc., vol. 52, pp. 461-471, February 2004. K. K. Wong, R. D. Murch, and K. B. Letaief, “A joint-channel diagonalization for multiuser MIMO antenna systems,” IEEE Trans. Wireless Comm., vol. 2, pp. 773-786, July 2003. L. U. Choi and R. D. Murch, “A transmit preprocessing technique for multiuser MIMO systems using a decomposition approach,” IEEE Trans. Wireless Comm., vol. 3, pp. 20-24, January 2004. Z. Shen, J. G. Andrews, R. W. Heath, and B. L. Evans, “Low complexity user selection algorithms for multiuser MIMO systems with block diagonalization,” accepted for publication in IEEE Trans. Sig. Proc., September 2005. Z. Shen, R. Chen, J. G. Andrews, R. W. Heath, and B. L. Evans, “Sum capacity of multiuser MIMO broadcast channels with block diagonalization,” submitted to IEEE Trans. Wireless Comm., October 2005, computed from the composite channel [H e   (m) ,H e   (m) ] (rather than H e   (m) ). So, the current DIDO system chooses the precoder such that 
                     H   w       =   Δ           [             H   e     (   1   )       [   k   ]             H   c     (   1   )       [   k   ]                 H   c       (   1   )     *       [     K   -   k     ]             H   e       (   1   )     *       [     K   -   k     ]                 H   e     (   2   )       [   k   ]             H   c     (   2   )       [   k   ]                 H   c       (   2   )     *       [     K   -   k     ]             H   e       (   2   )     *       [     K   -   k     ]           ]     ⁢   W     =       [           α     1   ,   1           0       0       0           0         α     1   ,   2           0       0           0       0         α     2   ,   1           0           0       0       0         α     2   ,   2             ]       =   Δ       [           H   w     (     1   ,   1     )             H   w     (     1   ,   2     )                 H   w     (     2   ,   1     )             H   w     (     2   ,   2     )             ]                 (   4   )               
where α i,j  are constants and H w   (i,j) ϵC 2×2 . This method is beneficial because using this precoder, it is possible to keep other aspects of the DIDO precoder the same as before, since the effects of I/Q gain and phase imbalance are completely cancelled at the transmitter.
 
     It is also possible to design DIDO precoders that pre-cancel inter-user interference, without pre-cancelling ICI due to IQ imbalance. With this approach, the receiver (instead of the transmitter) compensates for the IQ imbalance by employing one of the receive filters described below. Then, the pre-coding design criterion in (4) can be modified as 
                     H   w       =   Δ           [             H   e     (   1   )       [   k   ]             H   c     (   1   )       [   k   ]                 H   c       (   1   )     *       [     K   -   k     ]             H   e       (   1   )     *       [     K   -   k     ]                 H   e     (   2   )       [   k   ]             H   c     (   2   )       [   k   ]                 H   c       (   2   )     *       [     K   -   k     ]             H   e       (   2   )     *       [     K   -   k     ]           ]     ⁢   W     =       [           α     1   ,   1             α     1   ,   2           0       0             α     2   ,   1             α     2   ,   2           0       0           0       0         α     3   ,   3             α     3   ,   4               0       0         α     4   ,   3             α     4   ,   4             ]       =   Δ       [           H   w     (     1   ,   1     )             H   w     (     1   ,   2     )                 H   w     (     2   ,   1     )             H   w     (     2   ,   2     )             ]                 (   5   )                           	           x   _     1     [   k   ]     =       [           H   w     (     1   ,   1     )             H   w     (     1   ,   2     )             ]     [               s   _     1                 s   _     2           ⁢       [   k   ]       [   k   ]         ]               (   6   )               
and
 
     
       
         
           
             
               
                 
                   
                     
                       
                         x 
                         _ 
                       
                       2 
                     
                     [ 
                     k 
                     ] 
                   
                   = 
                   
                     
                       [ 
                       
                         
                           
                             
                               H 
                               w 
                               
                                 ( 
                                 
                                   2 
                                   , 
                                   1 
                                 
                                 ) 
                               
                             
                           
                           
                             
                               H 
                               w 
                               
                                 ( 
                                 
                                   2 
                                   , 
                                   2 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       ] 
                     
                     [ 
                     
                       
                         
                           
                             
                               
                                 s 
                                 _ 
                               
                               1 
                             
                           
                         
                         
                           
                             
                               
                                 s 
                                 _ 
                               
                               2 
                             
                           
                         
                       
                       ⁢ 
                       
                         
                           [ 
                           k 
                           ] 
                         
                         
                           [ 
                           k 
                           ] 
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
     where  s   m [k]=[ s   m [k],  s * m [K−k]] T  for the m-th transmit symbol and  x   m [k]=[ x   m [k], x * m [K−k]] T  is the receive symbol vector for user m. 
     At the receive side, to estimate the transmit symbol vector  s   m [k], user m employs ZF filter and the estimated symbol vector is given by
 
 ŝ   m   (ZF) [ k ]=[( H   w   (m,m)†   H   w   (m,m) ) −1   H   w   (m,m)℄ ]   x     m [ k ]  (8)
 
     While the ZF filter is the easiest to understand, the receiver may apply any number of other filters known to those skilled in the art. One popular choice is the MMSE filter where
 
 ŝ   m   (MMSE) [ k ]=( H   w   (m,m)†   +p   −1   I ) −1   H   w   (m,m)   H   w   (m,m)℄     x     m   [k]   (9)
 
and ρ is the signal-to-noise ratio. Alternatively, the receiver may perform a maximum likelihood symbol detection (or sphere decoder or iterative variation). For example, the first user might use the ML receiver and solve the following optimization
 
                         s   ^     m     (   ML   )       [   k   ]     =         arg   ⁢   min         s   1     ,       s   2     ∈   S         ⁢                     y   _     1     [   k   ]     -       [           H   w     (     1   ,   1     )             H   w     (     1   ,   2     )             ]     [             s   1     [   k   ]                 s   2     [   k   ]           ]                      (   10   )               
where S is the set of all possible vectors s and depends on the constellation size. The ML receiver gives better performance at the expense of requiring more complexity at the receiver. A similar set of equations applies for the second user.
 
     Note that H w   (1,2)  and H w   (2,1)  in (6) and (7) are assumed to have zero entries. This assumption holds only if the transmit precoder is able to cancel completely the inter-user interference as for the criterion in (4). Similarly, H w   (1,1)  and H w   (2,2)  are diagonal matrices only if the transmit precoder is able to cancel completely the inter-carrier interference (i.e., from the mirror tones). 
       FIG.  13    illustrates one embodiment of a framework for DIDO-OFDM systems with I/Q compensation including IQ-DIDO precoder  1302  within a Base Station (BS), a transmission channel  1304 , channel estimation logic  1306  within a user device, and a ZF, MMSE or ML receiver  1308 . The channel estimation logic  1306  estimates the channels H e   (m)  and H e   (m)  via training symbols and feedbacks these estimates to the precoder  1302  within the AP. The BS computes the DIDO precoder weights (matrix W) to pre-cancel the interference due to I/Q gain and phase imbalance as well as inter-user interference and transmits the data to the users through the wireless channel  1304 . User device m employs the ZF, MMSE or ML receiver  1308 , by exploiting the channel estimates provided by the unit  1304 , to cancel residual interference and demodulates the data. 
     The following three embodiments may be employed to implement this I/Q compensation algorithm: 
     Method 1—TX compensation: In this embodiment, the transmitter calculates the pre-coding matrix according to the criterion in (4). At the receiver, the user devices employ a “simplified” ZF receiver, where H w   (1,1)  and H w   (2,2)  are assumed to be diagonal matrices. Hence, equation (8) simplifies as 
     
       
         
           
             
               
                 
                   
                     
                       
                         s 
                         ^ 
                       
                       m 
                     
                     [ 
                     k 
                     ] 
                   
                   = 
                   
                     
                       [ 
                       
                         
                           
                             
                               1 
                               / 
                               
                                 α 
                                 
                                   m 
                                   , 
                                   1 
                                 
                               
                             
                           
                           
                             0 
                           
                         
                         
                           
                             0 
                           
                           
                             
                               1 
                               / 
                               
                                 α 
                                 
                                   m 
                                   , 
                                   2 
                                 
                               
                             
                           
                         
                       
                       ] 
                     
                     ⁢ 
                     
                       
                         
                           
                             x 
                             _ 
                           
                           m 
                         
                         [ 
                         k 
                         ] 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
     Method 2—RX compensation: In this embodiment, the transmitter calculates the pre-coding matrix based on the conventional BD method described in R. Chen, R. W. Heath, and J. G. Andrews, “Transmit selection diversity for unitary precoded multiuser spatial multiplexing systems with linear receivers,” accepted to IEEE Trans. on Signal Processing, 2005, without canceling inter-carrier and inter-user interference as for the criterion in (4). With this method, the pre-coding matrix in (2) and (3) simplifies as 
     
       
         
           
             
               
                 
                   W 
                   = 
                   
                     
                       [ 
                       
                         
                           
                             
                               
                                 w 
                                 
                                   1 
                                   , 
                                   1 
                                 
                               
                               [ 
                               k 
                               ] 
                             
                           
                           
                             0 
                           
                           
                             
                               
                                 w 
                                 
                                   1 
                                   , 
                                   2 
                                 
                               
                               [ 
                               k 
                               ] 
                             
                           
                           
                             0 
                           
                         
                         
                           
                             0 
                           
                           
                             
                               
                                 w 
                                 
                                   1 
                                   , 
                                   1 
                                 
                                 * 
                               
                               [ 
                               
                                 K 
                                 - 
                                 k 
                               
                               ] 
                             
                           
                           
                             0 
                           
                           
                             
                               
                                 w 
                                 
                                   1 
                                   , 
                                   2 
                                 
                                 * 
                               
                               [ 
                               
                                 K 
                                 - 
                                 k 
                               
                               ] 
                             
                           
                         
                         
                           
                             
                               
                                 w 
                                 
                                   2 
                                   , 
                                   1 
                                 
                               
                               [ 
                               k 
                               ] 
                             
                           
                           
                             0 
                           
                           
                             
                               
                                 w 
                                 
                                   2 
                                   , 
                                   2 
                                 
                               
                               [ 
                               k 
                               ] 
                             
                           
                           
                             0 
                           
                         
                         
                           
                             0 
                           
                           
                             
                               
                                 w 
                                 
                                   2 
                                   , 
                                   1 
                                 
                                 * 
                               
                               [ 
                               
                                 K 
                                 - 
                                 k 
                               
                               ] 
                             
                           
                           
                             0 
                           
                           
                             
                               
                                 w 
                                 
                                   2 
                                   , 
                                   2 
                                 
                                 * 
                               
                               [ 
                               
                                 K 
                                 - 
                                 k 
                               
                               ] 
                             
                           
                         
                       
                       ] 
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
     At the receiver, the user devices employ a ZF filter as in (8). Note that this method does not pre-cancel the interference at the transmitter as in the method 1 above. Hence, it cancels the inter-carrier interference at the receiver, but it is not able to cancel the inter-user interference. Moreover, in method 2 the users only need to feedback the vector H e   (m)  for the transmitter to compute the DIDO precoder, as opposed to method 1 that requires feedback of both H e   (m)  and H e   (m) . Therefore, method 2 is particularly suitable for DIDO systems with low rate feedback channels. On the other hand, method 2 requires slightly higher computational complexity at the user device to compute the ZF receiver in (8) rather than (11). 
     Method 3—TX-RX compensation: In one embodiment, the two methods described above are combined. The transmitter calculates the pre-coding matrix as in (4) and the receivers estimate the transmit symbols according to (8). 
     I/Q imbalance, whether phase imbalance, gain imbalance, or delay imbalance, creates a deleterious degradation in signal quality in wireless communication systems. For this reason, circuit hardware in the past was designed to have very low imbalance. As described above, however, it is possible to correct this problem using digital signal processing in the form of transmit pre-coding and/or a special receiver. One embodiment of the invention comprises a system with several new functional units, each of which is important for the implementation of I/Q correction in an OFDM communication system or a DIDO-OFDM communication system. 
     One embodiment of the invention uses pre-coding based on channel state information to cancel inter-carrier interference (ICI) from mirror tones (due to I/Q mismatch) in an OFDM system. As illustrated in  FIG.  11   , a DIDO transmitter according to this embodiment includes a user selector unit  1102 , a plurality of coding modulation units  1104 , a corresponding plurality of mapping units  1106 , a DIDO IQ-aware precoding unit  1108 , a plurality of RF transmitter units  1114 , a user feedback unit  1112  and a DIDO configurator unit  1110 . 
     The user selector unit  1102  selects data associated with a plurality of users U 1 -U M , based on the feedback information obtained by the feedback unit  1112 , and provides this information each of the plurality of coding modulation units  1104 . Each coding modulation unit  1104  encodes and modulates the information bits of each user and send them to the mapping unit  1106 . The mapping unit  1106  maps the input bits to complex symbols and sends the results to the DIDO IQ-aware precoding unit  1108 . The DIDO IQ-aware precoding unit  1108  exploits the channel state information obtained by the feedback unit  1112  from the users to compute the DIDO IQ-aware precoding weights and precoding the input symbols obtained from the mapping units  1106 . Each of the precoded data streams is sent by the DIDO IQ-aware precoding unit  1108  to the OFDM unit  1115  that computes the IFFT and adds the cyclic prefix. This information is sent to the D/A unit  1116  that operates the digital to analog conversion and send it to the RF unit  1114 . The RF unit  1114  upconverts the baseband signal to intermediate/radio frequency and send it to the transmit antenna. 
     The precoder operates on the regular and mirror tones together for the purpose of compensating for I/Q imbalance. Any number of precoder design criteria may be used including ZF, MMSE, or weighted MMSE design. In a preferred embodiment, the precoder completely removes the ICI due to I/Q mismatch thus resulting in the receiver not having to perform any additional compensation. 
     In one embodiment, the precoder uses a block diagonalization criterion to completely cancel inter-user interference while not completely canceling the I/Q effects for each user, requiring additional receiver processing. In another embodiment, the precoder uses a zero-forcing criterion to completely cancel both inter-user interference and ICI due to I/Q imbalance. This embodiment can use a conventional DIDO-OFDM processor at the receiver. 
     One embodiment of the invention uses pre-coding based on channel state information to cancel inter-carrier interference (ICI) from mirror tones (due to I/Q mismatch) in a DIDO-OFDM system and each user employs an IQ-aware DIDO receiver. As illustrated in  FIG.  12   , in one embodiment of the invention, a system including the receiver  1202  includes a plurality of RF units  1208 , a corresponding plurality of A/D units  1210 , an IQ-aware channel estimator unit  1204  and a DIDO feedback generator unit  1206 . 
     The RF units  1208  receive signals transmitted from the DIDO transmitter units  1114 , downconverts the signals to baseband and provide the downconverted signals to the A/D units  1210 . The A/D units  1210  then convert the signal from analog to digital and send it to the OFDM units  1213 . The OFDM units  1213  remove the cyclic prefix and operates the FFT to report the signal to the frequency domain. During the training period the OFDM units  1213  send the output to the IQ-aware channel estimate unit  1204  that computes the channel estimates in the frequency domain. Alternatively, the channel estimates can be computed in the time domain. During the data period the OFDM units  1213  send the output to the IQ-aware receiver unit  1202 . The IQ-aware receiver unit  1202  computes the IQ receiver and demodulates/decodes the signal to obtain the data  1214 . The IQ-aware channel estimate unit  1204  sends the channel estimates to the DIDO feedback generator unit  1206  that may quantize the channel estimates and send it back to the transmitter via the feedback control channel  1112 . 
     The receiver  1202  illustrated in  FIG.  12    may operate under any number of criteria known to those skilled in the art including ZF, MMSE, maximum likelihood, or MAP receiver. In one preferred embodiment, the receiver uses an MMSE filter to cancel the ICI caused by IQ imbalance on the mirror tones. In another preferred embodiment, the receiver uses a nonlinear detector like a maximum likelihood search to jointly detect the symbols on the mirror tones. This method has improved performance at the expense of higher complexity. 
     In one embodiment, an IQ-aware channel estimator  1204  is used to determine the receiver coefficients to remove ICI. Consequently we claim a DIDO-OFDM system that uses pre-coding based on channel state information to cancel inter-carrier interference (ICI) from mirror tones (due to I/Q mismatch), an IQ-aware DIDO receiver, and an IQ-aware channel estimator. The channel estimator may use a conventional training signal or may use specially constructed training signals sent on the inphase and quadrature signals. Any number of estimation algorithms may be implemented including least squares, MMSE, or maximum likelihood. The IQ-aware channel estimator provides an input for the IQ-aware receiver. 
     Channel state information can be provided to the station through channel reciprocity or through a feedback channel. One embodiment of the invention comprises a DIDO-OFDM system, with I/Q-aware precoder, with an I/Q-aware feedback channel for conveying channel state information from the user terminals to the station. The feedback channel may be a physical or logical control channel. It may be dedicated or shared, as in a random access channel. The feedback information may be generated using a DIDO feedback generator at the user terminal, which we also claim. The DIDO feedback generator takes as an input the output of the I/Q aware channel estimator. It may quantize the channel coefficients or may use any number of limited feedback algorithms known in the art. 
     The allocation of users, modulation and coding rate, mapping to space-time-frequency code slots may change depending on the results of the DIDO feedback generator. Thus, one embodiment comprises an IQ-aware DIDO configurator that uses an IQ-aware channel estimate from one or more users to configure the DIDO IQ-aware precoder, choose the modulation rate, coding rate, subset of users allowed to transmit, and their mappings to space-time-frequency code slots. 
     To evaluate the performance of the proposed compensation methods, three DIDO 2×2 systems will be compared: 
     1. With I/Q mismatch: transmit over all the tones (except DC and edge tones), without compensation for I/Q mismatch; 
     2. With I/Q compensation: transmit over all the tones and compensate for I/Q mismatch by using the “method 1” described above; 
     3. Ideal: transmit data only over the odd tones to avoid inter-user and inter-carrier (i.e., from the mirror tones) interference caused to I/Q mismatch. 
     Hereafter, results obtained from measurements with the DIDO-OFDM prototype in real propagation scenarios are presented.  FIG.  14    depicts the 64-QAM constellations obtained from the three systems described above. These constellations are obtained with the same users&#39; locations and fixed average signal-to-noise ratio (˜45 dB). The first constellation  1401  is very noisy due to interference from the mirror tones caused by I/Q imbalance. The second constellation  1402  shows some improvements due to I/Q compensations. Note that the second constellation  1402  is not as clean as the ideal case shown as constellation  1403  due to possible phase noise that yields inter-carrier interference (ICI). 
       FIG.  15    shows the average SER (Symbol Error Rate)  1501  and per-user goodput  1502  performance of DIDO 2×2 systems with 64-QAM and coding rate 3/4, with and without I/Q mismatch. The OFDM bandwidth is 250 KHz, with 64 tones and cyclic prefix length L cp =4. Since in the ideal case we transmit data only over a subset of tones, SER and goodput performance is evaluated as a function of the average per-tone transmit power (rather than total transmit power) to guarantee a fair comparison across different cases. Moreover, in the following results, we use normalized values of transmit power (expressed in decibel), since our goal here is to compare the relative (rather than absolute) performance of different schemes.  FIG.  15    shows that in presence of I/Q imbalance the SER saturates, without reaching the target SER (˜10 −2 ), consistently to the results reported in A. Tarighat and A. H. Sayed, “MIMO OFDM receivers for systems with IQ imbalances,” IEEE Trans. Sig. Proc., vol. 53, pp. 3583-3596, September 2005. This saturation effect is due to the fact that both signal and interference (from the mirror tones) power increase as the TX power increases. Through the proposed I/Q compensation method, however, it is possible to cancel the interference and obtain better SER performance. Note that the slight increase in SER at high SNR is due to amplitude saturation effects in the DAC, due to the larger transmit power required for 64-QAM modulations. 
     Moreover, observe that the SER performance with I/Q compensation is very close to the ideal case. The 2 dB gap in TX power between these two cases is due to possible phase noise that yields additional interference between adjacent OFDM tones. Finally, the goodput curves  1502  show that it is possible to transmit twice as much data when the I/Q method is applied compared to the ideal case, since we use all the data tones rather than only the odd tones (as for the ideal case). 
       FIG.  16    graphs the SER performance of different QAM constellations with and without I/Q compensation. We observe that, in this embodiment, the proposed method is particularly beneficial for 64-QAM constellations. For 4-QAM and 16-QAM the method for I/Q compensation yields worse performance than the case with I/Q mismatch, possibly because the pro po sed method requires larger power to enable both data transmission and interference cancellation from the mirror tones. Moreover, 4-QAM and 16-QAM are not as affected by I/Q mismatch as 64-QAM due to the larger minimum distance between constellation points. See A. Tarighat, R. Bagheri, and A. H. Sayed, “Compensation schemes and performance analysis of IQ imbalances in OFDM receivers,” IEEE Transactions on Signal Processing, vol. 53, pp. 3257-3268, August 2005. This can be also observed in  FIG.  16    by comparing the I/Q mismatch against the ideal case for 4-QAM and 16-QAM. Hence, the additional power required by the DIDO precoder with interference cancellation (from the mirror tones) does not justify the small benefit of the I/Q compensation for the cases of 4-QAM and 16-QAM. Note that this issue may be fixed by employing the methods 2 and 3 for I/Q compensation described above. 
     Finally, the relative SER performance of the three methods described above is measured in different propagation conditions. For reference, also described is the SER performance in presence of I/Q mismatch.  FIG.  17    depicts the SER measured for a DIDO 2×2 system with 64-QAM at carrier frequency of 450.5 MHz and bandwidth of 250 KHz, at two different users&#39; locations. In Location 1 the users are ˜6λ from the BS in different rooms and NLOS (Non-Line of Sight)) conditions. In Location 2 the users are ˜λ from the BS in LOS (Line of Sight). 
       FIG.  17    shows that all three compensation methods always outperform the case of no compensation. Moreover, it should be noted that method 3 outperforms the other two compensation methods in any channel scenario. The relative performance of method 1 and 2 depends on the propagation conditions. It is observed through practical measurement campaigns that method 1 generally outperforms method 2, since it pre-cancels (at the transmitter) the inter-user interference caused by I/Q imbalance. When this inter-user interference is minimal, method 2 may outperform method 1 as illustrated in graph  1702  of  FIG.  17   , since it does not suffer from power loss due to the I/Q compensation precoder. 
     So far, different methods have been compared by considering only a limited set of propagation scenarios as in  FIG.  17   . Hereafter, the relative performance of these methods in ideal i.i.d. (independent and identically-distributed) channels is measured. DIDO-OFDM systems are simulated with I/Q phase and gain imbalance at the transmit and receive sides.  FIG.  18    shows the performance of the proposed methods with only gain imbalance at the transmit side (i.e., with 0.8 gain on the I rail of the first transmit chain and gain 1 on the other rails). It is observed that method 3 outperforms all the other methods. Also, method 1 performs better than method 2 in i.i.d. channels, as opposed to the results obtained in Location 2 in graph  1702  of  FIG.  17   . 
     Thus, given the three novel methods to compensate for I/Q imbalance in DIDO-OFDM systems described above, Method 3 outperforms the other proposed compensation methods. In systems with low rate feedback channels, method 2 can be used to reduce the amount of feedback required for the DIDO precoder, at the expense of worse SER performance. 
     II. Adaptive DIDO Transmission Scheme 
     Another embodiment of a system and method to enhance the performance of distributed-input distributed-output (DIDO) systems will now be described. This method dynamically allocates the wireless resources to different user devices, by tracking the changing channel conditions, to increase throughput while satisfying certain target error rate. The user devices estimate the channel quality and feedback it to the Base Station (BS); the Base Station processes the channel quality obtained from the user devices to select the best set of user devices, DIDO scheme, modulation/coding scheme (MCS) and array configuration for the next transmission; the Base Station transmits parallel data to multiple user devices via pre-coding and the signals are demodulated at the receiver. 
     A system that efficiently allocates resources for a DIDO wireless link is also described. The system includes a DIDO Base Station with a DIDO configurator, which processes feedback received from the users to select the best set of users, DIDO scheme, modulation/coding scheme (MCS) and array configuration for the next transmission; a receiver in a DIDO system that measures the channel and other relevant parameters to generate a DIDO feedback signal; and a DIDO feedback control channel for conveying feedback information from users to the Base Station. 
     As described in detail below, some of the significant features of this embodiment of the invention include, but are not limited to: 
     Techniques to adaptively select number of users, DIDO transmission schemes (i.e., antenna selection or multiplexing), modulation/coding scheme (MCS) and array configurations based on the channel quality information, to minimize SER or maximize per-user or downlink spectral efficiency; 
     Techniques to define sets of DIDO transmission modes as combinations of DIDO schemes and MCSs; 
     Techniques to assign different DIDO modes to different time slots, OFDM tones and DIDO substreams, depending on the channel conditions; 
     Techniques to dynamically assign different DIDO modes to different users based on their channel quality; 
     Criteria to enable adaptive DIDO switching based on link quality metrics computed in the time, frequency and space domains; 
     Criteria to enable adaptive DIDO switching based on lookup tables. 
     A DIDO system with a DIDO configurator at the Base Station as in  FIG.  19    to adaptively select the number of users, DIDO transmission schemes (i.e., antenna selection or multiplexing), modulation/coding scheme (MCS) and array configurations based on the channel quality information, to minimize SER or maximize per user or downlink spectral efficiency; 
     A DIDO system with a DIDO configurator at the Base Station and a DIDO feedback generator at each user device as in  FIG.  20   , which uses the estimated channel state and/or other parameters like the estimated SNR at the receiver to generate a feedback message to be input into the DIDO configurator. 
     A DIDO system with a DIDO configurator at the Base Station, DIDO feedback generator, and a DIDO feedback control channel for conveying DIDO-specific configuration information from the users to the Base Station. 
     a. Background 
     In multiple-input multiple-output (MIMO) systems, diversity schemes such as orthogonal space-time block codes (OSTBC) (See V. Tarokh, H. Jafarkhani, and A. R. Calderbank, “Spacetime block codes from orthogonal designs,” IEEE Trans. Info. Th., vol. 45, pp. 1456-467, July 1999) or antenna selection (See R. W. Heath Jr., S. Sandhu, and A. J. Paulraj, “Antenna selection for spatial multiplexing systems with linear receivers,” IEEE Trans. Comm., vol. 5, pp. 142-144, April 2001) are conceived to combat channel fading, providing increased link robustness that translates in better coverage. On the other hand, spatial multiplexing (SM) enables transmission of multiple parallel data streams as a means to enhance systems throughput. See G. J. Foschini, G. D. Golden, R. A. Valenzuela, and P. W. Wolniansky, “Simplified processing for high spectral efficiency wireless communication employing multielement arrays,” IEEE Jour. Select. Areas in Comm., vol. 17, no. 11, pp. 1841-1852, November 1999. These benefits can be simultaneously achieved in MIMO systems, according to the theoretical diversity/multiplexing tradeoffs derived in L. Zheng and D. N. C. Tse, “Diversity and multiplexing: a fundamental tradeoff in multiple antenna channels,” IEEE Trans. Info. Th., vol. 49, no. 5, pp. 1073-1096, May 2003. One practical implementation is to adaptively switch between diversity and multiplexing transmission schemes, by tracking the changing channel conditions. 
     A number of adaptive MIMO transmission techniques have been proposed thus far. The diversity/multiplexing switching method in R. W. Heath and A. J. Paulraj, “Switching between diversity and multiplexing in MIMO systems,” IEEE Trans. Comm., vol. 53, no. 6, pp. 962-968, June 2005, was designed to improve BER (Bit Error Rate) for fixed rate transmission, based on instantaneous channel quality information. Alternatively, statistical channel information can be employed to enable adaptation as in S. Catreux, V. Erceg, D. Gesbert, and R. W. Heath. Jr., “Adaptive modulation and MIMO coding for broadband wireless data networks,” IEEE Comm. Mag., vol. 2, pp. 108-115, June 2002 (“Catreux”), resulting in reduced feedback overhead and number of control messages. The adaptive transmission algorithm in Catreux was designed to enhance spectral efficiency for predefined target error rate in orthogonal frequency division multiplexing (OFDM) systems, based on channel time/frequency selectivity indicators. Similar low feedback adaptive approaches have been proposed for narrowband systems, exploiting the channel spatial selectivity to switch between diversity schemes and spatial multiplexing. See, e.g., A. Forenza, M. R. McKay, A. Pandharipande, R. W. Heath. Jr., and I. B. Collings, “Adaptive MIMO transmission for exploiting the capacity of spatially correlated channels,” accepted to the IEEE Trans. on Veh. Tech., March 2007; M. R. McKay, I. B. Collings, A. Forenza, and R. W. Heath. Jr., “Multiplexing/beamforming switching for coded MIMO in spatially correlated Rayleigh channels,” accepted to the IEEE Trans. on Veh. Tech., December 2007; A. Forenza, M. R. McKay, R. W. Heath. Jr., and I. B. Collings, “Switching between OSTBC and spatial multiplexing with linear receivers in spatially correlated MIMO channels,” Proc. IEEE Veh. Technol. Conf., vol. 3, pp. 1387-1391, May 2006; M. R. McKay, I. B. Collings, A. Forenza, and R. W. Heath Jr., “A throughput-based adaptive MIMO BICM approach for spatially correlated channels,” to appear in Proc. IEEE ICC, June 2006 
     In this document, we extend the scope of the work presented in various prior publications to DIDO-OFDM systems. See, e.g., R. W. Heath and A. J. Paulraj, “Switching between diversity and multiplexing in MIMO systems,” IEEE Trans. Comm., vol. 53, no. 6, pp. 962-968, June 2005.S. Catreux, V. Erceg, D. Gesbert, and R. W. Heath Jr., “Adaptive modulation and MIMO coding for broadband wireless data networks,” IEEE Comm. Mag., vol. 2, pp. 108-115, June 2002; A. Forenza, M. R. McKay, A. Pandharipande, R. W. Heath Jr., and I. B. Collings, “Adaptive MIMO transmission for exploiting the capacity of spatially correlated channels,” IEEE Trans. on Veh. Tech., vol. 56, n. 2, pp. 619-630, March 2007. M. R. McKay, I. B. Collings, A. Forenza, and R. W. Heath Jr., “Multiplexing/beamforming switching for coded MIMO in spatially correlated Rayleigh channels,” accepted to the IEEE Trans. on Veh. Tech., December 2007; A. Forenza, M. R. McKay, R. W. Heath Jr., and I. B. Collings, “Switching between OSTBC and spatial multiplexing with linear receivers in spatially correlated MIMO channels,” Proc. IEEE Veh. Technol. Conf., vol. 3, pp. 1387-1391, May 2006. M. R. McKay, I. B. Collings, A. Forenza, and R. W. Heath Jr., “A throughput-based adaptive MIMO BICM approach for spatially correlated channels,” to appear in Proc. IEEE ICC, June 2006. 
     A novel adaptive DIDO transmission strategy is described herein that switches between different numbers of users, numbers of transmit antennas and transmission schemes based on channel quality information as a means to improve the system performance. Note that schemes that adaptively select the users in multiuser MIMO systems were already proposed in M. Sharif and B. Hassibi, “On the capacity of MIMO broadcast channel with partial side information,” IEEE Trans. Info. Th., vol. 51, p. 506522, February 2005; and W. Choi, A. Forenza, J. G. Andrews, and R. W. Heath Jr., “Opportunistic space division multiple access with beam selection,” to appear in IEEE Trans. on Communications. The opportunistic space division multiple access (OSDMA) schemes in these publications, however, are designed to maximize the sum capacity by exploiting multi-user diversity and they achieve only a fraction of the theoretical capacity of dirty paper codes, since the interference is not completely pre-canceled at the transmitter. In the DIDO transmission algorithm described herein block diagonalization is employed to pre-cancel inter-user interference. The proposed adaptive transmission strategy, however, can be applied to any DIDO system, independently on the type of pre-coding technique. 
     The present patent application describes an extension of the embodiments of the invention described above and in the Prior Application, including, but not limited to the following additional features: 
     1. The training symbols of the Prior Application for channel estimation can be employed by the wireless client devices to evaluate the link-quality metrics in the adaptive DIDO scheme; 
     2. The base station receives signal characterization data from the client devices as described in the Prior Application. In the current embodiment, the signal characterization data is defined as link-quality metric used to enable adaptation; 
     3. The Prior Application describes a mechanism to select the number of transmit antennas and users as well as defines throughput allocation. Moreover, different levels of throughput can be dynamically assigned to different clients as in the Prior Application. The current embodiment of the invention defines novel criteria related to this selection and throughput allocation. 
     b. Embodiments of the Invention 
     The goal of the proposed adaptive DIDO technique is to enhance per-user or downlink spectral efficiency by dynamically allocating the wireless resource in time, frequency and space to different users in the system. The general adaptation criterion is to increase throughput while satisfying the target error rate. Depending on the propagation conditions, this adaptive algorithm can also be used to improve the link quality of the users (or coverage) via diversity schemes. The flowchart illustrated in  FIG.  21    describes steps of the adaptive DIDO scheme. 
     The Base Station (BS) collects the channel state information (CSI) from all the users in  2102 . From the received CSI, the BS computes the link quality metrics in time/frequency/space domains in  2104 . These link quality metrics are used to select the users to be served in the next transmission as well as the transmission mode for each of the users in  2106 . Note that the transmission modes consist of different combinations of modulation/coding and DIDO schemes. Finally, the BS transmits data to the users via DIDO precoding as in  2108 . 
     At  2102 , the Base Station collects the channel state information (CSI) from all the user devices. The CSI is used by the Base Station to determine the instantaneous or statistical channel quality for all the user devices at  2104 . In DIDO-OFDM systems the channel quality (or link quality metric) can be estimated in the time, frequency and space domains. Then, at  2106 , the Base Station uses the link quality metric to determine the best subset of users and transmission mode for the current propagation conditions. A set of DIDO transmission modes is defined as combinations of DIDO schemes (i.e., antenna selection or multiplexing), modulation/coding schemes (MCSs) and array configuration. At  2108 , data is transmitted to user devices using the selected number of users and transmission modes. 
     In one embodiment, the mode selection is enabled by lookup tables (LUTs) pre-computed based on error rate performance of DIDO systems in different propagation environments. These LUTs map channel quality information into error rate performance. To construct the LUTs, the error rate performance of DIDO systems is evaluated in different propagation scenarios as a function of the SNR. From the error rate curves, it is possible to compute the minimum SNR required to achieve certain pre-defined target error rate. We define this SNR requirement as SNR threshold. Then, the SNR thresholds are evaluated in different propagation scenarios and for different DIDO transmission modes and stored in the LUTs. For example, the SER results in  FIGS.  24  and  26    can be used to construct the LUTs. Then, from the LUTs, the Base Station selects the transmission modes for the active users that increase throughput while satisfying predefined target error rate. Finally, the Base Station transmits data to the selected users via DIDO pre-coding. Note that different DIDO modes can be assigned to different time slots, OFDM tones and DIDO substreams such that the adaptation may occur in time, frequency and space domains. 
     One embodiment of a system employing DIDO adaptation is illustrated in  FIGS.  19 - 20   . Several new functional units are introduced to enable implementation of the proposed DIDO adaptation algorithms. Specifically, in one embodiment, a DIDO configurator  1910  performs a plurality of functions including selecting the number of users, DIDO transmission schemes (i.e., antenna selection or multiplexing), modulation/coding scheme (MCS), and array configurations based on the channel quality information  1912  provided by user devices. 
     The user selector unit  1902  selects data associated with a plurality of users U 1 -U M , based on the feedback information obtained by the DIDO configurator  1910 , and provides this information each of the plurality of coding modulation units  1904 . Each coding modulation unit  1904  encodes and modulates the information bits of each user and sends them to the mapping unit  1906 . The mapping unit  1906  maps the input bits to complex symbols and sends it to the precoding unit  1908 . Both the coding modulation units  1904  and the mapping unit  1906  exploit the information obtained from the DIDO configurator unit  1910  to choose the type of modulation/coding scheme to employ for each user. This information is computed by the DIDO configurator unit  1910  by exploiting the channel quality information of each of the users as provided by the feedback unit  1912 . The DIDO precoding unit  1908  exploits the information obtained by the DIDO configurator unit  1910  to compute the DIDO precoding weights and precoding the input symbols obtained from the mapping units  1906 . Each of the precoded data streams are sent by the DIDO precoding unit  1908  to the OFDM unit  1915  that computes the IFFT and adds the cyclic prefix. This information is sent to the D/A unit  1916  that operates the digital to analog conversion and sends the resulting analog signal to the RF unit  1914 . The RF unit  1914  upconverts the baseband signal to intermediate/radio frequency and send it to the transmit antenna. 
     The RF units  2008  of each client device receive signals transmitted from the DIDO transmitter units  1914 , downconverts the signals to baseband and provide the downconverted signals to the A/D units  2010 . The A/D units  2010  then convert the signal from analog to digital and send it to the OFDM units  2013 . The OFDM units  2013  remove the cyclic prefix and carries out the FFT to report the signal to the frequency domain. During the training period the OFDM units  2013  send the output to the channel estimate unit  2004  that computes the channel estimates in the frequency domain. Alternatively, the channel estimates can be computed in the time domain. During the data period the OFDM units  2013  send the output to the receiver unit  2002  which demodulates/decodes the signal to obtain the data  2014 . The channel estimate unit  2004  sends the channel estimates to the DIDO feedback generator unit  2006  that may quantize the channel estimates and send it back to the transmitter via the feedback control channel  1912 . 
     The DIDO configurator  1910  may use information derived at the Base Station or, in a preferred embodiment, uses additionally the output of a DIDO Feedback Generator  2006  (see  FIG.  20   ), operating at each user device. The DIDO Feedback Generator  2006  uses the estimated channel state  2004  and/or other parameters like the estimated SNR at the receiver to generate a feedback message to be input into the DIDO Configurator  1910 . The DIDO Feedback Generator  2006  may compress information at the receiver, may quantize information, and/or use some limited feedback strategies known in the art. 
     The DIDO Configurator  1910  may use information recovered from a DIDO Feedback Control Channel  1912 . The DIDO Feedback Control Channel  1912  is a logical or physical control channel that is used to send the output of the DIDO Feedback Generator  2006  from the user to the Base Station. The control channel  1912  may be implemented in any number of ways known in the art and may be a logical or a physical control channel. As a physical channel it may comprise a dedicated time/frequency slot assigned to a user. It may also be a random access channel shared by all users. The control channel may be pre-assigned or it may be created by stealing bits in a predefined way from an existing control channel. 
     In the following discussion, results obtained through measurements with the DIDO-OFDM prototype are described in real propagation environments. These results demonstrate the potential gains achievable in adaptive DIDO systems. The performance of different order DIDO systems is presented initially, demonstrating that it is possible to increase the number of antennas/user to achieve larger downlink throughput. The DIDO performance as a function of user device&#39;s location is then described, demonstrating the need for tracking the changing channel conditions. Finally, the performance of DIDO systems employing diversity techniques is described. 
     i. Performance of Different Order DIDO Systems 
     The performance of different DIDO systems is evaluated with increasing number of transmit antennas N=M, where M is the number of users. The performance of the following systems is compared: SISO, DIDO 2×2, DIDO 4×4, DIDO 6×6 and DIDO 8×8. DIDO N×M refers to DIDO with N transmit antennas at the BS and M users. 
       FIG.  22    illustrates the transmit/receive antenna layout in a exemplary residential floor plan. The transmit antennas  2201  are placed in squared array configuration and the users are located around the transmit array. In  FIG.  22   , T indicates the “transmit” antennas and U refers to the “user devices”  2202 . 
     Different antenna subsets are active in the 8-element transmit array, depending on the value of N chosen for different measurements. For each DIDO order (N) the subset of antennas that covers the largest real estate for the fixed size constraint of the 8-element array was chosen. This criterion is expected to enhance the spatial diversity for any given value of N. 
       FIG.  23    shows the array configurations for different DIDO orders that fit the available real estate (i.e., dashed line and outer walls). The squared dashed box has dimensions of 24″×24″, corresponding to ˜λ×λ at the carrier frequency of 450 MHz. 
     Based on the comments related to  FIG.  23    and with reference to  FIG.  22   , the performance of each of the following systems will now be defined and compared:
         SISO with T1 and U1 ( 2301 )   DIDO 2×2 with T1,2 and U1,2 ( 2302 )   DIDO 4×4 with T1,2,3,4 and U1,2,3,4 ( 2303 )   DIDO 6×6 with T1,2,3,4,5,6 and U1,2,3,4,5,6 ( 2304 )   DIDO 8×8 with T1,2,3,4,5,6,7,8 and U1,2,3,4,5,6,7,8 ( 2305 )       

       FIG.  24    shows the SER, BER, SE (Spectral Efficiency) and goodput performance as a function of the transmit (TX) power for the DIDO systems described above, with 4-QAM and FEC (Forward Error Correction) rate of ½. Observe that the SER and BER performance degrades for increasing values of N. This effect is due to two phenomena: for fixed TX power, the input power to the DIDO array is split between increasing number of users (or data streams); the spatial diversity decreases with increasing number of users in realistic (spatially correlated) DIDO channels. 
     To compare the relative performance of different order DIDO systems the target BER is fixed to 10 −4  (this value may vary depending on the system) that corresponds approximately to SER=10 −2  as shown in  FIG.  24   . We refer to the TX power values corresponding to this target as TX power thresholds (TPT). For any N, if the TX power is below the TPT, we assume it is not possible to transmit with DIDO order N and we need to switch to lower order DIDO. Also, in  FIG.  24   , observe that the SE and goodput performance saturate when the TX power exceeds the TPTs for any value of N. From these results, an adaptive transmission strategy may be designed that switches between different order DIDO to enhance SE or goodput for fixed predefined target error rate. 
     ii. Performance with Variable User Location 
     The goal of this experiment is to evaluate the DIDO performance for different users&#39; location, via simulations in spatially correlated channels. DIDO 2×2 systems are considered with 4QAM and an FEC rate of ½. User 1 is at a broadside direction from the transmit array, whereas user 2 changes locations from broadside to endfire directions as illustrated in  FIG.  25   . The transmit antennas are spaced ˜λ/2 and separated ˜2.5λ from the users. 
       FIG.  26    shows the SER and per-user SE results for different locations of user device  2 . The user device&#39;s angles of arrival (AOAs) range between 0° and 90°, measured from the broadside direction of the transmit array. Observe that, as the user device&#39;s angular separation increases, the DIDO performance improves, due to larger diversity available in the DIDO channel. Also, at target SER=10 −2  there is a 10 dB gap between the cases AOA2=0° and AOA2=90°. This result is consistent to the simulation results obtained in  FIG.  35    for an angle spread of 10°. Also, note that for the case of AOA1=AOA2=0° there may be coupling effects between the two users (due to the proximity of their antennas) that may vary their performance from the simulated results in  FIG.  35   . 
     iii. Preferred Scenario for DIDO 8×8 
       FIG.  24    illustrated that DIDO 8×8 yields a larger SE than lower order DIDO at the expense of higher TX power requirement. The goal of this analysis is to show there are cases where DIDO 8×8 outperforms DIDO 2×2, not only in terms of peak spectral efficiency (SE), but also in terms of TX power requirement (or TPT) to achieve that peak SE. 
     Note that, in i.i.d. (ideal) channels, there is ˜6 dB gap in TX power between the SE of DIDO 8×8 and DIDO 2×2. This gap is due to the fact that DIDO 8×8 splits the TX power across eight data streams, whereas DIDO 2×2 only between two streams. This result is shown via simulation in  FIG.  32   . 
     In spatially correlated channels, however, the TPT is a function of the characteristics of the propagation environment (e.g., array orientation, user location, angle spread). For example,  FIG.  35    shows ˜15 dB gap for low angle spread between two different user device&#39;s locations. Similar results are presented in  FIG.  26    of the present application. 
     Similarly to MIMO systems, the performance of DIDO systems degrades when the users are located at endfire directions from the TX array (due to lack of diversity). This effect has been observed through measurements with the current DIDO prototype. Hence, one way to show that DIDO 8×8 outperforms DIDO 2×2 is to place the users at endfire directions with respect to the DIDO 2×2 arrays. In this scenario, DIDO 8×8 outperforms DIDO 2×2 due to the higher diversity provided by the 8-antenna array. 
     In this analysis, consider the following systems: 
     System 1: DIDO 8×8 with 4-QAM (transmit 8 parallel data streams every time slot); 
     System 2: DIDO 2×2 with 64-QAM (transmit to users X and Y every 4 time slots). For this system we consider four combinations of TX and RX antenna locations: a) T1,T2 U1,2 (endfire direction); b) T3,T4 U3,4 (endfire direction); c) T5,T6 U5,6 (˜30° from the endfire direction); d) T7,T8 U7,8 (NLOS (Non-Line of Sight)); 
     System 3: DIDO 8×8 with 64-QAM; and 
     System 4: MISO 8×1 with 64-QAM (transmit to user X every 8 time slots). 
     For all these cases, an FEC rate of ¾ was used. 
     The users&#39; locations are depicted in  FIG.  27   . 
     In  FIG.  28    the SER results show a ˜15 dB gap between Systems 2a and 2c due to different array orientations and user locations (similar to the simulation results in  FIG.  35   ). The first subplot in the second row shows the values of TX power for which the SE curves saturate (i.e. corresponding to BER 1e-4). We observe that System 1 yields larger per-user SE for lower TX power requirement (˜5 dB less) than System 2. Also, the benefits of DIDO 8×8 versus DIDO 2×2 are more evident for the DL (downlink) SE and DL goodput due to multiplexing gain of DIDO 8×8 over DIDO 2×2. System 4 has lower TX power requirement (8 dB less) than System 1, due to the array gain of beamforming (i.e., MRC with MISO 8×1). But System 4 yields only ⅓ of per-user SE compared to System 1. System 2 performs worse than System 1 (i.e., yields lower SE for larger TX power requirement). Finally, System 3 yields much larger SE (due to larger order modulations) than System 1 for larger TX power requirement (˜15 dB). 
     From these results, the following conclusions may be drawn: 
     One channel scenario was identified for which DIDO 8×8 outperforms DIDO 2×2 (i.e., yields larger SE for lower TX power requirement); 
     In this channel scenario, DIDO 8×8 yields larger per user SE and DL SE than DIDO 2×2 and MISO 8×1; and 
     It is possible to further increase the performance of DIDO 8×8 by using higher order modulations (i.e., 64-QAM rather than 4-QAM) at the expense of larger TX power requirements (˜15 dB more). 
     iv. DIDO with Antenna Selection 
     Hereafter, we evaluate the benefit of the antenna selection algorithm described in R. Chen, R. W. Heath, and J. G. Andrews, “Transmit selection diversity for unitary precoded multiuser spatial multiplexing systems with linear receivers,” accepted to IEEE Trans. on Signal Processing, 2005. We present the results for one particular DIDO system with two users, 4-QAM and FEC rate of ½. The following systems are compared in  FIG.  27   : 
     DIDO 2×2 with T1,2 and U1,2; and 
     DIDO 3×2 using antenna selection with T1,2,3 and U1,2. 
     The transmit antenna&#39;s and user device locations are the same as in  FIG.  27   . 
       FIG.  29    shows that DIDO 3×2 with antenna selection may provide ˜5 dB gain compared to DIDO 2×2 systems (with no selection). Note that the channel is almost static (i.e., no Doppler), so the selection algorithms adapts to the path-loss and channel spatial correlation rather than the fast-fading. We should be seeing different gains in scenarios with high Doppler. Also, in this particular experiment it was observed that the antenna selection algorithm selects antennas 2 and 3 for transmission. 
     iv. SNR Thresholds for the LUTs 
     In section [0171] we stated that the mode selection is enabled by LUTs. The LUTs can be pre-computed by evaluating the SNR thresholds to achieve certain predefined target error-rate performance for the DIDO transmission modes in different propagation environments. Hereafter, we provide the performance of DIDO systems with and without antenna selection and variable number of users that can be used as guidelines to construct the LUTs. While  FIGS.  24 ,  26 ,  28 ,  29    were derived from practical measurements with the DIDO prototype, the following Figures are obtained through simulations. The following BER results assume no FEC. 
       FIG.  30    shows the average BER performance of different DIDO precoding schemes in i.i.d. channels. The curve labeled as ‘no selection’ refers to the case when BD is employed. In the same figure the performance of antenna selection (ASel) is shown for different number of extra antennas (with respect to the number of users). It is possible to see that as the number of extra antennas increases, ASel provides better diversity gain (characterized by the slope of the BER curve in high SNR regime), resulting in better coverage. For example, if we fix the target BER to 10 −2  (practical value for uncoded systems), the SNR gain provided by ASel increases with the number of antennas. 
       FIG.  31    shows the SNR gain of ASel as a function of the number of extra transmit antennas in i.i.d. channels, for different targets BER. It is possible to see that, just by adding 1 or 2 antennas, ASel yields significant SNR gains compared to BD. In the following sections, we will evaluate the performance of ASel only for the cases of 1 or 2 extra antennas and by fixing the target BER to 10 −2  (for uncoded systems). 
       FIG.  32    depicts the SNR thresholds as a function of the number of users (M) for BD and ASel with 1 and 2 extra antennas in i.i.d. channels. We observe that the SNR thresholds increase with M due to the larger receive SNR requirement for larger number of users. Note that we assume fixed total transmit power (with variable number of transmit antennas) for any number of users. Moreover,  FIG.  32    shows that the gain due to antenna selection is constant for any number of users in i.i.d. channels. 
     Hereafter, we show the performance of DIDO systems in spatially correlated channels. We simulate each user&#39;s channel through the COST-259 spatial channel model described in X. Zhuang, F. W. Vook, K. L. Baum, T. A. Thomas, and M. Cudak, “Channel models for link and system level simulations,” IEEE 802.16 Broadband Wireless Access Working Group, September 2004. We generate single-cluster for each user. As a case study, we assume NLOS channels, uniform linear array (ULA) at the transmitter, with element spacing of 0.5 lambda. For the case of 2-user system, we simulate the clusters with mean angles of arrival AOA1 and AOA2 for the first and second user, respectively. The AOAs are measured with respect to the broadside direction of the ULA. When more than two users are in the system, we generate the users&#39; clusters with uniformly spaced mean AOAs in the range [−ϕ m ,ϕ m ], where we define 
                     Φ   M     =       Δϕ   ⁡   (     M   -   1     )     2             (   13   )               
with K being the number of users and Δϕ is the angular separation between the users&#39; mean AOAs. Note that the angular range [−ϕ m ,ϕ m ] is centered at the 0° angle, corresponding to the broadside direction of the ULA. Hereafter, we study the BER performance of DIDO systems as a function of the channel angle spread (AS) and angular separation between users, with BD and ASel transmission schemes and different numbers of users.
 
       FIG.  33    depicts the BER versus per-user average SNR for two users located at the same angular direction (i.e., AOA1=AOA2=0°, with respect to the broadside direction of the ULA), with different values of AS. It is possible to see that as the AS increases the BER performance improves and approaches the i.i.d. case. In fact, higher AS yields statistically less overlapping between the eigenmodes of the two users and better performance of the BD precoder. 
       FIG.  34    shows similar results as  FIG.  33   , but with higher angular separation between the users. We consider AOA1=0° and AOA2=90° (i.e., 90° angular separation). The best performance is now achieved in the low AS case. In fact, for the case of high angle separation, there is less overlapping between the users&#39; eigenmodes when the angular spread is low. Interestingly, we observe that the BER performance in low AS is better than i.i.d. channels for the same reasons just mentioned. 
     Next, we compute the SNR thresholds, for target BER of 10 −2  in different correlation scenarios.  FIG.  35    plots the SNR thresholds as a function of the AS for different values of the mean AOAs of the users. For low users&#39; angular separation reliable transmissions with reasonable SNR requirement (i.e., 18 dB) are possible only for channels characterized by high AS. On the other hand, when the users are spatially separated, less SNR is required to meet the same target BER. 
       FIG.  36    shows the SNR threshold for the case of five users. The users&#39; mean AOAs are generated according to the definition in (13), with different values of angular separation AO. We observe that for Δϕ=0° and AS&lt;15°, BD performs poorly due to the small angle separation between users, and the target BER is not satisfied. For increasing AS the SNR requirement to meet the fixed target BER decreases. On the other end, for Δϕ=30°, the smallest SNR requirement is obtained at low AS, consistently to the results in  FIG.  35   . As the AS increases, the SNR thresholds saturate to the one of i.i.d. channels. Note that_Δϕ=30° with 5 users corresponds to the AOA range of [−60°, 60° ], that is typical for base stations in cellular systems with 120° sectorized cells. 
     Next, we study the performance of ASel transmission scheme in spatially correlated channels.  FIG.  37    compares the SNR threshold of BD and ASel, with 1 and 2 extra antennas, for two user case. We consider two different cases of angular separation between users: {AOA1=0°,AOA2=0° } and {AOA1 =0°,AOA2=90° }. The curves for BD scheme (i.e., no antenna selection) are the same as in  FIG.  35   . We observe that ASel yields 8 dB and 10 dB SNR gains with 1 and 2 extra antennas, respectively, for high AS. As the AS decreases, the gain due to ASel over BD becomes smaller due to the reduced number of degrees of freedom in the MIMO broadcast channel. Interestingly, for AS=0° (i.e., close to LOS channels) and the case {AOA1=0°,AOA2=90° }, ASel does not provide any gain due to the luck of diversity in the space domain.  FIG.  38    shows similar results as  FIG.  37   , but for five user case. 
     We compute the SNR thresholds (assuming usual target BER of 10 −2 ) as a function of the number of users in the system (M), for both BD and ASel transmission schemes. The SNR thresholds correspond to the average SNR, such that the total transmit power is constant for any M. We assume maximum separation between the mean AOAs of each user&#39;s cluster within the azimuth range [−ϕ m ,ϕ m ]=[−60°, 60° ]. Then, the angular separation between users is Δϕ=120°/(M−1). 
       FIG.  39    shows the SNR thresholds for BD scheme with different values of AS. We observe that the lowest SNR requirement is obtained for AS=0.1° (i.e., low angle spread) with relatively small number of users (i.e., K≤20), due to the large angular separation between users. For M&gt;50, however, the SNR requirement is way above 40 dB, since Δϕ is very small, and BD is impractical. Moreover, for AS&gt;10° the SNR thresholds remain almost constant for any M, and the DIDO system in spatially correlated channels approaches the performance of i.i.d. channels. 
     To reduce the values of the SNR thresholds and improve the performance of the DIDO system we apply ASel transmission scheme.  FIG.  40    depicts the SNR thresholds in spatially correlated channels with AS=0.1° for BD and ASel with 1 and 2 extra antennas. For reference we report also the curves for the i.i.d. case shown in  FIG.  32   . It is possible to see that, for low number of users (i.e., M  10 ), antenna selection does not help reducing the SNR requirement due to the lack of diversity in the DIDO broadcast channel. As the number of users increases, ASel benefits from multiuser diversity yielding SNR gains (i.e., 4 dB for M=20). Moreover, for M≤20, the performance of ASel with 1 or 2 extra antennas in highly spatially correlated channels is the same. 
     We then compute the SNR thresholds for two more channel scenarios: AS=5° in  FIG.  41    and AS=10° in  FIG.  42   .  FIG.  41    shows that ASel yields SNR gains also for relatively small number of users (i.e., M  10 ) as opposed to  FIG.  40   , due to the larger angle spread. For AS=10° the SNR thresholds reduce further and the gains due to ASel get higher, as reported in  FIG.  42   . 
     Finally, we summarize the results presented so far for correlated channels.  FIG.  43    and  FIG.  44    show the SNR thresholds as a function of the number of users (M) and angle spread (AS) for BD and ASel schemes, with 1 and 2 extra antennas, respectively. Note that the case of AS=30° corresponds actually to i.i.d. channels, and we used this value of AS in the plot only for graphical representation. We observe that, while BD is affected by the channel spatial correlation, ASel yields almost the same performance for any AS. Moreover, for AS=0.1°, ASel performs similarly to BD for low M, whereas outperforms BD for large M (i.e., M≥20), due to multiuser diversity. 
       FIG.  49    compares the performance of different DIDO schemes in terms of SNR thresholds. The DIDO schemes considered are: BD, ASel, BD with eigenmode selection (BD-ESel) and maximum ratio combining (MRC). Note that MRC, does not pre-cancel interference at the transmitter (unlike the other methods), but does provide larger gain in case the users are spatially separated. In  FIG.  49    we plot the SNR threshold for target BER=10-2 for DIDO N×2 systems when the two users are located at −30° and 30° from the broadside direction of the transmit array, respectively. We observe that for low AS the MRC scheme provides 3 dB gain compared to the other schemes since the users&#39; spatial channels are well separated and the effect of inter-user interference is low. Note that the gain of MRC over DIDO N×2 are due to array gain. For AS larger than 20° the QR-ASel scheme outperforms the other and yields about 10 dB gain compared to BD 2×2 with no selection. QR-ASel and BD-ESel provide about the same performance for any value of AS. 
     Described above is a novel adaptive transmission technique for DIDO systems. This method dynamically switches between DIDO transmission modes to different users to enhance throughput for fixed target error rate. The performance of different order DIDO systems was measured in different propagation conditions and it was observed that significant gains in throughput may be achieved by dynamically selecting the DIDO modes and number of users as a function of the propagation conditions. 
     Pre-compensation of Frequency and Phase Offset 
     a. Background 
     As previously described, wireless communication systems use carrier waves to convey information. These carrier waves are usually sinusoids that are amplitude and/or phase modulated in response to information to be transmitted. The nominal frequency of the sinusoid is known as the carrier frequency. To create this waveform, the transmitter synthesizes one or more sinusoids and uses upconversion to create a modulated signal riding on a sinusoid with the prescribed carrier frequency. This may be done through direct conversion where the signal is directly modulated on the carrier or through multiple upconversion stages. To process this waveform, the receiver must demodulate the received RF signal and effectively remove the modulating carrier. This requires that the receiver synthesize one or more sinusoidal signals to reverse the process of modulation at the transmitter, known as downconversion. Unfortunately, the sinusoidal signals generated at the transmitter and receiver are derived from different reference oscillators. No reference oscillator creates a perfect frequency reference; in practice there is always some deviation from the true frequency. 
     In wireless communication systems, the differences in the outputs of the reference oscillators at the transmitter and receivers create the phenomena known as carrier frequency offset, or simply frequency offset, at the receiver. Essentially there is some residual modulation in the received signal (corresponding to the difference in the transmit and receive carriers), which occurs after downconversion. This creates distortion in the received signal resulting in higher bit error rates and lower throughput. 
     There are different techniques for dealing with carrier frequency offset. Most approaches estimate the carrier frequency offset at the receiver and then apply a carrier frequency offset correction algorithm. The carrier frequency offset estimation algorithm may be blind using offset QAM (T. Fusco and M. Tanda, “Blind Frequency-offset Estimation for OFDM/OQAM Systems,” IEEE Transactions on Signal Processing, vol. 55, pp. 1828-1838,2007); periodic properties (E. Serpedin, A. Chevreuil, G. B. Giannakis, and P. Loubaton, “Blind channel and carrier frequency offset estimation using periodic modulation precoders,” IEEE Transactions on Signal Processing, vol. 48, no. 8, pp. 2389-2405, August 2000); or the cyclic prefix in orthogonal frequency division multiplexing (OFDM) structure approaches (J. J. van de Beek, M. Sandell, and P. O. Borjesson, “ML estimation of time and frequency offset in OFDM systems,” IEEE Transactions on Signal Processing, vol. 45, no. 7, pp. 1800-1805, July 1997; U. Tureli, H. Liu, and M. D. Zoltowski, “OFDM blind carrier offset estimation: ESPRIT,” IEEE Trans. Commun., vol. 48, no. 9, pp. 1459-1461, September 2000; M. Luise, M. Marselli, and R. Reggiannini, “Low-complexity blind carrier frequency recovery for OFDM signals over frequency-selective radio channels,” IEEE Trans. Commun., vol. 50, no. 7, pp. 1182-1188, July 2002). 
     Alternatively special training signals may be utilized including a repeated data symbol (P. H. Moose, “A technique for orthogonal frequency division multiplexing frequency offset correction,” IEEE Trans. Commun., vol. 42, no. 10, pp. 2908-2914, October 1994); two different symbols (T. M. Schmid) and D. C. Cox, “Robust frequency and timing synchronization for OFDM,” IEEE Trans. Commun., vol. 45, no. 12, pp. 1613-1621, December 1997); or periodically inserted known symbol sequences (M. Luise and R. Reggiannini, “Carrier frequency acquisition and tracking for OFDM systems,” IEEE Trans. Commun., vol. 44, no. 11, pp. 1590-1598, November 1996). The correction may occur in analog or in digital. The receiver can also use carrier frequency offset estimation to precorrect the transmitted signal to eliminate offset. Carrier frequency offset correction has been studied extensively for multicarrier and OFDM systems due to their sensitivity to frequency offset (J. J. van de Beek, M. Sandell, and P. O. Borjesson, “ML estimation of time and frequency offset in OFDM systems,” Signal Processing, IEEE Transactions on [see also Acoustics, Speech, and Signal Processing, IEEE Transactions on], vol. 45, no. 7, pp. 1800-1805, July 1997; U. Tureli, H. Liu, and M. D. Zoltowski, “OFDM blind carrier offset estimation: ESPRIT,” IEEE Trans. Commun., vol. 48, no. 9, pp. 1459-1461, September 2000; T. M. Schmid) and D. C. Cox, “Robust frequency and timing synchronization for OFDM,” IEEE Trans. Commun., vol. 45, no. 12, pp. 1613-1621, December 1997; M. Luise, M. Marselli, and R. Reggiannini, “Low-complexity blind carrier frequency recovery for OFDM signals over frequency-selective radio channels,” IEEE Trans. Commun., vol. 50, no. 7, pp. 1182-1188, July 2002). 
     Frequency offset estimation and correction is an important issue for multi-antenna communication systems, or more generally MIMO (multiple input multiple output) systems. In MIMO systems where the transmit antennas are locked to one frequency reference and the receivers are locked to another frequency reference, there is a single offset between the transmitter and receiver. Several algorithms have been proposed to tackle this problem using training signals (K. Lee and J. Chun, “Frequency-offset estimation for MIMO and OFDM systems using orthogonal training sequences,” IEEE Trans. Veh. Technol., vol. 56, no. 1, pp. 146-156, January 2007; M. Ghogho and A. Swami, “Training design for multipath channel and frequency offset estimation in MIMO systems,” IEEE Transactions on Signal Processing, vol. 54, no. 10, pp. 3957-3965, October 2006, and adaptive tracking C. Oberli and B. Daneshrad, “Maximum likelihood tracking algorithms for MIMOOFDM,” in Communications, 2004 IEEE International Conference on, vol. 4, June 20-24, 2004, pp. 2468-2472). A more severe problem is encountered in MIMO systems where the transmit antennas are not locked to the same frequency reference but the receive antennas are locked together. This happens practically in the uplink of a spatial division multiple access (SDMA) system, which can be viewed as a MIMO system where the different users correspond to different transmit antennas. In this case the compensation of frequency offset is much more complicated. Specifically, the frequency offset creates interference between the different transmitted MIMO streams. It can be corrected using complex joint estimation and equalization algorithms (A. Kannan, T. P. Krauss, and M. D. Zoltowski, “Separation of cochannel signals under imperfect timing and carrier synchronization,” IEEE Trans. Veh. Technol., vol. 50, no. 1, pp. 79-96, January 2001), and equalization followed by frequency offset estimation (T. Tang and R. W. Heath, “Joint frequency offset estimation and interference cancellation for MIMO-OFDM systems [mobile radio],” 2004. VTC2004-Fall. 2004 IEEE 60th Vehicular Technology Conference, vol. 3, pp. 1553-1557, Sep. 26-29, 2004; X. Dai, “Carrier frequency offset estimation for OFDM/SDMA systems using consecutive pilots,” IEEE Proceedings-Communications, vol. 152, pp. 624-632, Oct. 7, 2005). Some work has dealt with the related problem of residual phase off-set and tracking error, where residual phase offsets are estimated and compensated after frequency offset estimation, but this work only consider the uplink of an SDMA OFDMA system (L. Haring, S. Bieder, and A. Czylwik, “Residual carrier and sampling frequency synchronization in multiuser OFDM systems,” 2006. VTC 2006-Spring. IEEE 63rd Vehicular Technology Conference, vol. 4, pp. 1937-1941, 2006). The most severe case in MIMO systems occurs when all transmit and receive antennas have different frequency references. The only available work on this topic only deals with asymptotic analysis of estimation error in flat fading channels (O. Besson and P. Stoica, “On parameter estimation of MIMO flat-fading channels with frequency offsets,” Signal Processing, IEEE Transactions on [see also Acoustics, Speech, and Signal Processing, IEEE Transactions on], vol. 51, no. 3, pp. 602-613, March 2003). 
     A case that has not been significantly investigated occurs when the different transmit antennas of a MIMO system do not have the same frequency reference and the receive antennas process the signals independently. This happens in what is known as a distributed input distributed-output (DIDO) communication system, also called the MIMO broadcast channel in the literature. DIDO systems consist of one access point with distributed antennas that transmit parallel data streams (via precoding) to multiple users to enhance downlink throughput, while exploiting the same wireless resources (i.e., same slot duration and frequency band) as conventional SISO systems. Detailed description of DIDO systems was presented in, S. G. Perlman and T. Cotter, “System and method for distributed input-distributed output wireless communications,” United States Patent Application 20060023803, July 2004. There are many ways to implement DIDO precoders. One solution is block diagonalization (BD) described in, for example, Q. H. Spencer, A. L. Swindlehurst, and M. Haardt, “Zero-forcing methods for downlink spatial multiplexing in multiuser MIMO channels,” IEEE Trans. Sig. Proc., vol. 52, pp. 461-471, February 2004; K. K. Wong, R. D. Murch, and K. B. Letaief, “A joint-channel diagonalization for multiuser MIMO antenna systems,” IEEE Trans. Wireless Comm., vol. 2, pp. 773-786, July 2003; L. U. Choi and R. D. Murch, “A transmit preprocessing technique for multiuser MIMO systems using a decomposition approach,” IEEE Trans. Wireless Comm., vol. 3, pp. 20-24, January 2004; Z. Shen, J. G. Andrews, R. W. Heath, and B. L. Evans, “Low complexity user selection algorithms for multiuser MIMO systems with block diagonalization,” accepted for publication in IEEE Trans. Sig. Proc., September 2005; Z. Shen, R. Chen, J. G. Andrews, R. W. Heath, and B. L. Evans, “Sum capacity of multiuser MIMO broadcast channels with block diagonalization,” submitted to IEEE Trans. Wireless Comm., October 2005; R. Chen, R. W. Heath, and J. G. Andrews, “Transmit selection diversity for unitary precoded multiuser spatial multiplexing systems with linear receivers,” accepted to IEEE Trans. on Signal Processing, 2005. 
     In DIDO systems, transmit precoding is used to separate data streams intended for different users. Carrier frequency offset causes several problems related to the system implementation when the transmit antenna radio frequency chains do not share the same frequency reference. When this happens, each antenna is effectively transmits at a slightly different carrier frequency. This destroys the integrity of the DIDO precoder resulting in each user experiencing extra interference. Proposed below are several solutions to this problem. In one embodiment of the solution, the DIDO transmit antennas share a frequency reference through a wired, optical, or wireless network. In another embodiment of the solution, one or more users estimate the frequency offset differences (the relative differences in the offsets between pairs of antennas) and send this information back to the transmitter. The transmitter then precorrects for the frequency offset and proceeds with the training and precoder estimation phase for DIDO. There is a problem with this embodiment when there are delays in the feedback channel. The reason is that there may be residual phase errors created by the correction process that are not accounted for in the subsequent channel estimation. To solve this problem, one additional embodiment uses a novel frequency offset and phase estimator that can correct this problem by estimating the delay. Results are presented based both on simulations and practical measurements carried out with a DIDO-OFDM prototype. 
     The frequency and phase offset compensation method proposed in this document may be sensitive to estimation errors due to noise at the receiver. Hence, one additional embodiment proposes methods for time and frequency offset estimation that are robust also under low SNR conditions. 
     There are different approaches for performing time and frequency offset estimation. Because of its sensitivity to synchronization errors, many of these approaches were proposed specifically for the OFDM waveform. 
     The algorithms typically do not exploit the structure of the OFDM waveform thus they are generic enough for both single carrier and multicarrier waveforms. The algorithm described below is among a class of techniques that employ known reference symbols, e.g. training data, to aid in synchronization. Most of these methods are extensions of Moose&#39;s frequency offset estimator (see P. H. Moose, “A technique for orthogonal frequency division multiplexing frequency offset correction,” IEEE Trans. Commun., vol. 42, no. 10, pp. 2908-2914, October 1994.). Moose proposed to use two repeated training signals and derived the frequency offset using the phase difference between both received signals. Moose&#39;s method can only correct for the fractional frequency offset. An extension of the Moose method was proposed by Schmidl and Cox (T. M. Schmidl and D. C. Cox, “Robust frequency and timing synchronization for OFDM,” IEEE Trans. Commun., vol. 45, no. 12, pp. 1613-1621, December 1997.). Their key innovation was to use one periodic OFDM symbol along with an additional differentially encoded training symbol. The differential encoding in the second symbol enables integer offset correction. Coulson considered a similar setup as described in T. M. Schmidl and D. C. Cox, “Robust frequency and timing synchronization for OFDM,” IEEE Trans. Commun., vol. 45, no. 12, pp. 1613-1621, December 1997, and provided a detailed discussion of algorithms and analysis as described in A. J. Coulson, “Maximum likelihood synchronization for OFDM using a pilot symbol: analysis,” IEEE J. Select. Areas Commun., vol. 19, no. 12, pp. 2495-2503, December 2001; A. J. Coulson, “Maximum likelihood synchronization for OFDM using a pilot symbol: algorithms,”IEEE J. Select. Areas Commun., vol. 19, no. 12, pp. 2486-2494, December 2001. One main difference is that Coulson uses repeated maximum length sequences to provide good correlation properties. He also suggests using chirp signals because of their constant envelope properties in the time and frequency domains. Coulson considers several practical details but does not include integer estimation. Multiple repeated training signals were considered by Minn et. al. in H. Minn, V. K. Bhargava, and K. B. Letaief, “A robust timing and frequency synchronization for OFDM systems,” IEEE Trans. Wireless Commun., vol. 2, no. 4, pp. 822-839, July 2003, but the structure of the training was not optimized. Shi and Serpedin show that the training structure has some optimality form the perspective of frame synchronization (K. Shi and E. Serpedin, “Coarse frame and carrier synchronization of OFDM systems: a new metric and comparison,” IEEE Trans. Wireless Commun., vol. 3, no. 4, pp. 1271-1284, July 2004). One embodiment of the invention uses the Shi and Serpedin approach to perform frame synchronization and fractional frequency offset estimation. 
     Many approaches in the literature focus on frame synchronization and fractional frequency offset correction. Integer offset correction is solved using an additional training symbol as in T. M. Schmidl and D. C. Cox, “Robust frequency and timing synchronization for OFDM,” IEEE Trans. Commun., vol. 45, no. 12, pp. 1613-1621, December 1997. For example, Morrelli et. al. derived an improved version of T. M. Schmidl and D. C. Cox, “Robust frequency and timing synchronization for OFDM,” IEEE Trans. Commun., vol. 45, no. 12, pp. 1613-1621, December 1997, in M. Morelli, A. N. D&#39;Andrea, and U. Mengali, “Frequency ambiguity resolution in OFDM systems,” IEEE Commun. Lett., vol. 4, no. 4, pp. 134-136, April 2000. An alternative approach using a different preamble structure was suggested by Morelli and Mengali (M. Morelli and U. Mengali, “An improved frequency offset estimator for OFDM applications,” IEEE Commun. Lett., vol. 3, no. 3, pp. 75-77, March 1999). This approach uses the correlations between M repeated identical training symbols to increase the range of the fractional frequency offset estimator by a factor of M. This is the best linear unbiased estimator and accepts a large offset (with proper design) but does not provide good timing synchronization. 
     System Description 
     One embodiment of the invention uses pre-coding based on channel state information to cancel frequency and phase offsets in DIDO systems. See  FIG.  11    and the associated description above for a description of this embodiment. 
     In one embodiment of the invention, each user employs a receiver equipped with frequency offset estimator/compensator. As illustrated in  FIG.  45   , in one embodiment of the invention, a system including the receiver includes a plurality of RF units  4508 , a corresponding plurality of A/D units  4510 , a receiver equipped with a frequency offset estimator/compensator  4512  and a DIDO feedback generator unit  4506 . 
     The RF units  4508  receive signals transmitted from the DIDO transmitter units, downconvert the signals to baseband and provide the downconverted signals to the A/D units  4510 . The A/D units  4510  then convert the signal from analog to digital and send it to the frequency offset estimator/compensator units  4512 . The frequency offset estimator/compensator units  4512  estimate the frequency offset and compensate for it, as described herein, and then send the compensated signal to the OFDM units  4513 . The OFDM units  4513  remove the cyclic prefix and operate the Fast Fourier Transform (FFT) to report the signal to the frequency domain. During the training period the OFDM units  4513  send the output to the channel estimate unit  4504  that computes the channel estimates in the frequency domain. Alternatively, the channel estimates can be computed in the time domain. During the data period the OFDM units  4513  send the output to the DIDO receiver unit  4502  which demodulates/decodes the signal to obtain the data. The channel estimate unit  4504  sends the channel estimates to the DIDO feedback generator unit  4506  that may quantize the channel estimates and send them back to the transmitter via the feedback control channel, as illustrated. 
     Description of One Embodiment of an Algorithm for a DIDO 2×2 Scenario 
     Described below are embodiments of an algorithm for frequency/phase offset compensation in DIDO systems. The DIDO system model is initially described with and without frequency/phase offsets. For the sake of the simplicity, the particular implementation of a DIDO 2×2 system is provided. However, the underlying principles of the invention may also be implemented on higher order DIDO systems. 
     DIDO System Model w/o Frequency and Phase Offset 
     The received signals of DIDO 2×2 can be written for the first user as
 
 r   1 [ t ]= h   11 ( w   11   x   1 [ t ]+ w   21   x   2 [ t ])+ h   12   x   1 [ t ]+ w   22   x   2 [ t ])  (1)
 
and for the second user as
 
 r   2 [ t ]= h   21 ( w   11   x   1 [ t ]+ w   21   x   2 [ t ])+ h   22   x   1 [ t ]+ w   22   x   2 [ t ])  (2)
 
where t is the discrete time index, h mn  hand w mn  are the channel and the DIDO precoding weights between the m-th user and n-th transmit antenna, respectively, and x m  is the transmit signal to user m. Note that h mn  and w mn  are not a function of t since we assume the channel is constant over the period between training and data transmission.
 
     In the presence of frequency and phase offset, the received signals are expressed as
 
 r   1 [ t ]= e   j(ω     U1     −ω     T1     )T     s     (t−t     11     )   h   11 ( w   11   x   1 [ t ]+ w   21   x   2 [ t ])+ e   j(ω     U1     −ω     T2     T     s     (t−t     12     )   h   12 ( w   12   x   1 [ t ]+ w   22   x   2 [ t ])  (3)
 
and
 
 r   2 [ t ]= e   j(ω     U2     −ω     T1     )T     s     (t−t     21     )   h   11 ( w   11   x   1 [ t ]+ w   21   x   2 [ t ])+ e   j(ω     U2     −ω     T2     T     s     (t−t     22     )   h   22 ( w   12   x   1 [ t ]+ w   22   x   2 [ t ])  (4)
 
where T s  is the symbol period, ω Tn , =2Πf Tn  for the n-th transmit antenna, ω Um =2Πf Um  for the m-th user, and f Tn  and f Um  are the actual carrier frequencies (affected by offset) for the n-th transmit antenna and m-th user, respectively. The values t mn  denote random delays that cause phase offset over the channel h mn .  FIG.  46    depicts the DIDO 2×2 system model.
 
     For the time being, we use the following definitions:
 
Δω mn =ω Um −ω Tn   (5)
 
to denote the frequency offset between the m-th user and the n-th transmit antenna.
 
     A method according to one embodiment of the invention is illustrated in  FIG.  47   . The method includes the following general steps (which include sub-steps, as illustrated): training period for frequency offset estimation  4701 ; training period for channel estimation  4702 ; data transmission via DIDO precoding with compensation  4703 . These steps are described in detail below. 
     (a) Training Period for Frequency Offset Estimation ( 4701 ) 
     During the first training period the base station sends one or more training sequences from each transmit antennas to one of the users ( 4701   a ). As described herein “users” are wireless client devices. For the DIDO 2×2 case, the signal received by the m-th user is given by
 
 r   m [ t ]= e   jΔω     m1     T     s     (t−t     m1)     h   m1   p   1 [ t ]+ e   jΔω     m2     T     s     (t−t     m2     )   h   m2   p   2 [ t ]  (6)
 
where p 1  and p 2  are the training sequences transmitted from the first and second antennas, respectively.
 
     The m-th user may employ any type of frequency offset estimator (i.e., convolution by the training sequences) and estimates the offsets Δω m1  and Δω m2 . Then, from these values the user computes the frequency offset between the two transmit antennas as
 
Δω T =Δω m2 −Δω m1 =ω T1 −ω T2   (7)
 
Finally, the value in (7) is fed back to the base station ( 4701   b ).
 
     Note that p 1  and p 2  in (6) are designed to be orthogonal, so that the user can estimate Δω m1  and Δω m2 . Alternatively, in one embodiment, the same training sequence is used over two consecutive time slots and the user estimates the offset from there. Moreover, to improve the estimate of the offset in (7) the same computations described above can be done for all users of the DIDO systems (not just for the m-th user) and the final estimate may be the (weighted) average of the values obtained from all users. This solution, however, requires more computational time and amount of feedback. Finally, updates of the frequency offset estimation are needed only if the frequency offset varies over time. Hence, depending on the stability of the clocks at the transmitter, this step  4701  of the algorithm can be carried out on a long-term basis (i.e., not for every data transmission), resulting in reduction of feedback overhead.
         (b) Training Period for Channel Estimation ( 4702 )   (c) During the second training period, the base station first obtains the frequency offset feedback with the value in (7) from the m-th user or from the plurality of users. The value in (7) is used to pre-compensate for the frequency offset at the transmit side. Then, the base station sends training data to all the users for channel estimation ( 4702   a ).       

     For DIDO 2×2 systems, the signal received at the first user is given by
 
 r   1 [ t ]= e   jΔω     11     T     s     (t−{tilde over (t)}     11     )   h   11   p   1 [ t ]+ e   jΔω     12     T     s     (t−{tilde over (t)}     12     )   h   12   e   −jΔω     T     T     s     t   p   2 [ t ]  (8)
 
and at the second user by
 
 r   2 [ t ]= e   jΔω     21     T     s     (t−{tilde over (t)}     21     )   h   21   p   1 [ t ]+ e   jΔω     22     T     s     (t−{tilde over (t)}     22     )   h   22   e   −jΔω     T     T     s     t   p   2 [ t ]  (9)
 
where {tilde over (t)} mn =t mn +Δt and Δt is random or known delay between the first and second transmissions of the base station. Moreover, p 1  and p 2  are the training sequences transmitted from the first and second antennas, respectively, for frequency offset and channel estimation.
 
     Note that the pre-compensation is applied only to the second antennas in this embodiment. 
     Expanding (8) we obtain
 
 r   1 [ t ]= e   jΔω     11     T     s     t   e   jθ     11   [ h   11   p   1 [ t ]+ e   j(θ     12     −θ     11     )   h   12   p   2 [ t ]]  (10)
 
and similarly for the second user
 
 r   2 [ t ]= e   jΔω     21     T     s     t   e   jθ     21   [ h   21   p   1 [ t ]+ e   j(θ     22     −θ     21     )   h   22   p   2 [ t ]]  (11)
 
where θ mn =−ω mn T s {tilde over (t)} mn .
 
     At the receive side, the users compensate for the residual frequency offset by using the training sequences p 1  and p 2 . Then the users estimate via training the vector channels ( 4702   b ) 
     
       
         
           
             
               
                 
                   
                     h 
                     1 
                   
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 h 
                                 11 
                               
                             
                           
                           
                             
                               
                                 
                                   e 
                                   
                                     j 
                                     ⁡ 
                                     ( 
                                     
                                       
                                         θ 
                                         12 
                                       
                                       - 
                                       
                                         θ 
                                         11 
                                       
                                     
                                     ) 
                                   
                                 
                                 ⁢ 
                                 
                                   h 
                                   12 
                                 
                               
                             
                           
                         
                         ] 
                       
                       ⁢ 
                       
                         h 
                         2 
                       
                     
                     = 
                     
                       [ 
                       
                         
                           
                             
                               h 
                               21 
                             
                           
                         
                         
                           
                             
                               
                                 e 
                                 
                                   j 
                                   ⁡ 
                                   ( 
                                   
                                     
                                       θ 
                                       22 
                                     
                                     - 
                                     
                                       θ 
                                       21 
                                     
                                   
                                   ) 
                                 
                               
                               ⁢ 
                               
                                 h 
                                 22 
                               
                             
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
     These channel in (12) or channel state information (CSI) is fed back to the base station ( 4702   b ) that computes the DIDO precoder as described in the following subsection. 
     (d) DIDO Precoding with Pre-compensation ( 4703 ) 
     The base station receives the channel state information (CSI) in (12) from the users and computes the precoding weights via block diagonalization (BD) (4703a), such that
 
 w   1   T   h   2 =0, w   2   T   h   1 =0  (13)
 
where the vectors h 1  are defined in (12) and w m =[w m1 ,w m2 ]. Note that the invention presented in this disclosure can be applied to any other DIDO precoding method besides BD. The base station also pre-compensates for the frequency offset by employing the estimate in (7) and phase offset by estimating the delay (Δt o ) between the second training transmission and the current transmission ( 4703   a ). Finally, the base station sends data to the users via the DIDO precoder ( 4703   b ).
 
     After this transmit processing, the signal received at user 1 is given by 
                   	         r   1     [   t   ]     =         e     j   ⁢     Δω   11     ⁢       T   s     (     t   -       t   ~     11     -     Δ   ⁢     t   o         )         ⁢       h   11     [         w   11     ⁢       x   1     [   t   ]       +       w   21     ⁢       x   2     [   t   ]         ]       =         e     j   ⁢     Δω   12     ⁢       T   s     (     t   -       t   ~     12     -     Δ   ⁢     t   o         )         ⁢     h   12     ⁢       e     -   j   ⁢     Δω   T     ⁢       T   S     (     t   -     Δ   ⁢     t   o         )         [         w   12     ⁢       x   1     [   t   ]       +       w   22     ⁢       x   2     [   t   ]         ]       =           γ   1     [   t   ]     [         h   11     (         w     11           ⁢       x   1     [   t   ]       +       w   21     ⁢       x   2     [   t   ]         )     +       e       j   ⁡   (         Δω   11     ⁢     t   11       -       Δω   12     ⁢     t   12         )     ⁢     T   s         ⁢       h   12     (         w   12     ⁢       x   1     [   t   ]       +       w   22     ⁢       x   2     [   t   ]         )         ]     =         γ   1     [   t   ]     [         (         h   11     ⁢     w   11       +       e     j   ⁡   (       θ   12     -     θ   11       )       ⁢     h   12     ⁢     w   12         )     ⁢       x   1     [   t   ]       +       (         h   11     ⁢     w   21       +       e     j   ⁡   (       θ   12     -     θ   11       )       ⁢     h   12     ⁢     w   22         )     ⁢       x   2     [   t   ]         ]                     (   14   )               
where γ 1 =e jΔω     11     T     s     (t−{tilde over (t)}     11     −Δt     o     ) . Using the property (13) we obtain
 
 r   1 [ t ]=γ 1 [ t ] w   1   T   h   1   x   1 [ t ].  (15)
 
     Similarly, for user 2 we get
 
 r   2 [ t ]= e   jΔω     21     T     s     (t−{tilde over (t)}     21     −Δt     o     )h   21 [ w   11   x   1 [ t ]+ w   21   x   2 [ t ]]+ e   jΔω     22     T     s     (t−{tilde over (t)}     22     −Δt     o     )   h   22   e   −jΔω     T     T     s     (t−Δt     o     )[w   12   x   1 [ t ]+ w   22   x   2 [ t ]]  (16)
 
and expanding (16)
 
 r   2 [ t ]=γ 2 [ t ] w   2   T   h   2   x   2 [ t ]  (17)
 
where γ 2 [t]=e jΔω     21     T     s     (t−{tilde over (t)}     21     Δt     o     ) .
 
     Finally, the users compute the residual frequency offset and the channel estimation to demodulate the data streams x 1 [t] and x 2 [t] ( 4703   c ). 
     Generalization to DIDO N×M 
     In this section, the previously described techniques are generalized to DIDO systems with N transmit antennas and M users. 
     i. Training Period for Frequency Offset Estimation 
     During the first training period, the signal received by the m-th user as a result of the training sequences sent from the N antennas is given by 
                       r   m     [   t   ]     =       ∑     n   =   1     N             e     j   ⁢     Δω   mn     ⁢       T   s     (     t   -     t   mn       )         ⁢     h   mn     ⁢       p   n     [   t   ]                 (   18   )               
where p n  is the training sequences transmitted from the n-th antenna.
 
     After estimating the offsets Δω mn , ∀n=1, . . . , N, the m-th user computes the frequency offset between the first and the n-th transmit antenna as
 
Δω T,1n =Δω mn −Δω m1 =ω T1 −ω Tn .  (19)
 
Finally, the values in (19) are fed back to the base station.
 
     ii. Training Period for Channel Estimation 
     During the second training period, the base station first obtains the frequency offset feedback with the value in (19) from the m-th user or from the plurality of users. The value in (19) is used to pre-compensate for the frequency offset at the transmit side. Then, the base station sends training data to all the users for channel estimation. 
     For DIDO N×M systems, the signal received at the m-th user is given by 
                       r   m     [   t   ]     =           e     j   ⁢     Δω     m   ⁢   1       ⁢       T   S     (     t   -       t   ~       m   ⁢   1         )         ⁢     h     m   ⁢   1       ⁢       p   1     [   t   ]       +       ∑     n   =   2     N             e     j   ⁢     Δω   mn     ⁢       T   s     (     t   -       t   ~     mn       )         ⁢     h   mn     ⁢     e     -   j   ⁢     Δω     T   ,     1   ⁢   n         ⁢     T   s     ⁢   t       ⁢       p   n     [   t   ]           =         e     j   ⁢     Δω     m   ⁢   1       ⁢       T   s     (     t   -       t   ~       m   ⁢   1         )         [         h     m   ⁢   1       ⁢       p   1     [   t   ]       +       ∑     n   =   2     N             e     j   ⁡   (       θ   mn     -     θ     m   ⁢   1         )       ⁢     h   mn     ⁢       p   n     [   t   ]           ]     =       e     j   ⁢     Δω     m   ⁢   1       ⁢       T   s     (     t   -       t   ~       m   ⁢   1         )         ⁢       ∑     n   =   1     N             e     j   ⁡   (       θ   mn     -     θ     m   ⁢   1         )       ⁢     h   mn     ⁢       p   n     [   t   ]                       (   20   )               
where θ mn =−Δω mn T s {tilde over (t)} mn ,{tilde over (t)} mn =t mn +Δt and Δt is random or known delay between the first and second transmissions of the base station. Moreover, p n  is the training sequence transmitted from the n-th antenna for frequency offset and channel estimation.
 
     At the receive side, the users compensate for the residual frequency offset by using the training sequences p n . Then, each users m estimates via training the vector channel 
                     h   m     =     [           h     m   ⁢   1                   e     j   ⁡   (       θ     m   ⁢   2       -     θ     m   ⁢   1         )       ⁢     h     m   ⁢   2                 ⋮               e     j   ⁡   (       θ   mN     -     θ     m   ⁢   1         )       ⁢     h   mN             ]             (   21   )               
and feeds back to the base station that computes the DIDO precoder as described in the following subsection.
 
     iii. DIDO Precoding with Pre-compensation 
     The base station receives the channel state information (CSI) in (12) from the users and computes the precoding weights via block diagonalization (BD), such that
 
 w   m   T   h   l =0,∀ m≠l,m= 1, . . . , M   (22)
 
where the vectors h m  are defined in (21) and w m =[w m1 , w m2 , . . . , w mN ]. The base station also pre-compensates for the frequency offset by employing the estimate in (19) and phase offset by estimating the delay (Δt o ) between the second training transmission and the current transmission. Finally, the base station sends data to the users via the DIDO precoder.
 
     After this transmit processing, the signal received at user i is given by 
                       r   i     [   t   ]     =       e     j   ⁢     Δω     i   ⁢   1       ⁢       T   s     (     t   -       t   ~       i   ⁢   1       -     Δ   ⁢     t   o         )         ⁢     h     i   ⁢   1       ⁢       ∑     m   =   1     M             w     m   ⁢   1       ⁢         x   m     [   t   ]     ++                   (   23   )                         ∑     n   =   2     N             e     j   ⁢     Δω   in     ⁢       T   s     (     t   -       t   ~     in     -     Δ   ⁢     t   o         )         ⁢     h   in     ⁢     e     -   j   ⁢     Δω     T   ,     1   ⁢   n         ⁢       T   s     (     t   -     Δ   ⁢     t   o         )         ⁢       ∑     m   =   1     M             w   mn     ⁢       x   m     [   t   ]             =                   e     j   ⁢     Δω     i   ⁢   1       ⁢       T   s     (     t   -     Δ   ⁢     t   o         )         ⁢     e     -   j   ⁢     Δω     i   ⁢   1       ⁢     T   s     ⁢       t   ~       i   ⁢   1           ⁢     h     i   ⁢   1       ⁢       ∑     m   =   1     M             w     m   ⁢   1       ⁢       x   m     [   t   ]           +                   ∑     n   =   2     N             e     j   ⁢     Δω     i   ⁢   1       ⁢       T   s     (     t   -     Δ   ⁢     t   o         )         ⁢     e     -   j   ⁢     Δω   in     ⁢     T   s     ⁢       t   ~     in         ⁢     h   in     ⁢       ∑     m   =   1     M             w   mn     ⁢       x   m     [   t   ]             =                     γ   i     [   t   ]     [         h     i   ⁢   1       ⁢       ∑     m   =   1     M             w     m   ⁢   1       ⁢       x   m     [   t   ]           +       ∑     n   =   2     N             e     j   ⁡   (       θ   in     -     θ     i   ⁢   1         )       ⁢     h   in     ⁢       ∑     m   =   1     M             w     m   ⁢   1       ⁢       x   m     [   t   ]               ]     =                     γ   i     [   t   ]     [       ∑     n   =   1     N             e     j   ⁡   (       θ   in     -     θ     i   ⁢   1         )       ⁢     h   in     ⁢       ∑     m   =   1     M             w   mn     ⁢       x   m     [   t   ]             ]     =                     γ   i     [   t   ]     ⁢       ∑     m   =   1     M             [       ∑     n   =   1     N             e     j   ⁡   (       θ   in     -     θ     i   ⁢   1         )       ⁢     h   in     ⁢     w   mn         ]     ⁢       x   m     [   t   ]           =         γ   i     [   t   ]     ⁢       ∑     m   =   1     M             w   m   T     ⁢     h   i     ⁢       x   m     [   t   ]                 
Where γ i [n]=e jΔω     i1     T     s     (t−{acute over (t)}     i1     −Δt     o     ). Using the property ( 22) we obtain
 
 r   i [ t ]=γ i [ t ] w   i   T   h   i   x   i [ t ]  (24)
 
     Finally, the users compute the residual frequency offset and the channel estimation to demodulate the data streams x i [t]. 
     Results 
       FIG.  48    shows the SER results of DIDO 2×2 systems with and without frequency offset. It is possible to see that the proposed method completely cancels the frequency/phase offsets yielding the same SER as systems without offsets. 
     Next, we evaluate the sensitivity of the proposed compensation method to frequency offset estimation errors and/or fluctuations of the offset in time. Hence, we re-write (14) as
 
 r   1 [ t ]= e   jΔω     11     T     s     (t−{tilde over (t)}     11     −Δt     o     )h   11 [ w   11   x   1 [ t ]+ w   21   x   2 [ t ]]+ e   jΔω     12     T     s     (t−{tilde over (t)}     12     −Δt     o     )   h   12   e   −j(Δω     T     +2Πϵ)T     s     (t−Δt     o     )[   w   12   x   1 [ t ]+ w   22   x   2 [ t ]]  (25)
 
where ϵ indicates the estimation error and/or variation of the frequency offset between training and data transmission. Note that the effect of E is to destroy the orthogonality property in (13) such that the interference terms in (14) and (16) are not completely pre-canceled at the transmitter. As a results of that, the SER performance degrades for increasing values of ϵ.
 
       FIG.  48    shows the SER performance of the frequency offset compensation method for different values of ϵ. These results assume T s =0.3 ms (i.e., signal with 3 KHz bandwidth). We observe that for ϵ=0.001 Hz (or less) the SER performance is similar to the no offset case. 
     f. Description of One Embodiment of an Algorithm for Time and Frequency Offset Estimation 
     Hereafter, we describe additional embodiments to carry out time and frequency offset estimation ( 4701   b  in  FIG.  47   ). The transmit signal structure under consideration is illustrated in H. Minn, V. K. Bhargava, and K. B. Letaief, “A robust timing and frequency synchronization for OFDM systems,” IEEE Trans. Wireless Commun., vol. 2, no. 4, pp. 822-839, July 2003, and studied in more detail in K. Shi and E. Serpedin, “Coarse frame and carrier synchronization of OFDM systems: a new metric and comparison,” IEEE Trans. Wireless Commun., vol. 3, no. 4, pp. 1271-1284, July 2004. Generally sequences with good correlation properties are used for training. For example, for our system, Chu sequences are used which are derived as described in D. Chu, “Polyphase codes with good periodic correlation properties (corresp.),” IEEE Trans. Inform. Theory, vol. 18, no. 4, pp. 531-532, July 1972. These sequences have an interesting property that they have perfect circular correlations. Let L cp  denote the length of the cyclic prefix and let N t  denote the length of the component training sequences. Let N t =M t , where M t  is the length of the training sequence. Under these assumptions the transmitted symbol sequence for the preamble can be written as
         s[n]=t[n−N t ] for n=−1, . . . , −L cp      s[n]=t[n] for n=0, . . . , N t −1   s[n]=t[n−N t ] for n=N t , . . . , 2N t −1   s[n]=−t[n−2N t ] for n=2N t , . . . , 3N t −1   s[n]=t[n−3N t ] for n=3N t , . . . , 4N t −1.
 
Note that the structure of this training signal can be extended to other lengths but repeating the block structure. For example, to use 16 training signals we consider a structure such as:
   [CP,B,B, —B,B,B,B, —B,B, —B, —B,B, —B,B,B, —B,B,].
 
By using this structure and letting N t =4 M t  all the algorithms to be described can be employed without modification. Effectively we are repeating the training sequence. This is especially useful in cases where a suitable training signal may not be available.
       

     Consider the following received signal, after matched filtering and downsampling to the symbol rate: 
               r   [   n   ]     =         e     2     πϵ   ⁢   n         ⁢       ∑     l   =   0     L         h   [   l   ]     ⁢     s   [     n   -   l   -   Δ     ]           +     v   [   n   ]             
where ε is the unknown discrete-time frequency offset, Δ is the unknown frame offset, h[I] are the unknown discrete-time channel coefficients, and v[n] is additive noise. To explain the key ideas in the following sections the presence of additive noise is ignored.
 
     The purpose of coarse frame synchronization is to solve for the unknown frame offset Δ. Let us make the following definitions
 
 r   1 [ n ]:=[ r [ n ], r [ n+ 1], . . . , r [ n+N   t −1]] T ,
 
   r     1 [ n ]:=[ r [ n+L   cp ], r [ n+ 1], . . . , r [ n+N   t −1]] T ,
 
 r   2 [ n ]:=[ r [ n+N   t ], r [ n+ 1+ N   t ], . . . , r [ n+ 2 N   t −1]] T ,
 
   r     2 [ n ]:=[ r [ n+L   cp   +N   t ], r [ n+ 1+ L   cp   +N   t ], . . . , r [ n+L   cp +2 N   t −1]] T ,
 
 r   3 [ n ]:=[ r [ n+ 2 N   t ], r [ n+ 1+2 N   t ], . . . , r [ n+ 3 N   t −1]] T ,
 
   r     3 [ n ]:=[ r [ n+L   cp +2 N   t ], r [ n+L   cp +1+2 N   t ], . . . , r [ n+L   cp +3 N   t −1]] T ,
 
 r   4 [ n ]:=[ r [ n+ 3 N   t ], r [ n+ 1+3 N   t ], . . . , r [ n+ 4 N   t −1]] T ,
 
   r     4 [ n ]:=[ r [ n+L   cp +3 N   t ], r [ n+L   cp +1+3 N   t ], . . . , r [ n+L   cp +4 N   t −1]] T .
 
The proposed coarse frame synchronization algorithm is inspired from the algorithm in K. Shi and E. Serpedin, “Coarse frame and carrier synchronization of OFDM systems: a new metric and comparison,” IEEE Trans. Wireless Commun., vol. 3, no. 4, pp. 1271-1284, July 2004, derived from a maximum likelihood criterion.
 
Method 1— Improved Coarse Frame Synchronization: The Coarse Frame Synchronization Estimator Solves the Following Optimization
 
               Δ   ˆ     =         arg   ⁢        max       k   ⁢   ε   ⁢   Z       ⁢           ❘   &#34;\[LeftBracketingBar]&#34;         P   1     (   k   )       ❘   &#34;\[RightBracketingBar]&#34;       +       ❘   &#34;\[LeftBracketingBar]&#34;         P   2     (   k   )       ❘   &#34;\[RightBracketingBar]&#34;       +       ❘   &#34;\[LeftBracketingBar]&#34;         P   3     (   k   )       ❘   &#34;\[RightBracketingBar]&#34;                    r   1          2     +            r   2          2     +            r   3          2     +            r   4          2     +       1   2     ⁢     (                r   ¯     1          2     +              r   ¯     2          2     +              r   ¯     3          2     +              r   ¯     4          2       )                   
where P 1 =[k]=r* 1 [k]r 2 [k]−r* 3 [k]r 4 − r * 2 [k] r   3 [k]
         P 2  [k]=r* 2 [k]r 4 [k]−r* 1 [k]r 3  [k]   P 3 [k]= r * 1 [k] r   4 [k].
 
Let the corrected signal be defined as
 
 r   c [ n ]= r [ n−{circumflex over (Δ)}−┌L   cp /4┐].
 
The additional correction term is used to compensate for small initial taps in the channel and can be adjusted based on the application. This extra delay will be included henceforth in the channel.
       

     The fractional frequency offset correction follows the coarse frame synchronization block. 
     Method 2—Improved fractional frequency offset correction: the fractional frequency offset is the solution to 
                 ϵ   ^     f     =         phase   ⁢       P   1     [     Δ   ˆ     ]         2   ⁢       π   ⁢   N     t         .           
This is known as a fractional frequency offset because the algorithm can only correct for offsets
 
                 ❘   &#34;\[LeftBracketingBar]&#34;         ϵ   ^     f       ❘   &#34;\[RightBracketingBar]&#34;       &lt;       1     2   ⁢     N   t         .           
This problem will be solved in the next section. Let the fine frequency offset corrected signal be defined as
 
 r   f [ n ]= e   −j2π{circumflex over (ϵ)}f   r   c [ n ].
 
     Note that the Methods 1 and 2 are an improvement to K. Shi and E. Serpedin, “Coarse frame and carrier synchronization of OFDM systems: a new metric and comparison,” IEEE Trans. Wireless Commun., vol. 3, no. 4, pp. 1271-1284, July 2004 that works better in frequency-selective channels. One specific innovation here is the use of both r and  r  as described above. The use of  r  improves the prior estimator because it ignores the samples that would be contaminated due to inter-symbol interference. 
     To correct for the integer frequency offset, it is necessary to write an equivalent system model for the received signal after fine frequency offset correction. Absorbing remaining timing errors into the channel, the received signal in the absence of noise has the following structure: 
                 r   f     [   n   ]     =       e     j   ⁢   2   ⁢   π   ⁢       n   ⁢   k       N   s           ⁢       ∑     l   =   0       L   cp           g   [   l   ]     ⁢     s   [     n   -   l     ]                 
for n=0, 1, . . . , 4N t −1. The integer frequency offset is k while the unknown equivalent channel is g[I].
 
Method 3—Improved integer frequency offset correction: the integer frequency offset is the solution to
 
               k   ˆ     =     arg     max       m   =   0     ,   1   ,   …         ,       N   t     -   1           r   *     ⁢     D   [   k   ]     ⁢       S   ⁡   (       S   *     ⁢   S     )       -   1       ⁢     S   *     ⁢       D   [   k   ]     *     ⁢   r           
where
 
 r=D [ k ] Sg  
 
                     D   [   k   ]     :=     diag   ⁢     {     1   ,         e     j   ⁢   2   ⁢   π   ⁢       n   ⁢   1       N   t           ,   …         ,         e     j   ⁢   2   ⁢   π   ⁢       n   (       4   ⁢     N   t       -   1         N   t             }                   S   :=     [           s   [   0   ]           s   [     -   1     ]         …       …         s   [     -     L     c   ⁢   p         ]               s   [   1   ]           s   [   0   ]           s   [     -   1     ]         …         s   [       -     L     c   ⁢   ρ         +   1     ]               s   [       4   ⁢     N   t       -   1     ]           s   [       4   ⁢     N   t       -   2     ]           s   [       4   ⁢     N   t       -   3     ]         …         s   [       4   ⁢     N   t       -   1   -     L   cp       ]           ]                 g   :=     [           g   [   0   ]               g   [   1   ]             ⋮             g   [     L   cp     ]           ]                 
This gives the estimate of the total frequency offset as
 
               ϵ   ^     =         k   ˆ       N   t       +         ϵ   ˆ     f     .             
Practically, Method 3 has rather high complexity. To reduce complexity the following observations can be made. First of all, the product S(S*S) −1 S* can be precomputed. Unfortunately, this still leaves a rather large matrix multiplication. An alternative is to exploit the observation that with the proposed training sequences, S*S≈I. This leads to the following reduced complexity method.
 
Method 4—Low-complexity improved integer frequency offset correction: a low complexity integer frequency offset estimator solves
 
     
       
         
           
             
               k 
               ˆ 
             
             = 
             
               arg 
               ⁢ 
               
                 
                   
                     max 
                     
                       
                         m 
                         = 
                         0 
                       
                       , 
                       1 
                       , 
                       … 
                           
                       , 
                       
                         
                           N 
                           t 
                         
                         - 
                         1 
                       
                     
                   
                   ( 
                   
                     
                       S 
                       * 
                     
                     ⁢ 
                     
                       
                         D 
                         [ 
                         k 
                         ] 
                       
                       * 
                     
                     ⁢ 
                     r 
                   
                   ) 
                 
                 * 
               
               ⁢ 
               
                 
                   ( 
                   
                     
                       S 
                       * 
                     
                     ⁢ 
                     
                       
                         D 
                         [ 
                         k 
                         ] 
                       
                       * 
                     
                     ⁢ 
                     r 
                   
                   ) 
                 
                 . 
               
             
           
         
       
     
     iv. Results 
     In this section we compare the performance of the different proposed estimators. 
     First, in  FIG.  50    we compare the amount of overhead required for each method. Note that both of the new methods reduce the overhead required by 10× to 20×. To compare the performance of the different estimators, Monte Carlo experiments were performed. The setup considered is our usual NVIS transmit waveform constructed from a linear modulation with a symbol rate of 3K symbols per second, corresponding to a passband bandwidth of 3 kHz, and raised cosine pulse shaping. For each Monte Carlo realization, the frequency offset is generated from a uniform distribution on [−f max , f max ]. 
     A simulation with a small frequency offset of f max =2 Hz and no integer offset correction is illustrated in  FIG.  51   . It can be seen from this performance comparison that performance with N t /M t =1 is slightly degraded from the original estimator, though still substantially reduces overhead. Performance with N t /M t =4 is much better, almost 10 dB. All the curves experience a knee at low SNR points due to errors in the integer offset estimation. A small error in the integer offset can create a large frequency error and thus a large mean squared error. Integer offset correction can be turned off in small offsets to improve performance. 
     In the presence of multipath channels, the performance of frequency offset estimators generally degrades. Turning off the integer offset estimator, however, reveals quite good performance in  FIG.  52   . Thus, in multipath channels it is even more important to perform a robust coarse correction followed by an improved fine correction algorithm. Notice that the offset performance with N t /M t =4 is much better in the multipath case. 
     Adaptive DIDO Transmission Scheme 
     New systems and methods for adaptive DIDO systems are described below. These systems and methods are extensions to the patent applications entitled “System and Method for Distributed Input-Distributed Output Wireless Communications,” Ser. Nos. 11/894,394, 11/894,362, and 11/894,540, filed Aug. 20, 2007, of which the present application is a continuation-in-part. The content of these applications has been described above. The adaptive DIDO system and method described in the foregoing applications were designed to exploit instantaneous and/or statistical channel quality information. Described below are additional techniques to enable adaptation between different DIDO modes assuming instantaneous channel knowledge. 
     The following prior art references will be discussed below within the context of the embodiments of the invention. Each reference will be identified by its corresponding bracketed number:
     [1] K. K. Wong, R. D. Murch, and K. B. Letaief, “A joint-channel diagonalization for multiuser MIMO antenna systems,”  IEEE Trans. Commun ., vol. 2, no. 4, pp. 773-786, July 2003.   [2] R. Chen, R. W. Heath, Jr., and J. G. Andrews, “Transmit Selection Diversity for Unitary Precoded Multiuser Spatial Multiplexing Systems with Linear Receivers,”  IEEE Trans. on Signal Processing , vol. 55, no. 3, pp. 1159-1171, March 2007.   [3] R. W. Heath, Jr. and A. J. Paulraj, “Switching Between Diversity and Multiplexing in MIMO Systems,”  IEEE Trans. on Communications , vol. 53, no. 6, pp. 962-968, June 2005.   

     A fundamental concept associated with link adaptation (LA) is to adaptively adjust system parameters such as modulation order, FEC coding rate and/or transmission schemes to the changing channel conditions to improve throughput or error rate performance. These system parameters are often combined in sets of “transmission modes,” referred to herein as DIDO modes. One embodiment of a technique for LA is to measure the channel quality information and predict the best transmission mode based on certain performance criterion. The channel quality consists of statistical channel information, as in slow LA, or (instantaneous) CSI, as in fast LA. One embodiment of the system and method described herein is employed within the context of fast LA systems and the goal is to increase throughput for fixed predefined target error rate. 
     One embodiment of a method for adaptive DIDO transmission is depicted in  FIG.  21   . In frequency division duplex (FDD) systems the proposed adaptive algorithm consists of the following steps: i) the users compute the channel quality indicator (CQI)  2102 ; ii) the users select the best DIDO mode for transmission  2106  based on the CQI in time/frequency/space domains  2104 ; iii) the base station selects the active users and transmits data with the selected DIDO modes via DIDO precoding. In time division duplex (TDD) systems, where the uplink/downlink channel reciprocity can be exploited, the base station may compute the CQIs and select the best DIDO modes for all the users. Moreover, to compute the DIDO precoding weights, the channel state information (CSI) can be computed at the users side in FDD systems or at the base station in TDD systems. When the CSI is computed at the users&#39; side and fed back to the base station, the base station can exploit the CSI to compute the CQI for every users to enable the adaptive DIDO algorithm. 
     We first define an indicator of channel quality that is used to predict the performance of different DIDO modes and select the optimal one for given transmission. One example of channel quality indicator (CQI) is the mutual information (MI) of DIDO systems defined as [1,2] 
     
       
         
           
             
               
                 
                   C 
                   = 
                   
                     
                       ∑ 
                       
                         k 
                         = 
                         1 
                       
                       K 
                     
                       
                     
                       
                         log 
                         2 
                       
                       ⁢ 
                       
                         
                           ❘ 
                           &#34;\[LeftBracketingBar]&#34; 
                         
                         
                           
                             I 
                             
                               N 
                               k 
                             
                           
                           + 
                           
                             
                               
                                 γ 
                                 k 
                               
                               
                                 N 
                                 k 
                               
                             
                             ⁢ 
                             
                               
                                 H 
                                 ~ 
                               
                               k 
                               H 
                             
                             ⁢ 
                             
                               
                                 H 
                                 ~ 
                               
                               k 
                             
                           
                         
                         
                           ❘ 
                           &#34;\[RightBracketingBar]&#34; 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     where K is the number of users, {acute over (H)} k =H k T k  is the equivalent channel transfer matrix, H k  is the channel matrix for the k-th user, T k  is the DIDO precoding matrix for the k-th user, γ k  is the per-user SNR and N k  is the number of parallel data streams sent to user k. We observe that the CQI in (1) depends on the SNR and the channel matrix. 
     The MI in (1) measures the data rate per unit bandwidth that can be transmitted reliably over the DIDO link (i.e., error-free spectral efficiency). When the spectral efficiency (SE) of given DIDO mode is below the MI in (1) the error rate performance is arbitrarily small, whereas when the SE exceeds (1) the error rate approaches 100%. As an example, we plot the spectral efficiency of three DIDO modes as a function of the MI (1) in  FIG.  53   . The DIDO modes consist of three constellation orders: 4-QAM, 16-QAM and 64-QAM. For simplicity and without loss of generality we assume no FEC coding. The transmitter of the 2×2 DIDO system employs block-diagonalization precoding scheme [1]. The SE is obtained from the symbol error rate as SE=log 2 M*(1-SER), where M is the M-QAM constellation size. We simulate the channel according to the block fading i.i.d. channel model. We generate 1000 channel realizations and for each realization we simulate 500 AWGN samples. The SNR values chosen for this simulation are {0, 10, 20, 30} dB. 
     In  FIG.  53   , each dot corresponds to one combination of mutual information and SE obtained within each AWGN block. Moreover, different colors are associated to different values of SNR. Similar results are expressed in terms of SER as a function of the MI (1) in  FIG.  54   . For the case of 4-QAM, we note that when the SE exceeds MI in  FIG.  53    the SER is close to 100% in  FIG.  54   . Unfortunately, there is a large variance in the SER vs. MI plot that prevent the identification of the thresholds used to define the link-quality regions. 
     Next, we define another CQI to reduce this variance. We first expand (1) as 
             C   =       ∑     k   =   1     K             ∑     i   =   1       N   k               log   2     (     1   +         γ   k       N   k       ⁢         ❘   &#34;\[LeftBracketingBar]&#34;       λ     k   ,   i         ❘   &#34;\[RightBracketingBar]&#34;       2         )               
where λ k,i  is the i-th singular value of the matrix {tilde over (H)} k . We observe that the per-user SER (which is a function of the post-processing SNR) depends on λ min   k =min i=1, . . . ,N     k   (λ k,i ) and the system SER is upper bounded by the user with the smallest singular value λ min =min i=1, . . . , K (λ min   k ) among all the users [2]. Then, we define the following CQI
 
     
       
         
           
             
               
                 
                   
                     C 
                     min 
                   
                   = 
                   
                     
                       min 
                       
                         
                           k 
                           = 
                           1 
                         
                         , 
                             
                         … 
                             
                         , 
                         K 
                       
                     
                     
                       { 
                       
                         
                           min 
                           
                             
                               i 
                               = 
                               1 
                             
                             , 
                                 
                             … 
                                 
                             , 
                             
                               N 
                               k 
                             
                           
                         
                         [ 
                         
                           
                             log 
                             2 
                           
                           ( 
                           
                             1 
                             + 
                             
                               
                                 
                                   γ 
                                   k 
                                 
                                 
                                   N 
                                   k 
                                 
                               
                               ⁢ 
                               
                                 
                                   
                                     ❘ 
                                     &#34;\[LeftBracketingBar]&#34; 
                                   
                                   
                                     λ 
                                     
                                       k 
                                       , 
                                       i 
                                     
                                   
                                   
                                     ❘ 
                                     &#34;\[RightBracketingBar]&#34; 
                                   
                                 
                                 2 
                               
                             
                           
                           ) 
                         
                         ] 
                       
                       } 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
       FIG.  55    shows the SER vs. C min  for different DIDO modes. We observe the reduced variance compared to  FIG.  54   . To define the CQI thresholds and link-quality regions, we fix the target SER. For example, if the target SER is 1%, the CQI thresholds are T 1 =2.8 bps/Hz, T 2 =5 bps/Hz and T 3 =7 bps/Hz. 
     Finally, we compare the SER and SE performance as a function of SNR for different DIDO modes against the adaptive DIDO algorithm. Results are shown in  FIGS.  56  and  57   . We observe that the adaptive algorithm maintains the SER below 1% for SNR&gt;20 dB while increasing the SE, approaching the ideal sum-rate capacity.  FIGS.  58  and  59    show the performance of the adaptive DIDO algorithm for different values of the CQI thresholds. We observe that by decreasing the CQI thresholds for fixed SNR the SE increases at the expense of larger SER. In one embodiment, the CQI thresholds are adjusted based on the system performance requirements. 
     The proposed method for fast LA in DIDO systems includes different types of adaptation criteria and CQIs. For example, a similar adaptive DIDO algorithm can be designed to minimize error rate performance for fixed rate transmission, similar to the approach described in [3] for MIMO systems. Moreover, different types of CQIs can be employed such as the minimum singular value of the composite channel matrix as
 
λ min =min j=1, . . . ,N {λ j (HH H )}  (3)
 
where
 
               N   _     =       ∑     k   =   1     K           N   k             
is the total number of data streams sent to the users and H is the composite channel matrix obtained by stacking the channel matrices of all the users as
 
     
       
         
           
             
               
                 
                   H 
                   = 
                   
                     [ 
                     
                       
                         
                           
                             H 
                             1 
                           
                         
                       
                       
                         
                           ⋮ 
                         
                       
                       
                         
                           
                             H 
                             K 
                           
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
       FIG.  60    shows the SER expressed as a function of the minimum singular value in (3) for 4-QAM constellation, average SNR=15 dB and single-tap channels. The composite channel matrix in (4) is normalized such that ∥H∥ F   2 =1. We observe that, for 4-QAM constellation, the CQI threshold to guarantee SER&lt;1% is −16 dB. Similar results can be obtained for higher order modulations. 
     The proposed method can be extended to multicarrier systems, such as orthogonal frequency division multiplexing (OFDM) systems. In multicarrier systems the MI in (1) and (2) is computed for each subcarrier and different MCSs are assigned to different subcarriers, thereby exploiting the frequency selectivity of wireless channels. This method, however, may result in large number of control information to share the CQI or DIDO mode number between transmitters and receivers. An alternative method is to group multiple subcarriers with similar channel quality and compute the average of (1) or (2) over each group of subcarrier. Then, different DIDO modes are assigned to different groups of subcarriers based on the criterion described above. 
     Embodiments of the invention may include various steps as set forth above. The steps may be embodied in machine-executable instructions which cause a general-purpose or special-purpose processor to perform certain steps. For example, the various components within the Base Stations/APs and Client Devices described above may be implemented as software executed on a general purpose or special purpose processor. To avoid obscuring the pertinent aspects of the invention, various well known personal computer components such as computer memory, hard drive, input devices, etc., have been left out of the figures. 
     Alternatively, in one embodiment, the various functional modules illustrated herein and the associated steps may be performed by specific hardware components that contain hardwired logic for performing the steps, such as an application-specific integrated circuit (“ASIC”) or by any combination of programmed computer components and custom hardware components. 
     In one embodiment, certain modules such as the Coding, Modulation and Signal Processing Logic  903  described above may be implemented on a programmable digital signal processor (“DSP”) (or group of DSPs) such as a DSP using a Texas Instruments&#39; TMS320x architecture (e.g., a TMS320C6000, TMS320C5000, . . . etc). The DSP in this embodiment may be embedded within an add-on card to a personal computer such as, for example, a PCI card. Of course, a variety of different DSP architectures may be used while still complying with the underlying principles of the invention. 
     Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, flash memory, optical disks, CD-ROMs, DVD ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of machine-readable media suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection). 
     Throughout the foregoing description, for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of the present system and method. It will be apparent, however, to one skilled in the art that the system and method may be practiced without some of these specific details. Accordingly, the scope and spirit of the present invention should be judged in terms of the claims which follow. 
     Moreover, throughout the foregoing description, numerous publications were cited to provide a more thorough understanding of the present invention. All of these cited references are incorporated into the present application by reference.