MegaMIMO and Full Duplex Radios ======================== * Examples of physical layer wireless technologies * Two different approaches to improving wireless throughput at the physical layer * Being commercialized in some form (MegaMIMO Inc. and Kumu Networks) * Relevant to emerging wireless standards (e.g., 5G and recent versions of WiFi) * However, both papers implement their techniques in the WiFi context. What problems are they trying to solve? ======================= * MegaMIMO (or MIMO in general): Harnessing multiple antennas to increase throughput. --> So far we have looked at time and frequency as two sets of resources for communication. --> MIMO introduces another axis: space (or more precisely independent antennas) --> Prior work: Much work on MIMO using transmitters and receivers each with multiple antennae. --> MegaMIMO's innovation: Making MIMO work in a distributed context with *independent* transmitters and receivers. Essentially treat a collection of APs and clients as one large MIMO sender+one large MIMO receiver by synchronizing them. * Full Duplex: Transmitting and receiving at the same time. Another "axis" for resources. --> Taken for granted on Ethernet: typically have separate wires. --> Historically impossible for wireless media: transmitted signal typically overwhelms receiver --> Prior work: Use multiple antennae to subtract out transmitted (or self-interfering) signal. --> Bharadia et al.'s innovation: Making it work with a single antenna. * What these papers show --> We still don't fully understand how much capacity is available in a wireless network. --> There is still more work to do (e.g., combining MIMO and Full Duplex, discovering other axes) * Great examples of research papers --> Problems are simple to state ("how to harness multiple antennae" and "how to simultaneously transmit and receive") --> Rich theory that guides system design --> But considerable ingenuity required to make things work. The papers are quite dense and a bit hard to fully digest. --> And important (any capacity increase in the physical layer is a huge deal given our insatiable appetite for bandwidth). Wireless communication basics: ===================== * Sender transmits symbols. * Think of the symbol as a voltage level where the voltage level represents a bit pattern. --> E.g., 5 V could represent the bit 1. 0 V could represent the bit 0. Here 2 voltage levels represent 1 bit. --> Could divide it up more finely: 0 V represents bits 00. 2 V represents bits 01. 3 V represents bits 11. 4 V represents bits 10 Now 4 voltage levels represent 2 bits. * Think of the voltage level abstractly as a real number standing for a certain bit pattern. --> The number of bits in the bit pattern is log_2(# of voltage levels) * The arrangement of voltage levels is called a constellation. --> How tightly voltage levels can be packed is governed by the amount of noise (or signal-to-noise ratio). * In practice, can send two voltages at once on orthogonal waves (sine and cos). * So you can think of the symbol as a complex number with a real voltage level and an imaginary voltage level. --> There is nothing complex about the voltages itself. It's just a representation. Wireless channels: ==================== * Can think of a wireless channel as a transformation from input symbols to output symbols. * The channel is typically denoted h. * The channel can attenuate the symbols in strength and/or delay them. * Wireless systems have some way to estimate the channel (using known pilot symbols) so that they can "undo" the channel when receiving. MIMO ===================== * Let's start with MIMO itself. * Simple setup: One transmitter and one receiver. Each has 2 antennas. * This already shows us something very surprising. * Let's say we want to transmit symbols x1 and x2 to client 1 and 2. * Simplest way to do this: First transmit x1 and then x2 (this is what traditional WiFi does) * Can we do better? * Try transmitting them at the same time. * The problem is that the signals get mixed up at the receiver. --> Can't untangle them. --> But can if we can ensure that each receiver receives only a modified version of their own signal. --> This is what beamforming does. Beamforming ===================== * Multiply the transmitted signals with some complex numbers (precoding) * Choose these numbers so that you invert the channel matrix. * This way each receiver only gets a scaled copy of their own signal. * Works great when all transmitters are synchronized to the same clock. * Otherwise the channel is continuously changing due to differences in clock frequencies between the transmitters. * Performing beamforming with the inverse of the original channel matrix doesn't work. MegaMIMO ==================== * Correct for phase and frequency offsets between different transmitters * Can rewrite channel matrix into time dependent and time independent parts * Basic idea: Time dependent precoding can be applied independently at each transmitter * Still doesn't work. Can't measure phase exactly at each AP locally. * Some more linear algebra: --> Decomposes matrix into part that standard WiFi can handle using standard carrier frequency offset techniques ... (exp(j.omega_t1.t)*R(t)) --> ... and a time dependent precoding matrix that only needs us to estimate relative phase and frequency offsets. MegaMIMO details ================== * Track phase difference at the beginning of each packet accurately. * Then track frequency difference to extrapolate phase difference through the duration of the packet. Doesn't accumulate too much error within the lifetime of one packet. Diversity vs. multiplexing gains ================= * Multiplexing is what the paper devotes most of its attention to. This is what beamforming does --> Essentially deliver packets to different clients concurrently through precoding. * Diversity is another benefit of MIMO. --> Deliver the same data across multiple independent paths so that you can combine them to get better throughput. --> Basic idea: If the received signals were corrupted on one path, they can be recovered from the received signal on another path. MegaMIMO evaluation ================= * Figure 9 illustrates the benefit of MIMO in different regimes. * Figure 10 shows this benefit is uniform across all clients. * Figure 11 shows the diversity gains of MIMO. Full duplex paper ================= * Goes even deeper down the rabbit hole. * While MegaMIMO still operates within the domain of discrete time, the full duplex paper also relies on analog electronics. * What's the problem it's trying to solve? * Making wireless a full duplex medium: Transmit and receive simultaneously * The problem: self interference from transmitted signal. --> Transmitted signal overwhelms the receiver antenna. --> Need to cancel this out so that you can receive the actual signal and not your own "echo". * Figure 1 and 2 illustrate this self interference problem. * Need to cancel out considerable amount of self interference (110 dB) * What is 110 dB? --> It's a ratio between two powers. The ratio is about 10**11! --> Essentially the transmitted signal is about 10**11 larger than what you want it to be. Full duplex ideas ================== * Analog cancelation: --> To remove transmit noise. --> To reduce power of the signal before it hits the receiver circuitry. --> Receiver circuitry can't handle more than a certain power level. This is what is called saturation. * Digital cancelation of both linear and non-linear functions of the original transmitted symbols. * Difference between analog and digital cancelation: --> Analog cancelation doesn't really assume anything about how the signal is transformed from input (x) to output (y). --> This is required because the noise term is anyway random and can't be modeled. --> And the noise term is significant (50 dB) --> Digital cancelation does assume a model about how the signal is transformed from the input (x) to output (y) --> Either linear transformation or non-linear transformation. Analog cancelation: ================= * Prior work: Used antenna separation. For instance, use two separate transmit antennae that destructively interfere at receiver. * This work: Carry out analog cancelation without separate antennas. --> Use a set of delay lines with fixed delays but programmable attenuations. --> Solve an optimization problem online to minimize error between reconstructed and original signal. --> Do all this without assuming anything about the nature of the signal. Full duplex results: ================= * Both analog and digital cancelation are required. Problem is too hard without using both. * In combination achieves the required 110 dB cancelation. * Median gain of 87% using full duplex (ideally get 100%). Comparing the two schemes: ================== * Full duplex: Don't need more antennas, but can't scale beyond a factor of 2. * MIMO: Can scale indefinitely, but need more antennas. * MIMO: applicable in most crowded WiFi scenarios (e.g., malls) * Full duplex: A bit rarer to require simultaneous transmit and receive. --> One application is wireless relays. * Both technologies seem to be gaining traction in emerging wireless standards.