Scalable Two-way Relaying
Two way relaying is a promising technique to improve the performance of wireless networks because it dramatically enhances the spectral efficiency comparing to traditional one way relaying. This technique is flourished by seminal works    , which introduce different two-way relaying schemes. Generally, these schemes can be divided into two categories: three-step schemes and two-step schemes. In three-step scheme also known as decode-and-forward (DF) relay, two end nodes in two way relay channel transmit their packets sequentially in the first two time slots and the relay node codes two received packets by applying bitwise XOR operation and broadcasts the coded packet to two end nodes in next slot. In two-step schemes also known as amplify-and-forward (AF) relay or denoise-and-forward (DNF) relay depending on the operation applied in the relay node, two end node send packets concurrently to the relay node in the first time slot and the relay node directly broadcasts the received waveform (AF relay) or perform physical layer network coding (PLNC) on received signals and broadcast the coded packet (DNF relay) to two end nodes in the second time slot. As shown in , two-step schemes are more efficient than three-step scheme especially in high SNR regime. Hence in this paper we only take two-step two way relaying schemes into consideration.
Motivated by enhancing the performance of the network, many research papers investigate how to apply the two way relaying technique in wireless networks. Most of these papers focus on networks with regular topologies, such as star topology , layered topology , two-tier topology , a routing path in multihop networks , source-relays-source topology [9, 10] and etc. For general ad hoc networks, literature  provides a solution for applying two-way relaying in such networks based on transmission scheduling. However the optimal scheduling in this paper turns out to be NP-hard, and similar conclusion is further confirmed in . Hence the scheduling based solutions for applying two-way relaying are more than complicated in general ad hoc network, and are not practical in realistic systems. Therefore to apply two way relaying in general networks in a more practical and more scalable way, random access schemes should be taken into consideration.
Recently, a few papers deal with topics related to the design of random access MAC protocol to support two-way relaying. Majid Khabbazian  presents a MAC design for analog network coding (similar with AF relay). However the solution is on theoretical level and far from a practical design. In addition, Shiqiang Wang  proposes a distributed MAC protocol to enable the application of PLNC in the network. However, the protocol suffers from some defects. First, the protocol has no mechanism to guarantee the performance gain when there are no bi-direction data flows, namely when not both two end nodes have packets to each other the throughput would degrade to the level when no two way relaying is applied. This limits the usage of this protocol. Also, in the protocol the transmission is initiated by the relay node instead of transmitters of data. This requires that nodes have to provide their queue information to neighbor nodes, and this operation would result in the degradation of the performance due to the overhead and the increase of mean packet delay. To our best knowledge, no better solution schemes are published up to now. Hence a more practical and more efficient random access MAC protocol which supports two way relaying is high needed.
To support random access MAC protocol, physical layer implementation of two way relaying should be revised. Some requirements of two way relaying such as the symbol synchronization and frame alignment are difficult to meet in random access protocol, and hence should be removed. Some previous works       remove or relax these requirements and make the two way relaying technique more practical. However, these solutions have some imperfections respectively and are insufficient to serve as powerful physical layer schemes to support random access MAC protocol. In , analog network coding scheme is proposed without any synchronization requirement. However, the scheme is designed only for MSK modulation and cannot support QAM modulation which is more widely used. The OFDM based solution, proposed in , only allows the asynchronization of packets up to the length of cyclic prefix of the OFDM symbol. This limits the usage of this method in many scenarios. The schemes based on linear convolution coding   suffer from the similar issue, i.e. the scheme only can tolerate the symbol level misalignment but frame synchronization is still required. Also asynchronous two way relaying schemes based on PLNC, proposed in  , have the problem that coding scheme is sensitive to channel gains and modulation schemes adopted by two end nodes as revealed in . The author of  also shows that the issue is further complicated when large constellation size is used. This inflexibility results that these schemes are not suitable for random access networks especially mobile ones. Therefore to provide more freedom on the design of a widely applicable random access MAC protocol, it is necessary to design a new physical layer scheme for two way relaying, which is flexible, fully asynchronous and feasible for multiple types of modulation schemes.
In this paper, we propose not only a random access MAC protocol to support two-way relaying but also a practical physical layer schemes for two-way relaying to facilitate the MAC design. To our best knowledge, we are the first to provide a integrated design including both physical layer and MAC layer for applying two way relaying in general ad hoc networks. This integrated design deliveries a practical and high-performance solution. Specifically, we first present a new physical layer decoding algorithm for end nodes in two way relay channel. The algorithm is based on a bunch of techniques such as oversampling, joint channel estimation and waveform recovery. This decoding algorithm in end nodes and the amplify-and-forward operation in relay node compose the our physical layer scheme. The advantage of our physical layer scheme is manifold. First, our scheme does not require any synchronization. Second, our physical layer is feasible for any linear modulation schemes. Also, all of information required for physical layer operations, e.g. channel coefficient, are locally obtainable. Hence our physical layer scheme adds little extra burden on MAC protocol. Then we propose a random access MAC protocol TREAN (Two-way Relaying Enhanced Ad-hoc Network). It performs RTS/CTS-like queries to build the cooperative configuration for two-way relaying. After that the new physical layer scheme is applied to conduct two-way relay transmission with least coordination. Also, different modes of TREAN are designed to enlarge the application scope of TREAN protocol. The basic mode is simple, flexible and requires least management. It works well in networks with bi-directional data flows and is also suitable for mobile network. The extended modes of TREAN protocol is designed to deliver high performance even when bi-directional data flow is absent. Moreover, we provide accurate analysis and approximate derivation on the saturation throughput for small-scale network and large-scale network respectively. These theoretical results can serve as tools for performance evaluation or guidelines for practical designs. To validate our design and analysis, we perform the simulation in various settings. Results show that TREAN protocol can significantly enhance the throughput of the network. Also, the theoretical analysis is verified by the fact that analytic results and simulation results are matched well.
The rest of this paper is organized as follow: Section II introduces our physical layer scheme; Section III describes details of the TREAN protocol; Section IV provides throughput analysis when TREAN protocol is adopted in the network; Section V evaluates the performance of our integrated design; Section VI concludes the paper.
2 New Physical Layer Decoding Scheme for two way relaying
In our physical layer scheme for two way relaying, two end nodes transmit their packets to the relay node without any synchronization. After receiving superposed packets, the relay node simply amplifies and forwards the received signals to end nodes. Then two end nodes extract their desired packets from superposed waveform broadcast by the relay node with our new decoding algorithm. In this section, we present this new decoding algorithm. The basic idea of this new physical layer technique is to exploit the oversampling. First, the superposed waveform broadcast by the relay node is sampled by the receiver with the frequency higher than symbol rate. Then, we deduct the components of the known packet from these samples. Finally, we can recovery the waveform of unknown packet with processed samples according to Shannon sampling theory and decode the obtained waveform with general decoding procedure. The details of our new physical layer scheme are explained as follow.
Sampling and packet detection First of all, we show the packet layout for our physical layer as Figure 1. Similar with the design in , we divide the training sequence field into two parts and add them at the beginning and the ending of the packet as preamble sequence and postamble sequence respectively. The preamble is a -bit pilot sequence and the postamble is another one which is orthogonal to the preamble sequence. The objective of this layout is to avoid the situation that the pilot sequence of one packet is completely collided with the data field of another packet when two packets are superposed at the relay node. This situation may result in the failure of channel estimation. However, if two packets have similar sizes
Under random access MAC protocol such as 802.11 and TREAN, the receiver cannot know when a packet arrives. Hence the receiver has to keep sampling the channel to detect the arrival of packets. In our physical layer, we require that the receiver should keep sampling signals in the channel with the frequency twice as the symbol rate of the transmission. Let , , denote samples obtained in sampling procedure. To detect the beginning of a packet, the receiver calculate the correlation between pilot sequence and these samples as
When and spike consecutively, we can conclude that a packet arrives and is the first sample for this packet. Similarly, we can locate the ending of a packet in the same way. Also, we note that when the preamble of a packet is corrupted by other packets, the method still works to indicate the beginning of the packet. This is due to the fact that the correlation between pilot sequence and an irrelevant sequence is expected much less than that between the pilot sequence and itself, and hence the existence of components of other packet in samples has less impact on the occurrence of the correlation peak indicating the arrival of the packet. Therefore the receiver is able to detect the beginning of each packet from superposed waveform with correlation based method.
Channel Estimation Once detecting the arrival of the superposed waveform broadcast from the relay node, the receiver of the end node needs to estimate the channel gains experienced by both packets. If the channel estimations are performed respectively for two packets considering another packet as interference, the accuracy of the estimations are poor due to the existence of strong interferer. Therefore we jointly estimate the channel coefficients for two packets, which is similar with idea in .
For the sake of clarity, we name two packets as packet F and packet S according to their transmission order. Let and denote the fading coefficients experienced by packet F and packet S, and represent the symbol sequences for two packets, and stand for the distorted pulse shapes after transmission, and denote the relative delay between two packets. Also, is the noise process. We should emphasize that , , , and all count not only the contribution due to the up-link from the end node to the relay node but also that due to the downlink from the relay node to the end node. Then the received waveform at the end node can be expressed
After sampling process, the th sample is given by
Where is the time at the first sampling position of packet F and we have that . Considering odd-index samples, we have
Where and (without loss of generality, we can assume that ). In addition, let denote the region
when or . Hence, equation (4) can be simplified as
The previous equation can be written in matrix form as
where and are matrixes with dimension and
and are matrixes with the dimension and
is a matrix with the dimension and
Similarly, even-index samples can be denoted as
where , and is given by
Consider the first 2 samples and the last 2 samples , i.e. samples which coincide with the preamble of packet F and the postamble of packet S, as shown in Figure 2. Then odd-index samples in and can be expressed as
where consists of the first rows of and consists of the last rows of . , , and are defined in a similar way. We note that entries in the first rows and the last rows of the matrix and only involves symbols in the preamble or the postamble and hence are known by the receiver. Therefore the matrix is fully known and we can use Equation (18) to estimate the channel coefficients and . Based on the Least Square Estimation, we have
Similarly, it can be shown that
We note that the inverse matrix of exists if and only if the matrix has full rank. If the same set of pilot sequences, including the preamble and the postamble, is chosen by packet F and packet S, it is required that two packets have relative delay at least symbol times to guarantee the full rank of . As mentioned previously, this time period is close to delay spread of the channel and is on the level of nanoseconds. Hence the relative delay between two packets within this time duration can be easily avoided through deliberately introducing delay by the MAC layer when necessary. Another solution is to use different sets of pilot sequences for packet F and packet S. In this case, it can be shown that the rank of is always full, and hence the MAC layer only need to establish the rules about how to choose different sets of pilot sequences in different situations. This solution incurs less complexity on the MAC layer design and also avoid the overhead due to the deliberately introduced delay in previous solution. However, this scheme doubles the computational load for packet detecting, i.e. the receiver has to correlate signals samples with four sequences (preamble sequences and postamble sequences for packet F and packet S individually) to detect the beginning and the ending of packets. The better solution is to choose the same set of pilot sequences for packet S and packet F but to use sequences with different order, i.e. the preamble of packet F is the postamble of packet S while the postamble of packet F is the preamble of packet S. By this mean, the receiver only needs to correlate signal samples with two sequences
In the end of this section, we emphasize that channel coefficients count not only fading terms (or ) but also the pulse-shape gain (or ). In general decoding procedure, with timing synchronization the sampling offset is fixed to a certain value corresponding to the optimal sampling point, and hence the pulse shape gain is constant. However, when two packets superpose together but without any coordination, their relative delay may change from transmission to transmission, and hence so do and . Therefore we cannot assume the channel coefficients are constant even in slow fading channel and have to estimate it every time.
Self-packet Identification The receiver also need to determine which packet, packet F or packet S, is transmitted by itself. This can be achieved by correlating waveform samples with the symbol sequence of the known packet. Because that 2X oversampling is adopted, every symbol would be sampled twice. Hence and correspond to the same symbol in packet F. Therefore if the symbol sequence of known packet align with the position of packet F in superposed waveform the correlation can be calculated as
Then we can use to indicate the relevance between the packet F and known packet. Similarly, if denote the first sample of packet S, when the symbol sequence of known packet align with the position of packet S in superposed waveform the correlation can be calculated as
If , the relevance between packet F and known packet is higher than that between packet S and known packet. Hence the receiver decide that packet F is known packet while packet S is desired packet. However, if , the decision is reversed. Without loss of generality, we can assume that packet F is already known by the receiver and packet S needs to be decoded.
Waveform Recovery Based on previous knowledge, we remove the components due to known packet from waveform samples to enable the decoding for desired packet. The processed samples are denoted as (odd-index samples) and (even-index samples), and they are given by
Up to now, we can decode packet S based on Equation (27) or Equation (30). However, due to the uncertainty of and , the pulse shape gain (or ) may not be optimal. This results in the degradation of signal-noise ration, which is proportional to , and hence has negative impact on decoding performance. The better solution is to recovery the waveform of packet S taking advantage of redundant samples and relocate the optimal sampling points. For convenience, we emerge and together as
Then the waveform of packet S can be recovered as
In reality, the calculation of is approximated by the summation over a few items the indices of which are close to .
Decoding The recovered waveform can be decoded with general decoding procedure. Hence we can consider all of previous steps as a preprocess unit before general decoding block which extracts the waveform of desired packet from superposed waveform. Also, this preprocess unit is independent of the decoding block following it. This feature make our algorithm applicable to a wide variety of modulation schemes.
3 Two-way Relaying Enhanced Ad-hoc Network Protocol
In this section, we propose a new protocol called TREAN (Two-way Relay Enhanced Ad-hoc Network) that incorporates our new physical-layer scheme into general ad-hoc network to boost the performance. The protocol is a random access MAC scheme in nature and borrows some essentials from CSMA/CA protocol. It performs RTS/CTS-like queries to build the cooperative configuration for two-way relaying. After that the new physical layer scheme is applied to conduct two-way relay transmission with least coordination. In the rest of this section, we first present the basic mode of TREAN protocol to provide a detailed description about how TREAN protocol works. Then two extended modes are discussed to further enhance the performance of TREAN protocol.
3.1 The Basic Mode
The two-way relaying cooperation process in TREAN protocol can be divided into three sub-processes, as shown in Figure 3.
The handshaking process sets up the connections between stations for the cooperation and clears the channel for data transmissions. Following that the two-way relay process adopts our new physical layer technique to transmit data packets. Finally, the ACK process reports successful transmissions also with the help of our two-way relaying scheme. The detailed procedure are discussed as follow.
Handshaking process Consider a station with a data packet to transmit, as shown in Figure 4.
As CSMA/CA protocol, the station sends the RTS frame first when the channel is sensed idle and the backoff time counter decreases to zero. The contents of the RTS frame includes those in its CSMA/CA counterpart. Besides, the address of next two-hop destination on the routing path of the data packet should be added in the RTS frame for TREAN protocol. The format of modified RTS frame is shown in Figure 5. If the source routing is used, we can extract the address of the next two-hop destination from data packets directly. If the hop-by-hop routing is used, to provide this information, the routing table at every station should indicate next two hops towards each possible destination. This can be achieved by exchanging the routing information between neighbor stations periodically. A special case is that the data packet would reach its final destination after next hop, i.e. the next two-hop destination does not exist for the packet. In this scenario, a special RTS are sent and the transmission procedure is same with CSMA/CA protocol.
Also, we modify the blocking function of the RTS frame
In addition, after the transmission of the RTS frame, a RTS-frame timer is set up. If no valid CTS frame are received before the timeout, the station increases its backoff stage and take a random backoff.
If the RTS frame are successfully sent to its receiver, the receiver would transmit a RTC (Request to Cooperate) frame to the station whose address is written in NA field of received RTS frame after waiting for SIFS period. For example, as shown in Figure 4, if station are correctly received the RTS frame from station , it would send RTC frame to station . Also, this frame can be overheard by station .
The format of the RTC frame is shown in Figure 6. The information carried by this frame includes not only the addresses of the transmitter and the receiver of this frame, but that of the sender of the previously received RTS frame. Also, the operation mode of TREAN protocol is specified by this frame. This is achieved by using different values in the subtype sub-field contained in frame control field of the frame, as shown in Table 1.
If the RTC frame are correctly received by its receiver the station , the address written in NA field of the RTC frame are extracted firstly. Then the station would check the transmission buffer to determine whether it has a data packet towards the station indicated by this address (the station in our example). If there does exist such a packet, the station would send back a ATC (Answer to Cooperate) frame to the transmitter of the RTC frame, namely station . The format of the ATC frame is shown in Figure 7.
Also, the RTC frame can be overheard by station . If station takes no action after receiving this frame, both station and station have no transmission until the broadcast of the CTS frame as shown in Figure 8. This may cause that the channel around the station is recaptured by other nodes due to no transmission in nearby region. The case is worse when the ATC frame is transmitted with a relatively low rate and hence the vulnerable period becomes longer. Also, if the station density is high, the recapture of the channel tends to happen more frequently.
The blocking function of the RTS frame in CSMA/CA protocol can only solve the issue partially. The stations outside the communication range but in the interference range of station are not affected by RTS frame, and they can recapture the channel and cause the failure of the cooperation initiated by station .
The better solution for this problem is using CPP (Channel Protection Packet), i.e. the station sends a packet after receiving RTC frame to protect its channel, as shown in Figure 3. Although solving previous issue, this may cause the signal superposition of ATC frame and CPP frame at station . However, if the CPP frame is known by the station , then our physical layer technique can be applied to cancel the CPP frame and extract the ATC frame.
We can choose the RTS frame previously transmitted by station as a CPP frame. Also, we require that the station changes the common order of pilot sequences for its ATC frame, namely swap the preamble and the postamble, to guarantee the function of channel estiamtion in our physical layer scheme. If all of these are done, station can retrieve buffered RTS frame and use it extract ATC frame with our physical layer decoding algorithm once the collision happens.
If the station receives the ATC frame before the timeout of RTCframe-timer, then it broadcasts a CTS frame to station and station . This frame serves as an authorization for the two-way relay cooperation between station and station and at the same time blocks the transmissions of all other neighbors of station . However, if no ATC frame received before the timeout, station presume that station does not has a data packet towards station . In this case, station would broadcast a special CTS indicating that one-way relay are performed in following stages. The format of the CTS frame is shown in Figure 9.
Two-way relay process If the CTS frame for two-way relay is received by station and station , they would transmit their data packets to station after a SIFS time period. As the case of the ATC frame, station swaps the preamble and the postamble for its data frame. Then station amplifies and forwards the received waveform to the transmitters of two data packets. Once receiving the waveform, station and station can decode their desired data packets with our physical layer decoding algorithm. However, if the CTS frame for one-way relay is broadcast, then only station transmit its data packets to station . Once receiving the packets, the station forwards the packets to the station after waiting for SIFS.
ACK process If station and station decodes data packets correctly, they send ACK frames to announce the successful reception, and the transmission process is also in two-way relaying manner as shown in Figure 3.
Because the structure unit of our physical layer involves three nodes to cooperate, it is more complicated and larger than that of traditional physical layer. Hence our scheme suffers more serious hidden node problem than those traditional ones. One of effects of this issue is increasing the loss rate of ACK frames. Our solution to this problem is to acknowledge preivously received data frames from same sender in current ACK frame. This can be achieved by including frame IDs of recently received data frames in the ACK frame to notice the successful transmission of these frames. The format of the ACK frame in TREAN protocol is shown in Figure 10.
Under this ACK scheme, a station buffers the transmitted data frame instead of retransmitting immediately if the corresponding ACK frame is not received. Until the next ACK frame from the same transmitter of the lost ACK arrives, the station can determine whether previous data frame is received according to the ID fields in the ACK frame and then retransmit or delete the frame from the buffer.
3.2 Extended Modes
Extended Mode The basic mode of TREAN protocol leads to an enormous improvement on the throughput of the network when the answer-to-cooperation(ATC) probability is high. The ATC probability is here defined as the probability that the station has data frames to send back towards the address in NA field of the RTC frame. However the performance degrades when the ATC probability goes down. Unfortunately, in many realistic systems, the ATC probability is low. To further improve the performance of TREAN protocol even in low ATC-probability scenario, extended mode of TREAN protocol is needed.
To run the extended mode of TREAN protocol, every station in the network should maintain a special neighbor table, called close neighbor table. The table contains neighbors which are close to the station in distance and hence have high-quality communication links with the station. The threshold for recognizing a close neighbor depends on the noise-level, the station density of the network, etc. In addition, stations should exchange the information of close neighbor tables with their all neighbors periodically.
The basic idea behind the extended mode of TREAN protocol is to provide the cooperation opportunity to more stations. As shown in Figure 11, we assume that station does not have a data frame towards the station but station has ones coincidentally. In the basic mode, the two-way relay cooperation cannot come into being due to no backward data frames in station . However, if the cooperation opportunity can be offered to station , then a special two-way relay cooperation can form to transmit the frame of station to station and at the same time send that of station to the station with the help of station .
The offer of the cooperation opportunity to more stations are done by station with the help of the extended RTC frame, as shown in Figure 6. After receiving the RTS frame from station , the station randomly chooses some stations from the close neighbor table of station (indicated by NA field of the RTS frame), and writes addresses of these stations in the EA fields of the extended RTC frame indicating that these stations are also allowed to participate in the cooperation beside the station . For convenience, we call all of these stations (including stations ) as qualified stations. Evidently, the maximum possible number of qualified stations is equal to the number of EA fields in an extended RTC frame plus one. Hence the station can randomly allocate a sequence number in the range from 0 to to every qualified station and guarantee that no stations share the same sequence number. These allocated sequence numbers are written in the TS field of the extended RTC frame in the specified order and reflect the priority of qualified stations participating in the cooperation. Specifically, a qualified station with sequence number has to wait for the period equal to before its transmission of ATC frame. However, to avoid the interruption by irrelevant stations, the waiting time for qualified stations should not be longer than DIFS. This sets the limitation on the maximum sequence number , i.e. the maximum number of EA fields in a extended RTC frame should not be greater than . If DIFS and SIFS are specified as those in 802.11 standard , the number of EA fields should not be more than two. However, according to the simulation result, two EA fields is enough to enhance the throughput dramatically in low ATC-probability scenarios.
Once receiving the extended RTC frame, each qualified station would send its ATC frame after required waiting time if the station has data frames to send back to the station . Before the transmission of ATC frames, every qualified station should keep sense the channel. If a strong signal is sensed, the qualified station can know that at least one of nearby stations is in the transmission state. However all of nearby stations except qualified ones has to wait at least DIFS after the transmission of the RTC frame. Therefore the qualified station can determine that another qualified station with less sequence number has transmitted a ATC frame to the station , and hence cancel the ATC frame transmission itself. In this way, there exists only one ATC frame sent to the station unless that all qualified stations have no backward data frames towards station . This avoids the collision of ATC frames from different qualified stations.
At the same time, the transmitter of the RTS frame, i.e. station , overhears the transmission of the extended RTC frame. As the basic mode of TREAN protocol, once the RTC frame is received station transmits a CPP frame after a SIFS time period. Nevertheless, in the extended mode the transmission of the ATC frame could starts until time period after the reception of the extended RTC frame as discussed previously. Hence the CPP frame and the ATC frame may superpose at the station with relative delay as large as a few slot times. In this case, OFDM-based or LCC-based physical layer techniques for two-way relaying cannot work because the asynchronization is beyond their limitation. Fortunately our physical layer scheme can deal with this case and help station extract the ATC frame from superposed waveform.
Once a ATC frame from qualified stations are received before the timeout of RTCframe-timer, the station broadcast a CTS frame containing the addresses of station and the transmitter of the received ATC frame. This indicates that the two stations can transmit their data frames in two-way relay process and others should keep from sending any information.
Without loss of generality, we can assume that station successfully send a ATC frame. Once receiving the CTS frame, station and station transmit their data frames to station after the time period equal to SIFS plus a tiny random delay. At the same time, the station should overhear the transmission of station , although the frame is not targeted for it. However, due to the concurrent transmission of station with station , the overhearing suffers the interference from station . Nevertheless, this interference is negligible for two reasons. First, the direct link between station and station is weak. Otherwise it is not necessary to add a station in routing path between station and station . Also, the signal strength from station to station is strong. This is due to the fact that station , as a qualified station, is chosen from the close neighbor of station . Therefore the signal from the station is easily surpassed by that from station , and has less impact on the decoding of the overheared frame. If station obtain the data frame of station , it can apply our physical technique to extract the data frame of station from superposed waveform received in the broadcast stage of two-way relay process. Also, station can extract its desired frame with our physical layer decoding algorithm. By this way, two data frames are delivered to their respective destinations. Then two stations relay ACK frames as the basic mode of TREAN protocol.
Extended Mode plus If further improvement on the performance of TREAN protocol in low ATC-probability scenario is needed, we can increase the number of EA fields in an extended RTC frame to provide the cooperation opportunity to more stations and hence enhance the probability that two-way relay cooperation comes into being successfully. However, the number of EA fields is usually limited by the parameters SIFS, DIFS and time slot as mentioned previously. Another solution is to run the extended mode plus of TREAN protocol. The basic idea behind the extended mode plus is to relax the limitation on backward data frames, namely qualified stations can reply ATC frames not only when they have data frames to station but also when they have ones to a close neighbor of station . This dramatically increases the probability of relaying ATC frames, and hence enhance the probability for successful formation of two-way relay cooperation. However this is at the cost of the management overhead, i.e. every station has to know close neighbor tables of its two-hop neighbors beside those of its direct neighbors.
The runing of the extended mode plus can be further explained with the help of an example shown in Figure 12. The qualified staion has a data frame to station , a close neighbor of station . If no qualified stations with less sequence number have data frames to station or its close neighbor, station would transmit an ATC frame after waiting required time period. Once authorized by the CTS frame, station and station send their data frames to the station . Meanwhile, the station and the station overhear transmissions from their respective close neighbors. After that the station would amplify and forward received superposed waveform to the station and the station , and then they can use their overheard frame to extract their desired frames from the waveform with our physical layer scheme .
At the end of this section, we emphasize that although extended modes provide better performance in low-ATC-probability scenario, they would also result in larger management overhead. The extended mode requires stations to maintain close neighbor tables and exchange them with all neighbor stations. In extended mode plus, close neighbor tables of two-hop neighbors are further required to be known by stations. However, all of these are nor prerequisite in the Basic mode. Therefore we should select suitable mode according to different application scenario. In mobile network or the network with high bi-directional data flows, the basic mode is better solution, while in stationary network with low ATC-probability, extended modes are needed to enhance the performance. Also, the adaptive switch between different modes are feasible.
4 Performance Analysis
In this section, we adopt Markov model to derive the saturation throughput of the network with TREAN protocol. The objective is to evaluate the performance of TREAN protocol in theory. Also, the theoretical results can provide insights and guidelines for selecting optimal parameters in protocol design.
As prior works, we define the throughput as the successfully transmitted payload in the network within unit time period. However, in this paper, we redefine the saturation condition as every station always has packets to transmit and each station has packets to send back when cooperative request is received, namely the transmission queue for any potential two-hop destinations are always non-empty. Also, to show the full capacity of TREAN protocol, we assume that all of transmissions are in two-way relaying manner, i.e. special RTS for the data frame without next two-hop destination is never initiated.
The derivation is divided into two subsections according to the size of networks where TREAN protocol is applied. In subsection 4.1, we derive the saturation throughput for small-scale network. Stations in this type of network can sense transmissions from all other stations, namely the network is free from the hidden node problem. In subsection 4.2, we provide an derivation of saturation throughput of the network deployed in large area. In this scenario, the size of the network is beyond the sensing range of the station, and hence the performance of the network would be affected by hidden stations.
4.1 Saturation Throughput in small-scale network
Consider stations in a small-scale network. For every station, it may stay in different backoff stages and have different values in its backoff-time counter. Let denote the state that the station belongs to the th backoff stage and have the value of the backoff counter equal to j. Note that the backoff stage is upper bound by constant and the value of backoff counter in stage should be in range from zero to contention window minus one.
There exists two important probabilities affecting transitions between different states . One of them is the transmission failure probability defined as the probability that collision happens in transmission process. As mentioned in , it is reasonable to assume that is uncorrelated to the number of retransmission. Another key probability is the cooperation probability , defined as the probability that a station accept to a two-way cooperation request and transmit a packet successfully in the cooperation. We assume that the cooperation probability is independent from backoff stages and values of backoff time counter due to the fact that the cooperation process is less related to the backoff behavior.
Based on previous discussion and inspired by prior work , we can model the transitions between states as a discrete-time Markov chain.In our Markov chain, all of non-zero state transition probabilities are:
The first three equations in (35) correspond to backoff behavior after collision or successful transmission, which is similar with CSMA/CA protocol. However, the last two equations are special in the network adopting TREAN protocol. The fourth equation describes the state transition due to being requested to participate in the two-way relay cooperation. Once a station answers to cooperate in two-way relay manner and transmits a data frame successfully in the cooperation, the station reset its beckoff stage to zero and take a random backoff, just as a successful transmission under CSMA/CA protocol. The last equation in (35) accounts for the fact that as long as a station does not involve in a successful two-way relay cooperation it would reduce its backoff counter when channel is sensed idle for a certain period.
To determine the stationary distribution , we note that
Based on recursive relations in equation (36), we can show that
Therefore, can be expressed as
Hence, we have that
Then we have that
According to the definition of and and last equation in (36), it can be shown that
Moving to one side of the equality, we have that
Hence the transmission probability, defined as the probability that a station initiates the transmission in a randomly given time slot, can be expressed as
For the sake of simplicity, we consider a symmetric setting where every station has equal opportunity to be requested to participate in the two-way relaying cooperation. In this case, we can assume that the cooperation probability is constant over stations in the network. Also, as mentioned in , it is reasonable to assume that keeps invariant for all stations. Furthermore, we note that the transmission probability is decided by the cooperation probability and the transmission failure probability . Hence we can conclude that the transmission probability is also unchanging for all stations.
Let denote the set of stations that have data frames with station X as their next two-hop destination and represent the set of stations which are next two-hop destinations of data frames from station X. Also, stands for the probability that station transmits a RTS frame with the address of station Y in NA field, and denotes the probability that such RTS frame is free from the collision and the cooperation process is successful. Then for a specific station , the cooperation probability is given by
We add the cooperation probability for all stations together, then we have that
We know that and keep constants for all stations, hence it can be shown that
As derived in (), the transmission probability can be expressed as
Combine equation (50) (58) (59), we can solve , and with numerical methods. Although previous derivation is based on symmetric setting assumption, we should emphasize that our theoretical framework is not limited by this requirement. In fact, it can be applied to various scenarios. However, unsymmetrical scenarios results in relatively high computational complexity. For most general case, , and are all different for different stations and we should solve equations to obtain these probabilities for each station. In this case, some sophisticated numerical methods should be applied. For example, the secant updating methods can solve our problem at the cost of operations .
Based on previous results, the length of generalized time slot , defined as the time interval between two consecutive backoff counter decrements in , can be calculated as
Where , and represents the probabilities that the channel is idle, captured by a successful transmission and occupied by a collision respectively. Also, , and denotes the length of a time slot, a successful transmission period and time duration of a collision respectively. These variables are given by
Where denotes the propagation delay. Note that is a little bit longer than due to non-complete overlap of two data frames without synchronization. However, this overhead is negligible and we can approximate with . Also, previous discussion is true for .
In a successful two-way relay cooperation, two packets are received by their next two-hop destinations. This is equivalent to four transmissions in the traditional CSMA/CA scheme. Therefore the saturation throughput can be expressed as
where represents the average payload in a packet and , are obtained from previous derivations.
4.2 Saturation Throughput in large-scale network
Due to the complexity of large-scale network with hidden node problem, it is difficult to provide an accurate derivation of saturation throughput. Instead, we present an approximate analysis on the throughput performance of this type of network in this subsection. Although several secondary factors are neglected and some assumptions are made, we catch the most important elements that play a significant role in the performance of the network. Therefore our approximate result can closely reflect the performance of TREAN protocol and provide a guideline for protocol design.
First of all, we determine the transmission failure probability , defined as the station fails to receive the ACK for its data frame. It should be noticed that the transmission failure not necessarily means the failure of the transmission of payload bits. It is possible that the data frames are received correctly by stations but frames are collided due to hidden stations. In this case, the station increases its backoff stage and takes a random backoff but buffers previous data frame as explained in section (3.1).
The transmission failure is caused by two reasons in the network with hidden stations. One of them is the collision of RTS frame. This happens when a station transmit a RTS frame and in the same time slot another station in the interference range of the receiver also begin its transmission. Hence the probability of transmission failure due to RTS collision is given by
where denotes the number of stations in the interference range of a station. If the stations are uniformly distributed with density and the interference range is given by , the can be expressed as
Beside RTS collisions, the transmission failure may happen due to the existence of hidden stations. In the multiple access phases of the two-way relay cooperation process, as shown in Figure 13, stations in the interference range of the relay node can sense at least one ongoing transmission and hence no hidden region exists. In the broadcast phases of cooperation process, corresponding to the transmission of RTC, CTS, BDATA and BACK frames, the transmitter are hidden from two regions indicated by shadow areas in Figure 13.If stations in two shadow regions begin the transmission when the broadcast is underway, the corresponding stations would suffer from collisions. The vulnerable period for the collision can be calculated according to different scenarios. As shown in Figure 14, if the broadcast stage follows a transmission from station (or station ), the stations in corresponding hidden region have to wait at least DIFS period after the end of the transmission. Hence the vulnerable period for station (or station ) is given by
Where is the length of broadcast frame from station B. However, if no transmission from station (or station ) before the broadcast stage, the vulnerable period is simply
Let and denote the hidden regions corresponding to station and station , and represent the number of stations in region (). Based on previous discussion, we can determine the vulnerable period for station or station at () broadcast stage. Then the probability that no collision, due to the transmission initiated by stations in hidden region , happens at station in broadcast stage can be given by
Where is generalized time slot as defined in subsection 4.1.
Actually, the collision may also happens due to the transmission initiated by stations outside the hidden regions defined previously, as shown in Figure 15. However, the requirements for the occurrence of this scenario are demanding: the station should be not able to sense the transmission of station , station and station and initiate the cooperation (i.e. transmit RTS) successfully; In addition, the next two-hop destination station of the packet from station should be coincidentally in the interference range of station , station or station ; Also, to respond the cooperation and transmit messages, station has to receive packets from stations