{'fraction_non_alphanumeric': 0.04367168211673732, 'fraction_numerical': 0.01628080309311967, 'mean_word_length': 4.085880123193556, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 25, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Achievable Rate Regions Using Novel Location Assisted Coding (LAC)

The recent increase in number of wireless devices has been driven by the growing markets of smart homes and the Internet of Things (IoT). As a result, expanding and/or efficient utilization of the radio frequency (RF) spectrum is critical to accommodate such an increase in wireless bandwidth. Alternatively, recent free-space optical (FSO) communication technologies have demonstrated the feasibility of building WiFO, a high capacity indoor wireless network using the femtocell architecture. Since FSO transmission does not interfere with the RF signals, such a system can be integrated with the current WiFi systems to provide orders of magnitude improvement in bandwidth. A novel component of WiFO is its ability to jointly encode bits from different flows for optimal transmissions. In this paper, we introduce the WiFO architecture and a novel cooperative transmission framework using location assisted coding (LAC) technique to increase the overall wireless capacity. Specifically, achievable rate regions for WiFO using LAC will be characterized. Both numerical and theoretical analyses are given to validate the proposed coding schemes.


I. INTRODUCTION
The number of wireless devices are projected to continue to grow significantly in the near future, fueled by the emerging markets for smart homes and the Internet of Things (IoT). However, such an increase is anticipated to be hindered by the limited radio frequency (RF) spectrum. Consequently, much research have been focused on utilizing the RF spectrum more effectively.
One promising approach is termed dynamic spectrum access (DSA). Using DSA, the RF spectrum is allocated dynamically on both spatial and temporal dimensions. For the DSA approach to work well, many technical challenges must be overcome. These include circuitry and algorithms for Cognitive Radio (CR) devices capable of sensing, sending, and receiving data on different RF bands.
Another notable approach uses femtocell architecture [1]. Femtocell architecture has attracted enormous interest in recent years because its transmission ranges are limited within small cells, resulting in reduced interference and increased spectral efficiency. That said, typical RF femtocells do not have large bandwidth to support a large number of users. Alternatively, millimeter wave femtocells can be used to increase the bandwidth. However, to achieve a large bandwidth, highly complex modulators and demodulators must be used, resulting in large energy consumption per bit. On the other hand, recent advances in Free Space Optical (FSO) technology promise a complementary approach to increase wireless capacity with minimal changes to the existing wireless technologies. The solid state light sources such as Lighting Emitting Diode (LED) and Vertical Cavity Surface Emitting Laser (VCSEL) are now sufficiently mature that it is possible to transmit data at high bit rates reliably with low energy consumption using simple modulation schemes such as On-Off Keying. Importantly, the FSO technologies do not interfere with the RF transmissions. However, such high data rates are currently achievable only with point-to-point transmissions and not well integrated with existing WiFi systems. This drawback severely limits the mobility of the free space optical wireless devices.
In [2] [3], the authors proposed an indoor WiFi-FSO hybrid communication system called WiFO that promises to provide orders of magnitude improvement in bandwidth while maintaining the mobility of the existing WiFi systems. A video demonstration of WiFO can be seen at http:// www.eecs.oregonstate.edu/∼thinhq/WiFO.html. WiFO aims to alleviate the bandwidth overload problem often associated with existing WiFi systems at crowded places such as airport terminals or conference venues. WiFO modulates invisible LED light to transmit data in localized light cones to achieve high bit rate with minimal interference.
That said, in this paper, our contributions include: (1) a novel channel model for short range FSO transmissions using Pulse amplitude modulation (PAM); (2) a novel cooperative transmission scheme, also known as location assisted coding (LAC) scheme that takes advantage of the receiver's location information to achieve high bit rates; (3) characterization of the multi-user achievable rate regions for the proposed channel using the proposed LAC.

II. RELATED WORK
From the FSO communication perspective, WiFO is related to several studies on FSO/RF hybrid systems. The majority of these studies, however are in the context of outdoor pointto-point FSO transmission, using a powerful modulated laser beam. There are also recent literature on joint optimization of simultaneous transmissions on RF and FSO channels. To obtain high bit rates and spectral efficiency, many FSO communication systems [4] use sophisticated modulation schemes such as Phase-Shift Keying (PSK) or Quadrature Phase-Shift Keying (QPSK) [5] [6] or Quadrature Amplitude Modulation (QAM) [7] [8] or Pulse Position Modulation (PPM) [9] [10] [11]. However, these modulation schemes pay high costs in power consumption, complexity, and additional sensitivity to phase distortions of the received beam [12]. In contrast, taking the advantage of high modulation bandwidth of recent LED/VCSEL and short-range indoor transmissions, WiFO uses simple Pulse Amplitude Modulation (PAM) [13], specifically ON-OFF Keying which results in simplicity and low power consumption.
From the coding's perspective, the proposed LAC technique in WiFO is similar to MIMO systems that have been used widely in communication systems to improve the capacity [14][15] [16]. Both LAC and MIMO techniques use several transmitters to transmit signals to achieve higher capacity. However, using multiple transmitters at the same time can also cause interference among transmissions to different receivers if they are in the same transmission range. As such, a MIMO receiver typically receives signals from multiple transmit antennas and these signals are intended for that particular MIMO receiver at any time slot. On the other hand, in WiFO, multiple transmitters transmit the joint messages simultaneously to multiple WiFO receivers, rather than a single receiver. By taking advantage of the known interference patterns using the receiver location information, LAC technique can help the WiFO receivers to decode each message independently in presence of interference. In a certain sense, this work is similar to the work of [17]. We note that a special case of LAC technique was first introduced in [18]. In this paper, we extend and improve the LAC technique to obtain higher rates.
We note that our problem of characterizing the achievable region appears to be similar to the well-known broadcast channels [19] [20] . Specifically, when the channel is a Degraded Broadcast Channel (DBC), the capacity region has been established [19][21] [22]. However, we can show that WiFO channel is not a degraded broadcast channel, thus the wellknown results on DBC are not applicable [23]. Our work is also related to many research on multi-user MIMO capacity. These studies, however deal with Gaussian channels, rather than the specific proposed channel for WiFO systems. In addition, while there have been many studies on the capacity of FSO channels [24] [25], their focuses are mainly on modeling the underlying physics, and multi-user capacity is not considered. In contrast, we propose a simple channel model that lead to constructive coding schemes with corresponding achievable rate region for multi-user scenarios.

III. OVERVIEW OF WIFO ARCHITECTURE
WiFO consists of an array of FSO transmitters to be deployed directly under the ceiling. These FSO transmitters use inexpensive LEDs to modulate light via Pulse Amplitude  Fig. 1 shows a few use cases for WiFO to boost up the wireless bandwidth. These deployments include airport terminals, offices, entertainment centers, and automated device-device communications in critical infrastructures such as hospitals where cable deployment is costly or unsafe.
To transmit data, each FSO transmitter creates an invisible light cone about one square meter directly below in which the data can be received. Fig. 2(a) shows a typical coverage area of WiFO using several FSO transmitters. Digital bits "1" and "0" are transmitted by switching the LEDs on and off rapidly. For the general PAM scheme, signals of more than two levels can be transmitted by varying the LED intensities. The switching rate of the current system can be up to 100 MHz for LED-based transmitters and > 1 GHz for VCSELbased transmitters. We note that, a number of existing FSO systems use visible light communication (VLC) which limits the modulating rate of a transmitter. Thus, to achieve high bit rates, these systems use highly complex demodulators and modulators (e.g. 64-QAM, OFDM), which make them less energy efficient. Fig. 2(b) shows the light intensity as the function of the position measured from the center of the cone. High intensity results in more reliable transmissions.
All the FSO transmitters are connected to a 100 Gbps Ethernet network which is controlled by the Access Point (AP). The AP is the brain of the WiFO system that controls the simultaneous data transmissions of each FSO transmitter and the existing WiFi channel. At the receiving side, each WiFO receiver is equipped with a silicon pin photodiode which converts light intensity into electrical currents that can be interpreted as the digital bits "0" and "1". The AP decides whether to send a packet on the WiFi or FSO channels. If it decides to send the data on the FSO channel for a particular device, the data will be encoded appropriately, and broadcast on the Ethernet network with the appropriate information to allow the right device to transmit the data. Upon receiving the data, the FSO transmitter relays the data to the intended device. Fig. 3 shows more detail on how data is transmitted from the Internet to the AP, then to the WiFO receiver over a  FSO channel. Upon receiving the data from the FSO channel, the receiver decodes the data, and sends an ACK message to the AP via the WiFi channel. ACK messages allow the system to adapt effectively to the current network conditions. If the AP decides to send the data on the WiFi channel, then it just directly broadcasts the data through the usual WiFi protocol.
As a receiver moves from one light cone to another, the AP automatically detects its location, and selects the appropriate LED to transmit the data. The detection and selection of transmitters are performed quickly to prevent interruptions in data transmission. Furthermore, even when the FSO transmitters are sparsely populated such that a user is not covered by any FSO transmitter, all the data will be automatically sent via the existing WiFi channel.
One salient feature of WiFO is that, in a dense deployment scenario where light cones from LEDs are overlapped, a single receiver can associate with multiple LEDs. As will be shown in Section IV, using cooperative transmissions from these LEDs via a novel location assisted coding (LAC) technique, a receiver in an overlapped area can receive higher bit rates.

IV. PROBLEM DESCRIPTION
In this section, we first provide some of the basic assumptions on the capabilities of WiFO.

A. Assumption
Location Knowledge. Because FSO transmitters are connected through a 100 Gbps Ethernet, the smart AP can control the transmission of individual FSO transmitter. Furthermore, the AP knows the locations of all the receivers. In particular, the AP knows which light cone that a receiver is currently located in. This is accomplished through the WiFO's mobility protocol that can be described as follows.
Each FSO transmitter broadcasts a beacon signal consisting of a unique ID periodically. Based on its location, a receiver will automatically associate with one or more transmitters that provide sufficiently high SNR beacon signals. Upon receiving the beacon signal from a transmitter, the receiver sends back alive heartbeat messages that include the essential information such as the transmitter ID and the MAC addresses to the AP using WiFi channel. The AP then updates a table whose entries consist of the MAC address and the transmitter IDs which are used to forward the packets of a receiver to the appropriate transmitters. If the AP did not receive a heartbeat from a device for some period of time, it will disassociate that device, i.e., remove its MAC address from the table. Thus, the location information of a receiver is registered automatically at the AP.
Sparse vs. Dense Deployment. Sparse deployment of FSO transmitters leads to less FSO coverage, but is resource efficient. On the other hand, a dense deployment increases mobility and the bit rates for a single receiver if two or more transmitters are used to transmit data to a single receiver. However, a dense deployment also leads to multi-user interference that might reduce the overall rate. In this paper, we are interested in a dense deployment and show that the multiuser interference is not necessary when the side information, specifically the knowledge of receiver locations is incorporated into the proposed cooperative transmission scheme or LAC technique.
Transmitter. We assume that there are n FSO transmitters T 1 , T 2 , . . . T n , each produces a light cone that overlaps each other. There are also m receivers denoted as R 1 , R 2 , . . . R m . A FSO transmitter is assumed to use PAM for transmitting data. However, to simplify our discussion, we will assume that a sender uses On-Off Keying (OOK) modulation where high power signal represents "1" and low power signal represents "0" [12]. We note that the proposed LAC scheme can be easily extended to work with the general PAM.
Receiver. A receiver is assumed to be able to detect different levels of light intensities. If two transmitters send a "1" simultaneously to a receiver, the receiver would be able to detect "2" as light intensities from two transmitters add constructively. On the other hand, if one transmitter sends a "1" while the other sends a "0", the receiver would receive a "1".

B. Channel Model
To assist the discussion, we start with a simple topology consisting of transmitters and two receivers shown in Fig. 4(a). Receiver R 2 is in the overlapped area, and therefore can receive the signals from both transmitters while receiver R 1 can receive signal from only one transmitter. Cooperative trans-  mission scheme uses both transmitters to send independent information to each receiver simultaneously. This cooperative transmission scheme can be viewed as a broadcast channel in which the sender can broadcast four possible symbols: "00", "01", "10", and "11" with the left and right bits are transmitted by different transmitters. Thus, there is a different channel associated with each receiver. Fig. 4(b) shows the broadcast channel for the two receivers R 1 and R 2 . There are only three possible symbols for R 2 because it is located in the overlapped coverage of two transmitters. Therefore, it cannot differentiate the transmitted patterns "01" and "10" as both transmitted patterns result in a "1" at R 2 due to the additive interference.
On the other hand, there are only two symbols at receiver R 1 because it is located in the coverage of a single transmitter. Similarly, Fig. 5(a) shows a topology with three transmitters and two receivers and Fig. 5(b) shows the corresponding broadcast channels. Assuming that there is no transmission errors, then it is straightforward to see that the channel matrices for R 1 and R 2 associated with Fig. 4(b) are: We note that the entry A(i, j) of the channel matrix denotes probability that a transmitted symbol i to turn a symbol j at the receiver. Since we assume all sources of error are due to multi-user interference, A(i, j) is either 0 or 1.
Similarly, the channel matrices for R 1 and R 3 associated with Fig. 5(b) are: The same method can be used to construct the channel matrices for arbitrary configurations/topologies with different numbers of transmitters and receivers. For clarity, in this paper, we only discuss the coding techniques and achievable capacity region for ideal channels with no errors. However, the proposed techniques can be readily extended to channel with errors by constructing a different channel matrix.

C. Achievable Rate Region
Achievable rate region characterizes the rates at which each receiver can receive their independent information simultaneously. Our goal is to determine a cooperative transmission scheme among the transmitters in order to enlarge the achievable rate region for the receivers.
To discuss the achievable rate region, we use an example given by the topology shown in Fig. 4(a). We assume that the transmitters T 1 and T 2 are responsible for transmitting the independent information to its receivers R 1 and R 2 respectively. Suppose R 1 and R 2 want to receive bits "1" and "0", respectively. If T 1 and T 2 can naively transmit bit "1" and "0", respectively, then R 1 will correctly receive its bit "1". On the other hand, since R 2 is located in the overlapped coverage of the two transmitters, it will incorrectly receive bit "1" due to the additive multi-user interference. To resolve the multiuser interference, a TDMA scheme can be employed in which each transmitter can take turn to transmit a bit to its receiver in each time slot. As a result, using the naive scheme coupled with TDMA, on average each receiver can receive 0.5 bit per time slot. Another scheme would be just to transmit bits to either R 1 or R 2 exclusively. This implies that one receivers will have 1 bit per time slot while the other zero bit per time slot. Thus, let (x, y) denote the achievable rate tuple where x and y denote the average of R 1 and R 2 , then achievable rate region would include the rate tuples: (1,0), (0,1), (0.5,0.5). In general, a time-sharing strategy that uses the scheme (1,0) for λ fraction of the time, and the scheme (0,1) for 1 − λ of the time produces a rate region shown in Fig. 6. In Section V, we will show that such a scheme produces a suboptimal (small) rate region, and describe how the LAC technique can be used to enlarge the achievable rate region.
Also, we note that the proposed cooperative transmission scheme/coding technique can be extended to handle the channels with external errors.
LAC is a cooperative transmission scheme that uses the receiver's location information to enlarge the achievable rate region. For a given topology, LAC employs different coding schemes: single rate coding (SRC), equal rate coding (ERC), and joint rate coding (JRC). Each scheme finds a different feasible rate tuple. Next, by varying the fractions of the time that LAC uses these different coding schemes, the achievable rate region can be achieved as the convex hull of these rate tuples.

A. Single Rate Coding
Using SRC, a receiver in the coverage of n transmitters, can receive high bit rate by using all n transmitters to transmit the information for that particular receiver. As a result, other receivers even though located in the coverage of some of these n transmitters, will not receive any information. We have the following results on the achievable rate of the single receiver. Proposition 1. (Single Rate Coding) For a receiver in the light cone of n transmitters, the achievable rate is log (n + 1) bits per time slot.
Proof: Since each transmitter is capable of transmitting "0" or "1" only, and the single receiver receives the sum of all the signals from the n transmitters, then there is total of n + 1 distinct levels perceived at the receiver. Furthermore, since there is no error involved, the probability mass function of the transmitted symbols is identical of the probability mass function of the received symbols. Thus, from basic result of information theory [26], the capacity for the single user is achieved using the uniform probability mass function which results in log (n + 1) bits per time slot. Note that the rates of other receivers is zero.

B. Equal Rate Coding
In SRC, one receiver receives high bit rate while rates for other receivers are zero. On the other hand, using ERC , for certain topologies, each receiver to obtain one independent bit per time slot. Let H to be the topological matrix whose entry H(i, j) is equal to 1 if receiver i can receive signal from transmitter j and 0 otherwise. For example, the topological matrix associated with Fig. 4(a) is: Assume H is full rank, and for simplicity, the number of receivers equal the number of transmitters, then the proposition for ERC are as follows.
Proposition 2. (Equal Rate Coding [18]) If the topological matrix H is full-rank, then using ERC, every receiver can receive 1 bit per time slot. Furthermore, if H is an n × n full rank matrix, then maximum sum of all receiver rates is n bits per time slot.

Proof:
We will show explicitly the encoding and decoding procedures to obtain 1 bit per time slot for each receiver using ERC. Encoding: Let b = (b 1 , b 2 , . . . , b n ) T denote the information bits intended to be sent to receiver R 1 , R 2 , . . . , R n , respectively. x = (x 1 , x 2 , . . . , x n ) T be the coded bits transmitted by the transmitter T 1 , T 2 , . . . , T n , respectively, and y = (y 1 , y 2 , . . . , y n ) T be the signal received at the receiver R i . The goal of the encoding scheme x = C(b), is to produce the bits x i 's such that every receiver R i , upon receiving y i , can recover its b i .
We consider the following system of linear equations: where ⊕ is addition in GF(2), i.e. a ⊕ b = (a + b) mod 2.
Since H is full-rank in GF (2), we can solve the system of equations (1) above for unique x 1 , x 2 , . . ., x n in terms of b 1 , b 2 , . . ., b n . Mathematically, the encoding is: where all the computations are done in finite field GF(2). Each transmitter T i then transmits x i 's to the receivers. Decoding: A receiver R i needs to be able to recover the bit b i from the received signal y i which can be represented as: . . . yn = H(n, 1)x1 + H(n, 2)x2 + . . . + H(n, n)xn (3) Note that the addition + in 3 is ordinary addition operation. Now upon receiveing y i 's, the receiver R i recovers b i by performing y i mod 2 =b i .
It is easy to check that b i =b i . This can be seen by performing mod 2 operations on both sides of equations (3) which results in the equations (1). Or simply, if y i is even then R i decodes bit b i as "0", and "1" otherwise. As a result, each receiver can decode its bits correctly and independently in presence of interference.
The second statement of the proof is straightforward. We note that the sum rate is upper bounded by the maximum number of independent bits that can be sent out simulantanously. Since there are n transmitters, there are at most n bits can be sent out simultaneously. Since we showed that the for a full rank H, each receiver can receive 1 bit per time slot, and therefore when H is a n × n full rank matrix, the total rate is n bits per time slot. Proposition 2 establishes the sufficient conditions regarding the topology that allows for (1) independent information to be sent at equal rates to all the receivers and (2) achieving maximum sum rate.

C. Joint Rate Coding
Unlike ERC, Joint Rate Coding (JRC) technique allows the receivers to obtain different rates. JRC is a bit more involved. To aid the discussion, we employ the following definitions and notations. Figure 7. t 1 and t 2 are number of exclusive transmitters for R 1 and R 2 while t 12 = t 21 is the number of transmitters that covers both R 1 and R 2 ; t 1 12 can be distributed to R 1 and t 2 12 can be distributed to R 2 to adjust the rates of R 1 and R 2 . Definition 1. (Exclusive and Shared Transmitters) Let R = {1, 2, . . . , m} be the set of m receivers. Let S ⊂ R, and T S denotes a group of transmitters that cover exactly all the receivers in S. Each transmitter in T S is called an exclusive transmitter if S is a singleton, and a shared transmitter if S has two or more elements. Let t S = |T S | denote the number of transmitters that covers exactly all the receivers in S. To simplify the notations, for exclusive transmitters, we use t i to denote the number of transmitters that covers the receiver R i exclusively while t ij denotes the number of pairwise sharing transmitters that cover only two receivers R i and R j and no other receivers.
For example, in Fig. 4(a), the transmitter T 2 is the only exclusive transmitter for R 2 , and so t 2 = 1. On the other hand, t 1 = 0 since there is no exclusive transmitter for R 1 . However, T 1 is a shared transmitter between R 1 and R 2 , so t 12 = 1. Similarly, in Fig. 5 (a), t 1 = 0, t 2 = 2, and t 12 = 1.
The key to the JRC technique is how to use the shared transmitters to transmit bits to multiple receivers simultaneously. At the fundamental level, we develop JRC technique for topologies that consist only exclusive and pairwise sharing transmitters. Fig. 4(a) and 5 (a) show such topologies. We then show how to decompose a general topologies into the several pairwise sharing topologies, then the fundamental techniques for pairwise can be applied. That said, we will first consider a two receivers R 1 and R 2 with t 1 and t 2 exclusive transmitters and t 12 shared transmitters.
JRC allocates different rates to the receivers R 1 and R 2 through two parameters, which can be viewed as the number of shared transmitters allocated to R 1 and R 2 . In particular, we denote t 1 12 and t 2 12 as the number of shared transmitters allocated to R 1 and R 2 , respectively. We have: We will show using JRC, by increasing t 1 12 , we allow R 1 to achieve higher rate at the expense of a reduced rate for R 2 . Fig. 7 illustrates our notations. Based on this, we have the following proposition on the achievable rates using JRC for two receivers.
Note that to maximize the rates, we want t 1 12 + t 2 12 = t 12 .
Proof: We will describe a constructive proof for Proposition 3. But first, let x 12 be a non-negative integer represented by the bit patterns sent out by t 12 shared transmitters. Since each shared transmitter can send either a "0" or "1", x 12 has t 12 + 1 levels, i.e., x 12 ∈ {0, 1, . . . , t 12 }. Let x i be a nonnegative integer that represents the bit patterns transmitted by t i exclusive transmitters for receiver R i . x i has t i + 1 levels, i.e., x i ∈ {0, 1, . . . , t i }. Let y i be a non-negative integer that represents the signal received by the receiver R i . Due to additive property, we have: Next, we note that the achievable rate of a receiver R i is log of the number of distinguishable symbols or levels that can be received by R i per time slot. Let c i be a non-negative integer representing the number of distinguishable levels at R i , then log c i is the achievable rate of R i . We will show that if t 1 ≥ t 2 12 and t 2 ≥ t 1 12 , then it is possible to send any arbitrary pattern pair (b 1 , b 2 ) to the receiver R 1 and R 2 without any error, with b i ∈ {0, 1, . . . , c i − 1}.
This would establish the proof for Proposition 3. We now describe the encoding and decoding procedures, then verify their correctness.
Encoding: Suppose we want to transmit the pattern (b 1 , b 2 ) to (R 1 , R 2 ), respectively. Then, the encoding is a function that maps (b 1 , b 2 ) into x * 1 , x * 2 , and x * 12 ,i.e., (x * 1 , x * 2 , x * 12 ) = C(b 1 , b 2 ). Let the set {x 12 (b 1 )} parameterized by b 1 consisting of t 1 + 1 elements be defined as: Similarly, let the set {x 12 (b 2 )} parameterized by b 2 consisting of t 2 + 1 elements be defined as: We now encode b 1 , b 2 into x * 1 , x * 2 , and x * 12 as follows. We pick x * 12 to be the minimum value element in the intersection set of {x 12 (b 1 )} and {x 12 (b 2 )}, i.e., : Next, we set x * i , i = 1, 2 to: Decoding: R i receives the signal: the sum of the signals transmitted by the exclusive transmitters and shared transmitters. R i decodes the transmitted level b i as: To verify the correctness of encoding and decoding procedures, we need to verify (a) {x 12 (b 1 )} ∩ {x 12 (b 2 )} is non-empty that enables us to choose x * 12 = min {x 12 (b 1 )} ∩ {x 12 (b 2 )}; (b) x * 12 ≤ t 12 . This is required since we want the t 12 shared transmitters to be able to represent x * 12 ; (c) 0 ≤ x * 1 ≤ t 1 and 0 ≤ x * 2 ≤ t 2 to enable the exclusive transmitters to represent x i ; (d)b i = b i for the correctness of the decoding procedure.
Example V.1. To illustrate Proposition 3, we will show an example of a topology consisting of three transmitters and two receivers shown in Fig. 5(a). The number of exclusive transmitters for R 1 and R 2 are t 1 = 0 and t 2 = 2 while the number of shared transmitters t 12 = 1. Choose t 1 12 = 1 and t 2 12 = 0, then this pair is valid since: 12 . Then, from Proposition 3, the achievable rate of R 1 is log(t 1 + t 1 12 + 1) = log (c 1 ) = log (2), and for R 2 is log(t 2 + t 2 12 + 1) = log (c 2 ) = log (3). Therefore, R 1 , R 2 can achieve arbitrary pattern To illustrate the encoding and decoding procedures, suppose that (b 1 , b 2 ) = (1, 2) is desired pattern in R 1 , R 2 . Then encoding and decoding procedure will be presented as below to find (x * 1 , x * 2 , x * 12 ) = C(b 1 , b 2 ). Encoding: the encoding procedure will construct two sets: Next, construct x 1 and x 2 as: Hence, (x * 1 , x * 2 , x * 12 ) = (0, 1, 1). Decoding: the decoding procedure will decode by summing up all received signals at each receiver, ie,: Similar to ERC method, the JRC method can be extended to arbitrary number of receivers. Next, we will present the extended results for n receivers with pairwise sharing transmitters.
Proposition 4. (Achievable rates for n-receiver pairwise sharing transmitter topology) Given a topology consisting of n receivers R 1 , R 2 , . . . , R n , if each receiver R i has t i exclusive transmitters and t ip sharing transmitters with other receiver R p . Then the receiver R i can achieve the rate: bits per time slot in which i is the notation for the receiver R i and n is the number of receiver in network if with ∀p ∈ {1, . . . , n} and p = i: Note: In the case t ip = 0, i.e., R i and R p do not share any transmitter, then in the inequality, t p will be replaced by "0" or the number of sharing transmitters assigned to R i is t i ip = 0. We also note that Proposition 4 is only applicable to topologies with pair-wise sharing transmitters only, i.e., any transmitter can cover at most two receivers. Furthermore, the rate region for all the receivers are specified by the tunable values t i ip such that the conditions in Proposition 4 are satisfied for all i and p. The larger t i ip will allow the receiver R i to obtain a larger rate at the expense of a reduced rate for R p .
From two receivers R i and R p perspective, Proposition 4 states that receiver R i can be allocated t i ip transmitters from t ip sharing transmitters between R i and R p if: Therefore, by applying Proposition 4 for all receivers R 1 , R 2 , . . . , R n , we can solve and distribute suitable rates for all receivers in a given topology. The proof of Proposition 4 is shown below. Proof: The proof is based on induction. For the basis case of two receiver topology (n = 2) is true from Proposition 3. Now, suppose that Proposition 4 holds for n − 1 receiver topology, we will show that Proposition 4 will also hold for n receiver topology where one more receiver R n is added to the topology. Fig. 8 illustrates the inductive method.
First, using Proposition 4 with n − 1 receivers topology, receiver R i with i ∈ {1, . . . , n − 1} can achieve the rate: It means that receiver R i is able to distinguish all value in set {0, 1, . . . c n−1 i − 1}. After adding receiver R n with t n exclusive transmitters into network and t in (i = 1, 2, . . . , n − 1) sharing transmitters, for Proposition 4 to hold, we need to verify two following conditions: Condition (a): all previous receivers R i with i ∈ {1, . . . , n − 1} can obtain additional t i in states, and therefore achieve the new rates: Hence, To do so, we need to verify that receiver R i is able to distinguish all values in the set {0, 1, . . . c n i − 1}. Condition (b): the new receiver R n also satisfies Proposition 4, i.e., R n is able to achieve the rate: log(c n n ) = log (t n + p=n−1 p=1 t n np + 1).
We first verify condition (a). Suppose that we need to transmit a signal b i to the receiver R i , with: Let us divide b i into two subsets: We will transmit b i in the n − 1 previous receiver topology (using the the previous transmitters) and sends "0" using t in sharing transmitters with new receiver R n . Clearly, receiver R i will receive correct pattern since by assumption,Proposition 4 holds true for n − 1 receiver topology.
• If c n−1 We will transmit signal c n−1 i −1 in the n − 1 previous receiver topology and send the signal: using the new t in sharing transmitters. Clearly, With (20) is due to (19), and: From (21) and (22): 0 ≤ x in ≤ t i in ≤ t in , then t i in sharing transmitters can always transmit the signal x in . Consequently, the received signal at R i is y i = c n−1 i − 1 + x in (Note that c n−1 i − 1 comes from the transmitters in previous topology). Using the same decoding method as in Eq. (11), we have: Therefore, the previous receiver R i can distinguish all values of b i ∈ {0, 1, . . . c n i − 1} and achieve the rate log(c n i ) with: Next, we verify condition (b) that the new receiver R n also satisfies Proposition 4, i.e., receiver R n is able to achieve the rate: log(c n n ) = log (t n + p=n−1 p=1 t n np + 1).
Indeed, for a fixed pattern b i with i = 1, . . . , n − 1 in the n−1 old receivers, we will prove that receiver R n can discern c n n states: b n ∈ {0, 1, . . . , c n n − 1} Let observe the receiver R i , with fixed pattern b i as in Fig.  8. We note that of the t in sharing transmitters between R i and R n , t i in transmitters are allocated to R i and t n in remaining transmitters will be distributed to R n . Now, we can maintain the pattern b i by transmitting the pattern (b i − δ i ) mod c n−1 i using the transmission method as described in condition (a), then transmit pattern δ i in t n in remaining transmitters, where since the number of levels in δ i cannot exceed the number of transmitters. Now, from condition (18) from Proposition 4 to the pairwise sharing transmitter between R n and R i , we have: The inequality above together with the t n exclusive transmitters show that R n is able to achieve (t n in +1) distinguishable states in pairwise sharing transmitter between R i and R n when: Thus, for the all shared transmitters between R 1 , R 2 , . . . , R n−1 with R n and t n exclusive transmitters of R n , the number of distinguishable levels at R n is: c n n = t n + p=n−1 p=1 t n np + 1.
Then, the achievable rate can be achieved in R n is: log(c n n ) = log (t n + p=n−1 p=1 t n np + 1).
In practice, there are many deployments that are not pairwise sharing topologies. We have a simple following result regarding the multi-user capacities: Proposition 5. Given an arbitrary topology with k transmitters and n receivers R 1 , R 2 , ..., R n . If each receiver R i has an achievable rate log (c n i ) bits per time slot, then i=n i=1 log c n i ≤ k.
Proof: Since the maximum bit rate can generate by all k transmitters is k bits per second. This total rate must be shared among all the receivers. Thus, the proof follows. General Topology. Proposition 5 is less useful since the described achievable rate region does not exploit the topological information. In what follows, we describe a very simple algorithm for converting many non-pairwise sharing topologies into a pair-wise sharing topology whose achievable rate region can be characterized. In particular, a general topology consisting of k transmitters and n receivers can be characterized by collection of sets of different types of transmitters: exclusive transmitters, pairwise sharing transmitters,3-sharing transmitters, ..., n-sharing transmitters.
Initially, we construct the pairwise sharing topology that is characterized by all the exclusive and pairwise sharing transmitters from the set of all the transmitters. If the condition of Proposition 4 is satisfied, then the achievable region for this pairwise sharing topology can be characterized. Now, the achievable region for a new topology that includes the existing pair-wise sharing topology and one additional nsharing transmitter (n > 2) can be computed as follows. Suppose this new transmitter is shared among R 1 , R 2 , . . . , R m receivers. Then we can assign this new transmitter to a pair of receivers in (R 1 , R 2 , . . . , R m ). Suppose R i and R j were chosen, then the number of shared transmitters for this pair t RiRj is increased by one. Effectively, we have a new pairwise sharing topology.
However since a transmission by new shared transmitter will affect the receivers R 1 , R 2 , . . . , R m , we need to modify the encoding procedure slightly. First, if the new transmitter t RiRj transmits bit "0", the encoding procedure for the bit pattern b i intended for R i is the same as one used for the pair-wise sharing topology without the new shared transmitter. This is because the bit "0" does not interfere with other signals. If t RiRj transmits bit "1", then to transmit the original bit pattern b l intended for receiver R l , l = i, j, we encode b l − 1 instead using the same encoding (transmission) procedure for the pairwise sharing topology without t Ri,Rj . Similar to the proof for Proposition 4, specifically condition (b), it is to see that all the receiver R l , l = i, j will be able to recover original bit pattern b l . Specifically, either receivers R i or R j will increase its capacity to log(c i +1) or log(c i +1), depending on whether t Ri,Rj is assigned to R i or R j , while other receivers will have (a) (b) Figure 9. Convert high level connection to two level connection the same capacities as before.
Maximum Sum Rate. Generally, the procedure of adding a new shared transmitters is repeated and the corresponding achievable regions can be characterized if the conditions in Proposition 4 are satisfied. We also note that there are exponential large number of ways that the shared transmitters can be assigned to receivers, but the number of valid assignments based on Proposition 4, are generally a lot smaller. On the other hand, to maximize the sum rate of all the receivers, we have a greedy algorithm for determining which receiver should get a new shared transmitter during the allocation. Specifically, we will allocate the shared transmitter to the receiver with smallest rate at every step for the following reason.
If we allocate a shared transmitter t Ri,Rj to R i which currently has an achievable rate log(c i ), then the capacity gain for R i is: Similarly if we allocate a shared transmitter t Ri,Rj to R j , then the capacity gain for R j is: log(c j + 1) − log(c j ) = log(1 + 1/c j ).
Clearly, log(1 + 1/c i ) ≥ log(1 + 1/c j ) if c i ≤ c j . So, we should allocate the shared transmitter to the receiver with the smallest capacity currently if we want largest gain in one step (greedy) in capacity.
Example V.2. We use this example to illustrate the procedure for converting a non-pair-wise sharing topology to pair-wise sharing topology and obtain a point in the achievable rate region. Fig. 9(a) represents a non-pairwise sharing topology with t 1 = 1, t 2 = 1, t 3 = 2, t 12 = t 23 = t 31 = 2, and t 123 = 1.
Suppose we allocate t 123 to the pair (R 1 , R 3 ). Applying the aforementioned conversion procedure, we obtain the resulted pair-wise topology shown in Fig. 9(b) with: Now we have a choice of selecting value for t 1 13 and t 1
As an example to illustrate the encoding process when using a non-pairwise sharing transmitter. Suppose that we want to transmit the pattern (b 1 = 2, b 2 = 3, b 3 = 5) to (R 1 , R 2 , R 3 ), respectively. Based on the conversion procedure discussion, there are two cases to consider: x 123 = 0 and x 123 = 0.
As seen, they are all correct.
Next, a set of feasible solution to the inequality above is: Now, the decoding procedure sums up all the signal go to receiver: to correctly reconstruct the transmitted patterns.

D. Achievable rate Region for ideal channels
In this section, we will use LAC cooperative transmission techniques SRC, ERC, and JRC to characterize the achievable rate regions for common topologies.
1) Achievable Rate Region for Two-Transmitter Topologies: For the two-transmitter topologies with the number of receivers being smaller than the number of transmitters, there are only two canonical topologies shown in Fig. 10. Other topologies where receivers are not in an overlapped region are trivial.
(a) (b) Figure 10. Topologies for (a) two transmitters and one receiver; (b) two transmitters and two receivers.
As discussed in Section IV, using time-sharing scheme between R 1 and R 2 , the achievable rate region is depicted as the blue triangle in Fig. 11 with its boundary being a linear interpolation of two achievable rate tuples (0,1) and (1,0). Now, using SRC (Proposition 1) for R 2 and R 1 , rate tuples (0, log 3) and (1, 0) are achievable. Thus, SRC helps enlarge the achievable region by additional green area. The achievable region can be further enlarged by an additional yellow area by Figure 11. Achievable rate region using SRC scheme for R 2 and ERC scheme for both R 1 and R 2 .
using SRC for R 2 to obtain the rate tuple (0, log 3) and ERC (Proposition 2) for both R 1 and R 2 to obtain the rate tuple (1,1). Consequently, the achievable rate region is obtained by interpolation between the two rate tuples (0, log 3) and (1,1).
2) Achievable Rate Region for Three-Transmitter Topologies: Similar to the two-transmitter topologies, the achievable rate region of the three-transmitter topologies is constructed by finding the feasible tuples that can be achieved using SRC and ERC, and additionally JRC. Specifically, for three-transmitter topologies, the canonical topologies with the number receivers: 1, 2, and 3, are as shown in Fig. 12. First, using SRC (Proposition 1) for R 3 , R 2 and R 1 , rate tuples (0, 2, 0), (log 3, 0, 0) and (0, 0, 1) are achievable as the red triangle shown in Fig. 13. Note that the x, y, and z coordinates denote the rate for R 2 , R 3 , and R 1 , respectively. Next, using ERC (Proposition 2), the feasible tuple (1,1,1) can be obtained. Thus, the achievable region is enlarged as shown by the green pyramid with four vertices (0, 2, 0), (log 3, 0, 0) and (0, 0, 1), and (1, 1, 1). (c) (d) Figure 12. Topologies for (a) three transmitters and three receivers; (b) three transmitters and one receiver; (c) and (d) three transmitters and two receivers.