1. Introduction
Recently, with the progress in self-interference (SI) cancellation technologies, the desired reception signals of the wireless nodes are no longer overwhelmed by the interference signals produced by themselves [1]. Typically, SI cancellation is divided into three modules, namely antenna cancellation, analog cancellation, and digital cancellation. They in turn process the interferece signal, as shown in Fig. 1.
Fig. 1. Implementation principle of self-interference cancellation.
In Fig. 1, for the wireless full-duplex (FD) node, the TX and RX are the the transmitting antenna and the receiving antenna respectively. First, the antenna cancellation isolates the interference signal by optimizing the positions and directions of the two antennas. Second, we can delay the TX signal and transmit it to the RX through the wired link, which is used by the analog cancellation to offset the interference signal. Third, using digital signal process methods such as gradient descent, the digital cancellation further eliminates the remaining interference signal. Through these processes, the nodes can simultaneously transmit and receive using the same frequency-band. It is clear that the FD mode could improve the physical-layer throughputs of the nodes as compared with the half-duplex (HD) mode. Furthermore, it brings new opportunities for improving the spectral efficiencies [2] and throughputs of the networks, as shown in Fig. 2.
Fig. 2. The HD and FD communication modes.
However, in the wireless ad hoc networks, where the distance of each communication link may be different and each node operates in a distributed fashion, The FD communications also produce new interference risks [3]. On the one hand, the SI signals may reduce the signal-to -interference-noise-ratios (SINRs) of the nodes when they work in the FD mode, so that they are more likely to be interfered by other transmitted signals during their receptions. On the other hand, unlike the HD communications, each sender also receives the signal during its transmission. The potential hidden terminal problems would appear around the both sides of each FD pair. Thus, for the network-layer to fully benefit from the FD communications and to avoid the interference risks produced by them, designing a new mechanism in the media access control (MAC) layer is necessary [4].
The distributed coordination function (DCF) protocol is widely used in the MAC layers of the wireless HD ad hoc networks (“HD networks” for short). Each node uses the carrier -sensing multiple access (CSMA) mechanism to contend for the channel. Before a frame is sent, if its size is larger than a given threshold, then the sender can first set up the Request-to -Send/Clear-to-Send (RTS/CTS) handshake with the receiver [5]. When the node in the interference range (IR) of the receiver can receive the CTS frame correctly or can sense the transmitted signal strength of the sender during its reception, we can avoid the hidden terminal problem. Under the two conditions, literatures [6] and [7] modeled the interference models for the HD nodes and proposed the specific methods for collision avoidance respectively.
Unfortunately, these models and methods cannot be applied to the wireless FD ad hoc networks ( “FD networks” for short) directly. First, during the reception of a receiver, although its transmitted signal can enlarge the original carrier-sensing range (CSR), which is formed by the transmitted signal of the other side only, its IR is also enlarged by the SI signal. For each FD pair, the FD MAC mechanism first needs to reasonably model the IRs of the two sides and the CSR formed by the two transmitted signals, and then determines whether the FD mode is feasible. Second, each FD pair does not necessarily have the same size of the data frame. After the node with the smaller size sends the frame, it will receive the frame from the the other side in the HD mode. However, the enlarged CSR has expired. The FD MAC mechanism needs to identify the size difference and avoid the interferece risk of the remaining reception.
In this paper, we propose a MAC protocol for collision avoidance in FD networks. Under the wireless transmission model and the modeled FD interference model, we solve the TRs, CSRs and IRs of the nodes. To avoid the interference risks, we analyze the conditions to be satisfied among these ranges. We require the FD pair to get the values of the ranges by using the interaction of the designed control frames. If the FD mode cannot avoid the hidden terminal problems around the both sides, we require them to work in the HD mode. Furthermore, when the node with the smaller size of the data frame completes its transmission, to avoid the interference risk of the remaining reception, we determine whether it should take a further action and develop the specific mechanism. We conduct the simulations based on the modified Omnet++ simulator [8] to validate and evaluate the protocol. Simulation results show that it can reduce the collisions effectively. When the hidden terminal problem is serious, compared with the existing typical FD MAC protocol, our protocol can increase the system throughput by 80%~90%. In detail, we analyze the working process of the two protocols and the DCF protocol used in HD networks.
The rest of this paper is organized as follows. Section 2 introduces the related works for the FD MAC protocols in recent years. Section 3 presents the system model, including the FD interference model. Section 4 proposes our method for collision avoidance in FD networks. Section 5 describes the specific protocol. Section 6 simulates and analyzes the protocol performance. Section 7 concludes the paper.
2. Related Work
For backward compatibility, current rearch on the FD MAC protocol attempts to improve or extend the HD DCF protocol. Literature [9] proposed a simple CSMA-based FD MAC protocol to avoid hidden terminal problems, the receiver is required to send the supplementary signal while receiving from the sender. FD-MMAC in [10] extended the “busy stone” method in [9] to the multi-channel. Using the FD capabilities of the nodes, the protocol can adjust load strength among multiple channels. However, these works did not model the IR of the FD nodes properly. Literatures [11] and [12] extended the semantics of RTS/CTS control frames of the HD DCF protocol. Using their interactions, they managed to effectively coordinate the FD communications of the nodes and were able to avoid hidden terminal problems. However, none of them considered the wireless transmission model and the SI signals of the FD nodes. Under realistic SI and network models, the proposed protocol in [13] can optimize the system throughput in a WLAN in which FD and HD nodes coexist. For the WLAN with an FD AP and several HD stations, literature [14] explored capture effect to provide the FD opportunities for the AP. In [15], a power control FD MAC protocol was proposed to maximize the system throughput by optimizing the transmit power of the uplink HD user and FD access nodes, as well as the downlink node selection. Although the transmit power, SINR, and other physical parameters were considered, these protocols were applied only to WLANs. There were no interference nodes outside the TRs of both the sender and receiver. Hidden terminal problems were not highlighted in such type of networks. For the wireless ad hoc networks, literature [3] deduced the upper bound of network capacity caused by FD communications. However, the interference model the authors used was the idealistic protocol model, where CSR was considered to be IR and we had a definite ratio between the TR and IR of each node. In addition, this work did not propose any feasible protocol implementation. To reduce the interference risk, in [16], each node of the FD pair was required to transmit the data frames using the maximum transmit power periodically, which formed the maximum CSR. But when the IR of the node was large, even the maximum CSR was not able to cover it. Literature [17] solved this problem, it required the two nodes to select the communication mode first. If the FD mode is not feasible, they should communicate in the HD mode. However, the two works also failed to give the proper definition of the IR of the FD nodes. In addition, they both assumed that the FD pairs have the same data frame size, which limits their applicable scenes.
3. System Model
We assume that there are several adjacent FD node pairs in wireless ad hoc networks and that these pairs all work in the bidirectional mode. We take nodes A and B as example and assume that A initializes the HD or FD communication. The transmit power of them are denoted by PtA and PtB. We have PtA=PtB=Pt. We denote by DataA→B and TDataA→B the data frame sent from A to B and its transmission time, respectively. We denote by LDataA→B the size of the DataA→B frame. If B receives the DataA→B frame correctly, it will reply the acknowledgement frame. We denote by AckB→A and TAck the frame and its transmission time. The signal power received by B from A and the SINR are denoted by PrA→B and SINRA→B, respectively. Similarly, we have the denotations DataB→A, AckA→B, TDataB→A, LDataB→A, PrB→A, and SINRB→A. We denote by Tdiff the difference between TDataA→B and TDataB→A.
3.1 Wireless Transmission Model
The signal propagation attenuation between A and B obeys the two-way ground-reflection model. The PrA→B is defined as follows:
\(P r_{A \rightarrow B}=c \frac{P t_{A}}{D_{A B}^{4}}\), (1)
where DAB denotes the distance between A and B, while c is a constant that is determined by the heights and gains of the antennae of A and B. We can obtain the SINRA→B as follows:
\(S I N R_{A \rightarrow B}=\frac{P r_{A \rightarrow B}}{P n_{B}}>S I N R_{ {thold}}\), (2)
where PnB denotes the total interference power received by B, and is obtained as follows:
\(P n_{B}=\sum_{L \neq A} G_{L B} P t_{L}+S I_{B} P t_{B}+P_{n}\), (3)
where GLBPtL, SIBPtB, and Pn denote the interference power for B from the other nodes, the SI power of B (SIB is the SI coefficient of B), and the background noise power, respectively. Similarly, we have the expressions PrB→A, SINRB→A, and PnA(SIA). Moreover, Prthold and SINRthold represent the minimum power and SINR bounds for the correct reception of desired signals. Psthold represents the minimum power bound for the nodes to be able to sense a signal. We assume PtA=281.2 mw, as DAB increases, the values of PrA→B are shown in Fig. 3.
Fig. 3. The values of PrA→B versus the different values of DAB.
Here, we set Prthold and Psthold to 3.652×10-7 mw and 0.95×10-7 mw respectively.
TRA and CSRA denote the TR and CSR of A, respectively. The frames sent by A can be successfully received by the nodes within TRA, but can only be sensed by the nodes within CSRA. In other words, the receiving signals of the nodes within TRAare required to satisfy both Prthold and SINRthold constraints, while the receiving signals of the nodes within CSRA are only required to satisfy Psthold constraint. Note that the background noise power is low, when a node receives the signal in the HD mode and there are no other nodes transmitting signals at the same time, SINRthold constraint can be easily satisfied, TRAis determined by Prthold constraint. At this time, CSRA is δ (δ>1) times TRA, where δ is determined by the physical properties of nodes. In Fig. 3, TRA=167 m, CSRA=233 m. During the reception of a node, if it transmits the signal or other nodes transmit the signals simultaneously, the interference power will reduce its receiving SINR. The desired signal power may not satisfy SINRthold constraint. The above relationship between TRAand CSRA is not necessarily true. Similarly, we have the denotations TRB and CSRB. Moreover, we denote by CSRAB the CSR of A and B transmitting signals simultaneously.
IRB denotes the IR of B, the transmitted signals within IRB can interfere with the reception of the DataA→B frame. Similarly, we have the denotation IRA.
3.2 FD Interference Model
Let PrnB be the remaining noise power level that B can tolerate. In order to satisfy the SINRthold constraint, PrnBis required to satisfy the following inequality:
\(\operatorname{Pr} n_{B} \leq \frac{P r_{A \rightarrow B}}{S I N R_{{thold}}}-S I_{B} P t_{B}-P_{n}\). (4)
Let B’ be the closest neighbor not to interfere with the reception at B. We require that:
\(c^{,} \frac{P t_{B^{,}}}{D_{B^{,} B}^{4}} \leq P r n_{B}\), (5)
where the definitions of c’and DB’B are consistent with those of c and DAB respectively. By Eq. (1) and Eq. (4), Eq. (5) can be rewritten as follows:
\(c^{,} \frac{P t_{B^{,}}}{D_{B^{,} B}^{4}} \leq \frac{c P t_{A}}{D_{A B}^{4} S I N R_{ {hald }}}-S I_{B} P t_{B}-P_{n}\) (6)
We transform the form of Eq. (6). The constraint that DB’B needs to satisfy is as follows:
\(D_{B^{,} B} \geq\left(\frac{c^{,}}{\frac{c}{D_{A B}^{4} S I N R_{{thold }}}-S I_{B}-\frac{P_{n}}{P t}}\right)^{\frac{1}{4}}\) (7)
Thus, \(\left(\frac{c^{,}}{\frac{c}{D_{A B}^{4} S I N R_{{thold }}}-S I_{B}-\frac{P_{n}}{P t}}\right)^{\frac{1}{4}}\) is the IR when B works in the FD mode, denoted by IRB(FD). We remove the SIB item of Eq. (7), \(\left(\frac{c^{\prime}}{\frac{c}{D_{A B}^{4} S I N R_{t h o l d}}-\frac{P_{n}}{P t}}\right)^{\frac{1}{4}}\) is the IR when B works in the HD mode [6], denoted by IRB(HD). For simplicity, we let Pn/Pt=0, because Pn≪Pt. In addition, both the values of c and c’ are set to 1. Hence, IRB(FD) is determined by both DAB and SIB, whereas IRB(HD) is determined by DAB only. In a similar manner, we have the expressions IRA(FD) and IRA(HD).
4. The Proposed Method for Collision Avoidance in FD Networks
We first summarize the methods for collision avoidance in HD networks. Then we discuss the interference risks in FD networks and propose a specific method to avoid them. In this section, when Tdiff≠0, for simplicity, we always assume that TDataA→B>TDataB→A.
4.1 Methods Summary for Collision Avoidance in HD Networks
In HD networks, according to the HD DCF protocol, there are mainly two methods for collision avoidance.
MethodA: After B successfully receives the RTS frame from A, it replies the CTS frame, the TR of which is used to cover IRB(HD)[5][6], as shown in Fig. 4(a). The nodes within IRB(HD) reserve the virtual carrier-sensing time according to the value of the “Duration” (“D” for short) field of the CTS frame and do not send signals during the reception of the DataA→B frame.
Fig. 4. The schematic diagram of the two methods for collision avoidance in HD networks.
MethodB: Let the CSRA cover IRB(HD)[7], as shown in Fig. 4(b). During the transmission of the DataA→B frame, the nodes within IRB(HD) can always sense the channel busy. After the transmitted signal disappears, they will delay the EIFS time (SIFS+TAck) before contending for the channel.
It is clear that TRB>IRB(HD) and CSRA>DAB+IRB(HD) are the two conditions for collision avoidance of the two methods respectively.
4.2 Interference Risks Produced by FD Communications
In FD networks, B transmits the signal while receiving the signal from B simultaneously. CSRAB enlarges CSRA. From the perspective of IRB(FD) coverage, the effectiveness of using CSRAB is better than that of using TRB or CSRA. However, IRB(FD) increases as SIB increases. Once the value of SIB is large, IRB(FD) cannot be covered by CSRAB as well. The interference risk of the data frame reception still exists.
Moreover, the size difference between the DataA→B and DataB→A frames produces another interference risk. After B sends the DataB→A frame, CSRAB will reduce to CSRA. The nodes first located in CSRAB but not within CSRA afterward only reserve the EIFS time, then contend for the channel. When Tdiff>EIFS, these transmitted signals may interfere with the remaining reception of the DataA→B frame. However, when Tdiff≤EIFS, although CSRAB reduces after B send the DataB→A frame, B will complete the reception within the EIFS time, during which the nodes located in the original CSRAB will not produce any interference signals.
4.3 The Proposed Method
According to the discussion above, based on the difference between the Tdiff and the EIFS time, we discuss the method for collision avoidance in FD networks in the following two cases.
1). Collision avoidance method when Tdiff=0 or ≤EIFS.
When A communicates with B in the FD mode, during the simultaneous transmissions of the DataA→B and DataB→A frames, the nodes within IRA(FD) and IRB(FD) are not able to send signals. We use CSRAB to cover both IRA(FD) and IRB(FD). We model CSRAB and IRB in a two-dimensional polar coordinate system with r and θ to analyze the effective condition of the method, as shown in Fig. 5. IRA can be modeled in a similar manner.
Fig. 5. The schematic diagram of CSRAB and IRB in a two-dimensional polar coordinate system.
Let A be the origin (0,0) of the coordinate system. The direction of \(\overrightarrow{A B}\) is taken as the direction of θ=0. The position P is in this direction. We have DBP=IRB(FD). In the direction of θ, we assume that M is the farthest position where the signals transmitted from A and B can be sensed. DAM in our coordinate system is also denoted by rmax(θ). On the one hand, as θ varies in the range of [0,2π], CSRAB is the envelop formed by rmax(θ). On the other hand, when B works in the FD mode, its IR is a circle centered at the position of B with the radius of IRB(FD). Note that it is difficult to obtain the analytic expression of rmax(θ), so we are not able to discuss whether IRB(FD) can be covered by CSRAB directly. Note that at the boundary of IRB(FD), B produces the same receiving signal strength, but only at the position of P, does A produce the minimum receiving signal strength. In addition, according to Eq. (7), IRB(FD) is determined by both DAB and SIB. Thus, given DAB and SIB, if we have the following condition:
\(\frac{1} {\left({D_{A B}+\left(\frac{1}{\frac{1}{D_{A B}^{4} S I N R_{ {thold}}}-S I_{B}}\right)^{\frac{1}{4}}}\right)^4}+\frac{1}{\left({\left(\frac{1}{\frac{1}{D_{A B}^{4} S I N R_{ {thold}}}-S I_{B}}\right)^{\frac{1}{4}}}\right)^4} \geq \frac{P_{S_{{thold}}}}{P t}\) (8)
CSRAB can then cover the whole of IRB(FD). This condition is both the sufficient and necessary to cover IRB(FD). Similarly, to cover IRA(FD), we have the following sufficient and necessary condition:
\(\frac{1}{\left({\left(\frac{1}{\frac{1}{D_{A B}^{4} S I N R_{ {thold}}}-S I_{A}}\right)^{\frac{1}{4}}}\right)^4}+ \frac{1} {\left({D_{A B}+\left(\frac{1}{\frac{1}{D_{A B}^{4} S I N R_{ {thold}}}-S I_{A}}\right)^{\frac{1}{4}}}\right)^4} \geq \frac{P_{S_{{thold}}}}{P t}\) (9)
If the values of SIA and SIB remain unchanged, then for DAB, both the functions in Eqs. (8) and (9) are monotonic. Thus, we can easily solve the two values of DAB respectively. The maximum value of DAB which satisfies the both conditions is the cut-off point to determine whether A can communicate with B in the FD mode.
2). Collision avoidance method when Tdiff>EIFS.
After B sends the DataB→A frame, the transmitted signal from B disappears. B receives the remainder of the DataA→B frame in the HD mode. We first observe whether the effective condition of the MethodB holds, if so, the transmitted signal of the remaining data frame itself can avoid the nodes within IRB(HD) transmitting signals. Otherwise, we have to develop an extra method.
Intuitively, if the effective condition of the MethodA holds, that is TRB>IRB(HD), there are two methods available.
First, before the two nodes send the data frames, during the interaction of the control frames, B uses the “D” field of the control frame to set virtual carrier-sensing time for the nodes within IRB(HD). The value of the “D” field is determined by the TDataA→B (the larger one). Typically, [11], [12] and [16] adopted a three-handshake mechanism. However, in a network with dense nodes, although some nodes are within TRB, their receptions of the control frame are more likely to be interfered by other transmitted signals, so that they cannot obtain the “D” field of that frame. At this time, using the “D” field to set the virtual carrier-sensing time for the nodes within IRB(HD) is ineffective.
Second, after B sends the DataB→A frame, B then sends a supplementary (“ADD” for short) frame. The value of the “D” field is determined by TDataA→B−TDataB→A. Since B just sends over, the nodes within the original CSRAB will not transmit the signals in the future EIFS time (TADD<EIFS). Meanwhile, we have CSRAB>CSRB>TRB. The nodes within the TRB are less likely to be interfered during the reception of the ADD frame. However, this method is ineffective under the actual signal attenuation and interference models. This is because that during the transmission of the ADD frame, B still communicates with A in the FD mode. The nodes within TRB will receive the signal transmitted by A, which is considered as the interference signal. When the SINR cannot satisfy SINRthold constraint, the nodes cannot obtain the value of the “D” field of the ADD frame. In other words, compared with the TR of B sending a frame alone, the TR of the ADD frame will reduce. In the most optimistic case, we discuss the relationship of the sizes of the reduced TR and IRB(HD). In Fig. 5, we model a circle centered at the position of B with the radius of x, denoted by O(B,x). Q is a position in the direction of θ=0. We have DBQ=x. Similar to the above discussion, at the boundary of O(B,x), B produces the same receiving signal strength, which can be calculated by PtB/x4 ; but at the position of Q, A produces the minimum receiving signal strength, which can be calculated by PtB/(DAB+x)4 . Note that the signal from A is the interference signal for the nodes around B. Therefore, it is at the position of Q that the ADD frame sent by B has the largest SINR. Given DAB, the largest value of x can be derived from the following inequality:
\(\frac{\left(D_{A B}+x\right)^{4}}{x^{4}} \geq S I N R_{{thold }}\) (10)
For one thing, the largest x is the largest TR of B sending the supplementary frame. We denote it by TRB’. For another, according to [5], we have IRB(HD)=1.78DAB. We substitute x=1.78DABinto Eq. (10), the inequality does not hold, which means that TRB’<IRB(HD). In other words, at the boundary of IRB(HD), the nodes cannot properly receive the ADD frame even at the position where the interference signal strength is the smallest. Thus, they may contend for the channel during the remaining reception of the DataA→B frame.
Therefore, after B sends the DataB→A frame, if CSRA>DAB+IRB(HD) cannot be satisfied, we require B to transmit the supplementary signal, which are used to maintain the effectiveness of CSRAB during the remaining reception of the data frame. In practice, the method can be implemented by sending several ADD frames. Note that after each ADD frame is sent, the nodes within CSRAB will reserve the EIFS time, so we set the transmission interval of the ADD frames to the EIFS time for energy efficiency. At the same time, we require that after B sends the last ADD frame, it can receive the DataA→B frame within the EIFS time. We denote by TADD and NADD the transmission time and number of the ADD frames, respectively. NADD can be obtained as follows:
\(N_{A D D}=\left[\frac{T_{D a t a A \rightarrow B}-T_{D a t a B \rightarrow A}}{T_{A D D}+E I F S}\right]\), (11)
where the “\(\lceil \ \rceil\)” symbol represents rounding up. The transmission interval between the last ADD frame and its previous one is determined by whether the following inequality can be satisfied:
\(\left(T_{ {DataA} \rightarrow B}-T_{{DataB} \rightarrow A}\right) \bmod \left(T_{A D D}+E I F S\right)>T_{A D D}\), (12)
where the “mod” symbol represents modulus calculation. If it holds, the interval is the EIFS time, as shown in Fig. 6(a); otherwise, there is no interval time, as shown in Fig. 6(b).
Fig. 6. The transmission interval between the last ADD frame and its previous one.
5. The Proposed FD MAC Protocol in FD Networks
In order to apply the method above to the network, we propose an FD MAC protocol for collision avoidance. First, we introduce the structures and semantics of the control frames used in our protocol. Subsequently, we descript the working process of the protocol.
5.1 Structures and Semantics of Control Frames
Our protocol uses three types of control frames: RTS-SI, CTS-M and ADD, the structures of them are shown in Fig. 7.
Fig. 7. The structures of RTS-SI, CTS-M and ADD frames.
Compared with the RTS and CTS frames used in the HD DCF protocol, the fields “SI Coefficient” (“SI” for short) and “Communication Mode” (“M” for short) are added in the RTS-SI and CTS-M frames, respectively. The former is used to store the values of the SI coefficients of the nodes while the latter is used to specify the communication mode for each FD pair (“2” for FD, “1” for HD).
5.2 Protocol Rules
For an FD pair, the two senders can contend for the channel. We need to clarify the following two issues:
First, to obtain the value of the SI coefficient accurately, we require that each node should transmit a dedicated signal for the coefficient estimation before it starting a new transmission, which costs TSI time. When a node senses other signals during the transmission of the estimation signal, it deems that the value of the SI coefficient is invalid and re-contends for the channel. At a time slot, both the back-off counts of the two senders may decrease to 0, and they send the frames for each other. Although they can receive the frames from the other side and take the following actions, since we require them to transmit the SI estimation signal first, in such case, they have to give up the current transmission and jump to the back-off states. Besides, excluding the data frames, other frames (control frames and Ack frame) are required to send or receive in the HD mode. In particular, we provide that one side of the FD pair with smaller size of the data frame first send the Ack frame to the other side.
Second, according to the DCF protocol, we can model the states and their transitions of each sender to a Markov chain [18], as shown in the non-red line part of Fig. 8.
Fig. 8. The states and their transitions of each sender.
In Fig. 8, i and p represent the back-off stage and collision probability respectively. For the FD communication, the following situation may occur: A sends the frame to B, but B does not reply on time (It may sense the channel busy or has been set the virtual carrier-sensing time). If A waits for a timeout, then it will increase the back-off stage and re-select the back-off count in the new contention window. Note that when B obtains the opportunity for accessing the channel, it will set up an FD communication with A. That is, A may complete the transmission of the DataA→B frame passively. At this time, no matter which back-off stage A is in, we require it to jump to the back-off stage 0. In such case, the transitions of the states are shown in the red line part of Fig. 8.
5.3 Protocol Description
Before A sends the DataA→B frame, it first senses the channel. When it is idle, A transmits SIA estimation signal. During its transmission, once A senses other signals, it will jump to the back-off states. Otherwise, A considers that the value of SIA is valid and then fills it to the “SI” field of the RTS-SI frame. At the same time, A sets the value of the “D” field of the frame according to TDataA→B. Then, A sends the RTS-SI frame to B.
After B senses the estimation signal, it will receive the RTS-SI frame sent by A. If the value of SINRA→B varies more than a certain range, the received RTS-SI frame is considered to be inaccurate and B will not reply the CTS-M frame to A. Otherwise, B gets the values of SIA and TDataA→B from the RTS-SI frame and calculates the value of DAB according to the strength of the receiving signal. Then, B transmits SIBestimation signal. Note that if B senses other signals during the transmission of SIB estimation signal, B is unable to communicate with A in the FD mode because it does not obtain the accurate SI coefficient. B sets the value of the “M” field of the CTS-M frame to 1 (for HD) directly. Otherwise, based on the values of TDataB→A, TDataA→B, DAB, δ, SIB and SIA, B specifies the communication mode and uses the specific method for collision avoidance.
Specifically, if CSRAB cannot cover IRA(FD) and IRB(FD) simultaneously, the value of the “M” field of the CTS-M frame is set to 1 (for HD). Furthermore, if CSRA>DAB+IRB(HD), B sets the value of the “D” field of the CTS-M frame to 0. Otherwise, the value is determined by the value of TDataA→B to reserve the channel for the reception of the DataA→B frame. If CSRAB can cover IRA(FD) and IRB(FD) simultaneously, B sets the value of the “M” field of the CTS-M frame to 2 (for FD). If TDataB→A>TDataA→B, the value of “D” field of the CTS-M frame is determined by TDataB→A, which is used to deliver the value of TDataB→A to A. After sending the CTS-M and the DataB→A frames, B waits TAck time, then sends the AckB→A frame if it has received the DataA→B frame correctly. Here the TAck time is the reserving time for B to receive the AckA→B frame. Otherwise, that is TDataA→B>TDataB→A, the value of the “D” field of the CTS-M frame is set to 0, which means that B does not need to inform A of the value of TDataB→A. Furthermore, if TDataA→B−TDataB→A≤EIFS, or TDataA→B−TDataB→A>EIFS and CSRA>DAB+IRB(HD), B only needs to reply the AckB→A frame after receiving the DataA→B frame correctly. If we only have TDataA→B−TDataB→A>EIFS, but CSRA>DAB+IRB(HD) cannot be satisfied, after B sends the DataB→A frame, it will send several ADD frames, the sending number of which is determined by Eq. (11) and their sending time are shown in Fig. 6.
After A receives the CTS-M frame, it gets the values of the “M” and “D” fields and sets up the FD or HD communication with B. Specifically, if the value of the “M” field is 1, A sets up the HD communication with B. After A sends the DataA→B frame, it just waits the AckB→A frame back. If the value of the “M” field is 2 and the value of the “D” field does not equal to 0, which means that TDataB→A>TDataA→B. After A sends the DataA→B frame, similar to the above discussion, if we only have TDataB→A−TDataA→B>EIFS, but CSRB>DAB+IRA(HD) cannot be satisfied, A will send several ADD frames. Otherwise, A just needs to send the AckA→B frame after correctly receiving the DataB→A frame. If the value of the “M” field is 2 but the value of the “D” field equals to 0, after A sends the DataA→B frame, it waits TAck time, and then sends the AckA→B frame if it has received the DataB→A frame correctly.
5.4 Key Points of Our Protocol Operation
For the proposed protocol, we descript the transmission and reception behaviors of the antenna in the physical-layer. We also descript the states and their transitions of each sender in the MAC-layer when it works in the FD mode.
The processing flow when the antenna starts to sense a frame is shown in Fig. 9.
Fig. 9. The processing flow when the antenna starts to sense a frame.
We conduct a receiving cache to store all the received frame. We also mark the desired frame. Combined with the working mode of the node, we update the SINR of the desired frame and the state of the antenna in real time.
The processing flow when the antenna completes sensing a frame is shown in Fig. 10.
Fig. 10. The processing flow when the antenna completes sensing a frame.
When the antenna completes sensing a frame, it determines whether the frame is the desired frame. If so, it further determines whether the frame has been received correctly. Otherwise, it only updates the noise power. The processing flow when the antenna starts to send a frame is shown in Fig. 11.
Fig. 11. The processing flow when the antenna starts to send a frame.
When the antenna starts to send a frame, if it is an SI estimation signal, it needs to determine whether the signal is interfered according to the antenna state. Otherwise, it needs to manage the receiving cache and update the noise power.
When the node works in the FD mode, the states and their transitions of the node in the MAC-layer are shown in Fig. 12.
Fig. 12. The states and their transitions of the node in the MAC-layer when it works in the FD mode.
For the FD communication, note that the sizes of the two frames may be inconsistent and the transmissions of the two Ack frames have a priority. Hence, we define a number of new states (filled in grayscale). The state transitions not covered in Fig. 12 are consistent with those in the original DCF state machine.
5.5 Duration Time and Timeout Time of Frames
In detail, we set the duration time and timeout time of the control frames and data frames mentioned above.
The value of the “D” field of the RTS-SI frame is set to 4×SIFS+TSI+TCTS-M+TDataA→B+TAck. In the following two cases, the CTS-M frames need to set the value of the “D” field. When A sends the DataA→B frame in the HD mode and CSRA>DAB+IRB(HD) cannot be satisfied, the value of “D” field of the CTS-M frame is set to 2×SIFS+TDataA→B. When B communicates with A in the FD mode and TDataB→A>TDataA→B, B needs to deliver the value of TDataB→A to A, meanwhile, reserve the channel for the reception of the AckA→B frame. Therefore, the value of the “D” field is set to 2×SIFS+TDataB→A+TAck. Besides, the values of the “D” field of the CTS-M frame are all set to 0. If A or B needs to send ADD frames, the value of its “D” field is set to the EIFS time. Note that when A communicates with B in the FD mode, we do not use the duration times of the two data frames to reserve the channel. We set the values as they used in the HD DCF protocol.
After a node sends the RTS-SI frame, its timeout time is set to 2×SIFS+TSI+TTCTS-M. The CTS-M and ADD frames do not need reply. Hence, after a node sends them, we do not need to set the timeout time. When A communicates with B in the HD mode, its timeout time is set to SIFS+TAck. When A communicates with B in the FD mode, we assume that TDataA→B>TDataB→A, after A receives the DataB→A frame, it can only reply the AckA→B frame after it sends the DataA→B frame. Furthermore, according to our protocol rule, the AckB→A frame is sent before the AckA→B frame. Therefore, after the two nodes send the DataA→B frame and the DataB→A frame respectively, we set the timeout time of them to SIFS+TAck and 2×SIFS +TDataA→B −TDataB→A+2×TAck respectively.
6. Protocol performance
In HD networks, the values of DAB and δ determine the effectiveness of the existing two methods for collision avoidance. But in FD networks, the method for collision avoidance varies according to the size difference between Tdiff and the EIFS time. At the same time, the values of DAB, δ and SIB(SIA) determine whether the relevant conditions are effective. We first conduct the numerical analysis for IRB(FD), CSRA, CSRAB and the TRB’ of the ADD frame. Then based on the modified Omnet++ simulator, we conduct a simulation using two FD pairs to validate and evaluate the proposed protocol.
6.1 Numerical Analysis for Ranges
We set δ to 1.4 and 1.5623, and set SIB to 0, 0.5×10-9 and 1.5×10-9 . In addition, Pt, Prthold and SINRthold are set to 281.8mw, 3.652×10-7 mw, and 10, respectively. The numerical results are measured in terms of the distance away from B in the direction of θ=0 of the modeled polar coordinate system in Fig. 5.
Fig. 13. The values of IRB(FD), CSRA, CSRAB and the TRB’ with the given δ and SIB.
As shown in Fig. 13, if δ increases from 1.4 to 1.5623, using the same transmit power can produce a larger CSR, thus, both CSRA and CSRAB increase. We remain δ unchanged and discuss the changes of CSRA and CSRAB as DAB increases. Note that the values of CSRA and CSRAB are measured relative to the position of B. Moreover, the former is determined by PtA alone, the latter is determined by both PtA and PtB. In particular, the part of CSRAB which determined by PtB is independent of DAB. Thus, as DAB increases, both CSRA and CSRAB will reduce, but CSRAB does not change much as compared with CSRA. If DAB remains unchanged as SIB increases, IRB(FD) will increase. When SIB=0, the curve of IRB(FD) is consistent with that of IRB(HD). With regard to DAB, Y2 is the horizontal ordinate of the cross point of CSRA (δ=1.5623), TRB and IRB(HD). Y2 is also the cut-off point to determine whether TRB>IRB(HD), which is the value of “0.56TRB” in [5]. If δ=1.5623, when SIB=0.5×10-9 and 1.5×10-9 respectively, For DAB, Y1 and Y3 are the two horizontal ordinates of the cross points of CSRAB and IRB(FD), which can be solved by Eqs. (8) and (9). Y1 and Y3 are also the two cut-off points to determine whether CSRAB>IRB(FD). Similarly, for different values of δ and SIB, we can obtain the horizontal ordinates of the cross points of CSRAB (or CSRA) and IRB(FD). All these horizontal ordinates are the cut-off points to determine whether CSRAB (or CSRA) can cover IRB(FD). For brevity, we ignore their marks. As the curves of TRB’ and IRB(FD) (SIB=0) shown in Fig. 13, for varied DAB, the largest values of TRB formed by B sending the ADD frame are always lower than those of IRB(HD). This is consistent with the previous analysis.
6.2 Simulation Scenario and Parameter Settings
We conduct a simulation using two FD pairs: A and B, C and D, respectively, as shown in Fig. 14. Each node has a saturated queue of the data frames to send to the other side and contends for the channel independently.
Fig. 14. Simulation topology.
We assume that LDataA→B=LDataD→C, LDataB→A=LDataC→D, SIB=SIC, and DAB=DCD. We also assume that LDataA→B/LDataD→C>LDataB→A/LDataC→D to set the interference risk produced by the size difference. On the one hand, after B/C sends the frame, according to whether CSRA/CSRD can cover IRB(HD)/IRC(HD), our protocol requires B/C to take different action. On the other hand, whether CϵIRB(FD)/BϵIRC(FD) determines if the interference risk of the remaining reception of the DataA→B/DataD→C frame exists. For comprehensively evaluating the protocol, in the simulation, we require that all the inclusion relations should appear. We set the varieties of DAB/DCD and DBC to satisfy this requirement. The values of Pt, Prthold and SINRthold equal to those used in section 6.1. Other parameters are given in Table 1.
Table 1. Simulation parameters.
According to the parameters given above, we can derive TRB/TRC=167, which does not change as DAB/DCD or DBC changes. The values of IRB(FD), IRB(HD), CSRA and CSRAB are shown in Table 2.
Table 2. The values of IRB(FD), IRB(HD), CSRA and CSRAB with δ=1.4 and varied DAB/DCD.
We have the same results for TRC, IRC(FD), IRC(HD), CSRD and CSRCD.
6.3 Simulation Results and Analysis
When DAB/DCD=80, CSRA/CSRD can cover IRB(HD)/IRC(HD). However, when DAB/DCD=90, CSRA/CSRD cannot cover IRB(HD)/IRC(HD). Therefore, after B/C sends the DataB→A /DataC→D frame, according to our MAC protocol, in the former case, B/C only needs to receive the remainder of the data frame in the HD mode; but in the latter case, B/C should send a certain number of the ADD frames. Initially, we require that A first initiates a request to B, and the FD communication is first set up between the two nodes. We compare the system throughput for our MAC protocol and those of the typical FD MAC protocol in [11] and the HD DCF protocol.
Fig. 15. The system throughputs for our MAC protocol, the MAC protocol in [11], and the HD DCF protocol with DAB/DCD=80.
Fig. 16. The system throughputs for our MAC protocol, the MAC protocol in [11], and the HD DCF protocol with DAB/DCD=90.
As shown in Fig. 15 and Fig. 16, compared with the MAC protocol in [11] and the HD DCF protocol, our protocol can improve the system throughput. In the following discussion, we give the detailed analyses of the three protocols.
1). Detailed analyses for the three protocols with DAB/DCD=80 and varied DBC.
The throughputs of each node for the three protocols with DAB/DCD=80 and varied DBC are shown in Table 3.
Table 3. The throughputs of each node for the three protocols with DAB/DCD=80.
When DBC=140, CϵIRB(HD)/BϵIRC(HD), but when DBC=150, neither of them holds. However, CϵCSRA/BϵCSRD always holds. As long as there exists the transmitted signal from A/D, C/B will not contend for the channel. The throughputs for the three protocols do not change much in the two cases. First, in our proposed protocol, on the one hand, after the DataB→A/DataC→D frame is sent, CSRAB/CSRCD will reduce to CSRA/CSRD, and D/A will start to send the request to C/B. However, C/B can still sense the transmitted signal of the DataA→B/DataD→C frame and does not reply to the request. If D/A waits for a timeout, then it increases the size of contention window and reselect the back-off count. Moreover, if the number of the timeouts increase, then the probability that D/A gets a larger value of the back-off period will increase. On the other hand, A/D does not start to send the AckA→B /AckD→C frame until B/C has completed sending the AckB→A/AckC→D frame. Besides, C/B can sense the transmitted signal of the AckA→B/AckD→C frame. After the signal disappears, C/B needs to defer the EIFS time before contending for the channel. Therefore, although the two FD pairs work “alternately”, once an FD pair access the channel, the probability of them accessing the channel again is larger than that of the other FD pair. Thus, the numbers of data frames sent by the two pairs are inconsistent. Second, in the MAC protocol in [11], in order to ensure that B/C can receive the DataA→B/DataD→C frame successfully, it sets the virtual carrier-sensing time for the nodes located in the TRB/TRC. However, note that C∉IRB(HD) /B∉IRC(HD), in fact, C/B does not need to set this time. The three-handshake mechanism in [11] reduces the channel utilization, so the system throughput produced by that protocol is slightly lower than our protocol. Third, in the HD DCF protocol, during the transmission of the DataA→B/DataD→C frame, C/B cannot reply the request from D/A. Similar to the above discussion, D/A may get a large value of the back-off period. So the probability of C/B accessing the channel is larger than that of D/A. Furthermore, when C/B transmits the signal, the other FD pair can sense it and do not contend for the channel. There is always only one HD communication in the system. Therefore, the throughput produced by this protocol is lower than those of the two protocols above.
When DBC=160 or 170, C∉IRB(HD)/B∉IRC(HD) and C∉CSRA/B∉CSRD. First, in our protocol, after B/C sends the DataB→A/DataC→D frame, C/A and D/B can set up another FD communication, which will execute simultaneously with the remaining transmission of the DataA→B/DataD→C frame. At this time, our protocol produces its maximum throughput. Second, in the protocol in [11], when DBC=160, CϵTRB/BϵTRC. In theory, the control frame sent by B/C will prevent C/B from accessing the channel even though B/C sends over. However, in our simulation, this exposed terminal problem is not obvious. Because each node has a saturated queue of data frames to send, for C, the request from D is likely to interfere with the reception of the control frame sent by B. If C fails to receive the control frame, its virtual carrier-sensing time cannot be properly set. C will contend for the channel after B sending the DataB→A frame. During the control frames interaction of C and D, B receives the remainder of the DataA→B frame; it will not receive the control frame sent by C. After the DataC→D frame is sent, A and B can also set up another FD commutation. Note that when DBC=170, C∉TRB/B∉TRC, C and B cannot receive the control frame from each other. The working process of the protocol in such case is similar with that in DBC=160 case. In the two cases, the system throughput for the MAC protocol in [11] is similar with that of our protocol. Third, in the HD DCF protocol, when DBC=160, the probabilities of B and C accessing the channel are even larger than those in DBC=140 and 150 cases. At this time, D∉CSRB and CϵTRB /A∉CSRC and BϵTRC. For one thing, D/A cannot sense the transmitted signals from B/C. For another, C/B may be set the virtual carrier-sensing time by B/C. During the transmission of the DataB→A/DataC→D frame, D/A contends for the channel ineffectively, which reduces its probability for accessing the channel. When DBC=170, D/A will get more opportunities to access the channel because DBC>TRB/TRC. The throughput can be improved.
2). Detailed analyses for the three protocols with DAB/DCD=90 and varied DBC.
The throughputs of each node for the three protocols with DAB/DCD=90 and varied DBC are shown in Table 4.
Table 4. The throughputs of each node for the three protocols with DAB/DCD=90.
When DBC=140, the system throughput for our protocol is slightly lower than that in DAB/DCD=80 and DBC=140 case. In such case, after B/C sends the DataB→A/DataC→D frame, the continuous ADD frames sent by it can freeze the back-off count of D/A, so that D/A will not send the ineffective request and its back-off count will not increase. Thus, the probability of D/A accessing the channel becomes larger. However, when the transmit requests of A and D overlap, during the B and C receiving the desired requests, they can sense the other signal, according to our protocol, neither B nor C will reply. Therefore, the overlapping time is wasted. When DBC=150, 160 and 170, in such case, at least one of B and C will reply the CTS-M frame, so the system throughput is improved as compared with that in DBC=140 case.
For the MAC protocol in [11] and the HD DCF protocol, their working processes in such case are consistent with those in DAB/DCD=80 and DBC=140 case.
When DBC=150 and 160, CϵIRB(HD)/BϵIRC(HD), but C∉CSRA/B∉CSRD. Although CϵTRB /BϵTRC, using the “Duration” field of the control frame to reserve the channel only has limited effectiveness. The system throughput for the MAC protocol in [11] even lower than that of the HD DCF protocol. We assume that A communicates with B in the FD mode. We also assume that the control frame sent from B to C has been interfered. After B sends the DataB→A frame, C and D will set up the other FD communication. But the transmitted signal of C will interfere with the remaining reception of the DataA→B frame. In addition, although A can receive the DataB→A frame correctly, the reception of theAckA→B frame will be interfered. Thus, the FD communication between A and B do not produce any effective throughput. Similarly, after C sends the DataC→D frame, the following FD communication between A and B will interfere with the remaining receptions of the DataD→C frame and the AckD→C frame. As the number of the timeouts increases, the back-off count of each node will increase. The protocol will not produce effective throughput again until C/B can keep silence during the remaining reception of DataA→B/DataD→C frame. In the HD DCF protocol, once C/B does not correctly receive the control frame sent from B/C, the subsequent transmitted signal of C/B will interfere with the reception of the DataA→B/DataD→C frame. Therefore, the system throughput for the protocol in DAB/DCD=90 and DBC=150 or 160 case is lower than that in DAB /DCD=90 and DBC=160 case.
When DBC=170, C∉TRB/B∉TRC. In addition, although C∉IRB(HD)/B∉IRC(HD), we have CϵIRB(FD)/BϵIRC(FD). In the MAC protocol in [11], C/B cannot receive the control frame from B/C correctly. After B/C sends the DataB→A/DataC→D frame, C/B and D/A will set up the other FD communication. But the the reception of the DataD→C/DataA→B frame will definitely be interfered with the AckB→A/AckC→D frame. In other words, if C/B starts to communicate with D/A in the FD mode before B/C sending the AckB→A/AckC→D frame, C/B cannot receive the DataD→C/DataA→B frame correctly. The HD DCF protocol has the similar performance with that in DAB/DCD=80 and DBC=170 case.
7. Conclusions
In FD networks, we proposed a MAC protocol to alleviate hidden terminal problems. We presented the FD interference model and discussed the interference risks in FD networks. Then, we summarized the existing methods and their effective conditions for collision avoidance in HD networks. We extended the methods to FD networks and developed a feasible FD MAC protocol. The simulation results validated our protocol.
The proposed MAC protocol in this paper is for the bidirectional mode of the FD nodes. Whereas the other transmission mode of the FD nodes is wormhole-relaying. In such mode, each node may act as one of the three roles (sender, relay or receiver). The relevant ranges of nodes are related to their roles. Therefore, the follow-up work needs to consider how to identify or even designate the role of each node first and then coordinate sender and relay to access the channel simultaneously.
참고문헌
- A. Sabharwal, P. Schniter, D. Guo, et al., "In-band full-duplex wireless: Challenges and opportunities," IEEE Journal on Selected Areas in Communications, vol. 32, no. 9, pp. 1637-1652, 2014. https://doi.org/10.1109/JSAC.2014.2330193
- T. Maksymyuk, M. Kyryk, M. Jo, "Comprehensive Spectrum Management for Heterogeneous Networks in LTE-U," IEEE Wireless Communications, Vol.23, No.6, pp.8-15, 2016. https://doi.org/10.1109/MWC.2016.1600042WC
- X. Xie and X. Zhang, "Does full-duplex double the capacity of wireless networks?," in Proc. of the 33rd Annual IEEE International Conference on Computer Communications (INFOCOM), Toronto, Canada, pp.253-261, Apr. 2014.
- D. Kim, H. Lee, D. Hong, "A survey of in-band full-duplex transmission: From the perspective of phy and mac layers," IEEE Communications Surveys and Tutorials, vol. 17, no. 4, pp. 2017-2046, Apr. 2015. https://doi.org/10.1109/COMST.2015.2403614
- K. Xu, M. Gerla, S. Bae, et al., "How effective is the ieee 802.11 rts/cts handshake in ad hoc networks," in Proc. of IEEE global communications conference (GLOBECOM), Taipei, Taiwan, pp. 72-76, Nov. 2002.
- K. Shih, Y. Chen, "Capc: a collision avoidance power control mac protocol for wireless ad hoc networks," IEEE Wireless Communications Letters, vol. 9, no. 9, pp. 859-861, 2005. https://doi.org/10.1109/LCOMM.2005.1506727
- Y. Zhou, S. M. Nettles, "Balancing the hidden and exposed node problems with power control in csma/ca-based wireless networks," in Proc. of IEEE Wireless Communications and Networking Conference (WCNC), New Orleans, LA, USA, pp. 683-688, Mar. 2005.
- The Omnet++ simulator. https://www.omnetpp.org
- M. Jain, J. I. Choi, T. Kim, et al., "Practical, real-time, full duplex wireless," in Proc. of the 17th ACM Annual International Conference on Mobile Computing and Networking (MobiCom), pp. 301-312, 2011.
- Y. Zhang, L. Lazos, K. Chen, et al., "FD-MMAC: Combating multi-channel hidden and exposed terminals using a single transceiver," in Proc. of the 33rd Annual IEEE International Conference on Computer Communications (INFOCOM), Toronto, Canada, pp. 2742-2750, Apr. 2014.
- X. Zhang, W. Cheng, H. Zhang, "Full-duplex transmission in phy and mac layers for 5G mobile wireless networks," IEEE Wireless Communications, vol. 22, no. 5, pp. 112-121, 2015. https://doi.org/10.1109/MWC.2015.7306545
- R. Liao, B. Bellalta, M. Oliver, "Modelling and enhancing full-duplex mac for single-hop 802.11 wireless networks," IEEE Wireless Communications Letters, vol. 4, no. 4, pp. 349-352, 2015. https://doi.org/10.1109/LWC.2015.2417166
- D. Marlali, O. Gurbuz, "S-CW FD: A MAC Protocol for Full-Duplex in Wireless Local Area Networks," in Proc. of IEEE Wireless Communications and Networking Conference (WCNC), Doha, Qatar, pp. 1-6, Apr. 2016.
- A. Tang, X. Wang, "A-Duplex: Medium Access Control for Efficient Coexistence Between Full-Duplex and Half-Duplex Communications," IEEE Transactions on Wireless Communications, vol. 14, no. 10, pp.5871-5885, 2015. https://doi.org/10.1109/TWC.2015.2443792
- W. Choi, H. Lim, A Sabharwal, "Power-controlled medium access control protocol for full-duplex wifi networks," IEEE Transactions on Wireless Communications, vol. 14, no. 7, pp. 3601-3613, 2015. https://doi.org/10.1109/TWC.2015.2408338
- O. M. Alkadri, A. Aijaz, A. Nallanathan, "An energy-efficient full-duplex mac protocol for distributed wireless networks," IEEE Wireless Communications Letters, vol. 5, no. 1, pp. 44-47, 2016. https://doi.org/10.1109/LWC.2015.2492548
- Y. Song, W. Qi, W. Cheng, "Energy efficient MAC protocol for wireless full-duplex networks," China Communications, vol. 15, no. 1, pp. 35-44, 2018. https://doi.org/10.1109/cc.2018.8290803
- G. Bianchi, "Performance analysis of the IEEE 802.11 distributed coordination function", IEEE Journal on Selected Areas in Communications, vol. 18, no. 3, pp. 535-547, March 2000. https://doi.org/10.1109/49.840210