Cooperative MIMO
In radio, cooperative multiple-input multiple-output (cooperative MIMO, CO-MIMO) is a technology that can effectively exploit the spatial domain of mobile fading channels to bring significant performance improvements to wireless communication systems. It is also called network MIMO, distributed MIMO, virtual MIMO, and virtual antenna arrays. Conventional MIMO systems, known as point-to-point MIMO or collocated MIMO, require both the transmitter and receiver of a communication link to be equipped with multiple antennas. While MIMO has become an essential element of wireless communication standards, including IEEE 802.11n (Wi-Fi), IEEE 802.11ac (Wi-Fi), HSPA+ (3G), WiMAX (4G), and Long-Term Evolution (4G), many wireless devices cannot support multiple antennas due to size, cost, and/or hardware limitations. More importantly, the separation between antennas on a mobile device and even on fixed radio platforms is often insufficient to allow meaningful performance gains. Furthermore, as the number of antennas is increased, the actual MIMO performance falls farther behind the theoretical gains. Cooperative MIMO uses distributed antennas on different radio devices to achieve close to the theoretical gains of MIMO. The basic idea of cooperative MIMO is to group multiple devices into a virtual antenna array to achieve MIMO communications. A cooperative MIMO transmission involves multiple point-to-point radio links, including links within a virtual array and possibly links between different virtual arrays. The disadvantages of cooperative MIMO come from the increased system complexity and the large signaling overhead required for supporting device cooperation. The advantages of cooperative MIMO, on the other hand, are its capability to improve the capacity, cell edge throughput, coverage, and group mobility of a wireless network in a cost-effective manner. These advantages are achieved by using distributed antennas, which can increase the system capacity by decorrelating the MIMO subchannels and allow the system to exploit the benefits of macro-diversity in addition to micro-diversity. In many practical applications, such as cellular mobile and wireless ad hoc networks, the advantages of deploying cooperative MIMO technology outweigh the disadvantages. In recent years, cooperative MIMO technologies have been adopted into the mainstream of wireless communication standards. Types

Coordinated multipoint 

In coordinated multipoint (CoMP), data and channel state information (CSI) is shared among neighboring cellular base stations (BSs) to coordinate their transmissions in the downlink and jointly process the received signals in the uplink. The system architecture is illustrated in Fig. 1a. CoMP techniques can effectively turn otherwise harmful inter-cell interference into useful signals, enabling significant power gain, channel rank advantage, and/or diversity gains to be exploited. CoMP requires a high-speed backhaul network for enabling the exchange of information (e.g., data, control information, and CSI) between the BSs. This is typically achieved via an optical fiber fronthaul. CoMP has been introduced into 4G standards. Fixed relays 
Fixed relays (illustrated in Figure 1b) are low-cost and fixed radio infrastructures without wired backhaul connections. They store data received from the BS and forward to the mobile stations (MSs), and vice versa. Fixed relay stations (RSs) typically have smaller transmission powers and coverage areas than a BS. They can be deployed strategically and cost effectively in cellular networks to extend coverage, reduce total transmission power, enhance the capacity of a specific region with high traffic demands, and/or improve signal reception. By combining the signals from the relays and possibly the source signal from the BS, the mobile station (MS) is able to exploit the inherent diversity of the relay channel. The disadvantages of fixed relays are the additional delays introduced in the relaying process, and the potentially increased levels of interference due to frequency reuse at the RSs. As one of the most mature cooperative MIMO technologies, fixed relay has attracted significant support in major cellular communication standards. Mobile relays 
Mobile relays differ from fixed relays in the sense that the RSs are mobile and are not deployed as the infrastructure of a network. Mobile relays are therefore more flexible in accommodating varying traffic patterns and adapting to different propagation environments. For example, when a target MS temporarily suffers from poor channel conditions or requires relatively high-rate service, its neighboring MSs can help to provide multi-hop coverage or increase the data rate by relaying information to the target MS. Moreover, mobile relays enable faster and lower-cost network rollout. Similar to fixed relays, mobile relays can enlarge the coverage area, reduce the overall transmit power, and/or increase the capacity at cell edges. On the other hand, due to their opportunistic nature, mobile relays are less reliable than fixed relays since the network topology is highly dynamic and unstable. The mobile user relays enable distributed MSs to self-organize into a wireless ad hoc network, which complements the cellular network infrastructure using multi-hop transmissions. Studies have shown that mobile user relays have a fundamental advantage in that the total network capacity, measured as the sum of the throughputs of the users, can scale linearly with the number of users given sufficient infrastructure supports. Mobile user relays are therefore a desirable enhancement to future cellular systems. However, mobile user relays face challenges in routing, radio resource management, and interference management. Device to device (D2D) in LTE is a step toward Mobile Relays. Cooperative subspace coding 
In Cooperative-MIMO, the decoding process involves collecting NR linear combinations of NT original data symbols, where NR is usually the number of receiving nodes, and NT is the number of transmitting nodes. The decoding process can be interpreted as solving a system of NR linear equations, where the number of unknowns equals the number of data symbols (NT) and interference signals. Thus, in order for data streams to be successfully decoded, the number of independent linear equations (NR) must at least equal the number of data (NT) and interference streams. In cooperative subspace coding, also known as linear network coding, nodes transmit random linear combinations of original packets with coefficients which can be chosen from measurements of the naturally random scattering environment. Alternatively, the scattering environment is relied upon to encode the transmissions. If the spatial subchannels are sufficiently uncorrelated from each other, the probability that the receivers will obtain linearly independent combinations (and therefore obtain innovative information) approaches 1. Although random linear network coding has excellent throughput performance, if a receiver obtains an insufficient number of packets, it is extremely unlikely that it can recover any of the original packets. This can be addressed by sending additional random linear combinations (such as by increasing the rank of the MIMO channel matrix or retransmitting at a later time that is greater than the channel coherence time) until the receiver obtains a sufficient number of coded packets to permit decoding. Cooperative subspace coding faces high decoding computational complexity. However, in cooperative MIMO radio, MIMO decoding already employs similar, if not identical, methods as random linear network decoding. Random linear network codes have a high overhead due to the large coefficient vectors attached to encoded blocks. But in Cooperative-MIMO radio, the coefficient vectors can be measured from known training signals, which is already performed for channel estimation. Finally, linear dependency among coding vectors reduces the number of innovative encoded blocks. However, linear dependency in radio channels is a function of channel correlation, which is a problem solved by cooperative MIMO. History 
Before the introduction of cooperative MIMO, joint processing among cellular base stations was proposed to mitigate inter-cell interference, and Cooperative diversity offered increased diversity gain using relays, but at the cost of poorer spectral efficiency. However, neither of these techniques exploits interference for spatial multiplexing gains, which can dramatically increase spectral efficiency. In 2001, cooperative MIMO was introduced by Steve Shattil, a scientist at Idris Communications, in a provisional patent application, which disclosed Coordinated Multipoint and Fixed Relays, followed by a paper in which S. Shamai and B.M. Zaidel proposed “dirty paper” precoding in downlink co-processing for single-user cells. In 2002, Shattil introduced the Mobile Relay and Network Coding aspects of cooperative MIMO in US Pat. No. 7430257 and US Pub. No. 20080095121. Implementations of software-defined radio (SDR) and distributed computing in cooperative MIMO were introduced in US Pat. No. 7430257 (2002) and 8670390 (2004), providing the foundation for Cloud Radio Access Network (C-RAN). Server-side implementations of cooperative MIMO were the first to be adopted into the 4G cellular specifications and are essential for 5G. CoMP and Fixed Relays pool baseband processing resources in data centers, enabling dense deployments of simple, inexpensive radio terminals (such as remote radio heads) instead of cellular base stations. This allows processing resources to easily scale to meet network demand, and the distributed antennas could enable each user device to be served by the full spectral bandwidth of the system. However, data bandwidth per user is still limited by the amount of available spectrum, which is a concern because data use per user continues to grow. The adoption of client-side cooperative MIMO lags behind server-side cooperative MIMO. Client-side cooperative MIMO, such as mobile relays, can distribute processing loads among client devices in a cluster, which means the computational load per processor can scale more effectively as the cluster grows. While there is additional overhead for coordinating the client devices, devices in a cluster can share radio channels and spatial subchannels via short-range wireless links. This means that as the cluster grows, the available instantaneous data bandwidth per user also grows. Thus, instead of the data bandwidth per user being hard-limited by the laws of Physics (i.e., the Shannon-Hartley Theorem), data bandwidth is constrained only by computational processing power, which keeps improving according to Moore’s Law. Despite the great potential for client-side cooperative MIMO, a user-based infrastructure is more difficult for service providers to monetize, and there are additional technical challenges. While mobile relays can reduce overall transmission energy, this savings can be offset by circuit energy required for increased computational processing. Above a certain transmission distance threshold, cooperative MIMO has been shown to achieve overall energy savings. Various techniques have been developed for handling timing and frequency offsets, which is one of the most critical and challenging issues in cooperative MIMO. Recently, research has focused on developing efficient MAC protocols. Mathematical description 
In this section, we describe precoding using a system model of a Cooperative-MIMO downlink channel for a CoMP system. A group of BSs employs an aggregate M transmit antennas to communicate with K users simultaneously. User k, (k = 1,… , K), has Nk receive antennas. The channel model from the BSs to the kth user is represented by an Nk ×M channel matrix Hk. Let sk denote the kth user transmit symbol vector. For user k, a linear transmit precoding matrix, Wk, which transforms the data vector sk to the M ×1 transmitted vector Wk × sk, is employed by the BSs. The received signal vector at the kth user is given by ,

where nk = [nk,1, …, nk,Nk ]T  denotes the noise vector for the kth user, and (. )T denotes the transpose of a matrix or vector. The components nk,i of the noise vector nk are i.i.d. with zero mean and variance σ2 for k = 1,…,K and i = 1,…,Nk. The first term, HkWksk, represents the desired signal, and the second term,  , represents interference received by user k.

The network channel is defined as H = [H1T,…, HKT]T, and the corresponding set of signals received by all users is expressed by

 y = HWs + n,

where H = [H1T,…, HKT]T, y = [y1T,…, yKT]T, W = [W1T,…, WKT]T, s = [s1T,…, sKT]T, and n = [n1T,…, nKT]T.

The precoding matrix W is designed based on channel information in order to improve performance of the Cooperative-MIMO system. Alternatively, receiver-side processing, referred to as spatial demultiplexing, separates the transmitted symbols. Without precoding, the set of signals received by all users is expressed by

y = Hs + n

The received signal is processed with a spatial demultiplexing matrix G to recover the transmit symbols: . Common types of precoding include zero-forcing (ZF), minimum mean squared error (MMSE) precoding, maximum ratio transmission (MRT), and block diagonalization. Common types of spatial demultiplexing include ZF, MMSE combining, and successive interference cancellation. See also 
 Multi-user MIMO
 WiMax MIMO
 Smart antennas
 Many antennas
 Antenna diversity
 Beamforming
 Precoding
 Spatial multiplexing
 MIMO-OFDM
 Macrodiversity
 Space-time block code

References

Further reading
Y. Hua, Y. Mei and Y. Chang, “Wireless antennas – making wireless communications perform like wireline communications,” IEEE Topical Conference on Wireless Communication Technology, pp. 47-73, Honolulu, Hawaii, Oct 15-17, 2003. Radio resource management
Information theory
3GPP standards