## 3 The Modified BA Protocol (MBA)  
In this section, the modified BA anti-collision protocol (MBA) is introduced. The BA protocol does not take the capture effect into consideration, and its design supposes that the reader can decode the tag signal only when there is just one tag that responds to its request at one time. Therefore, when the capture effect indecent exists according to the relative attenuation between the tags [4], and the reader decodes one tag response from multiple tags respond simultaneously, the rest of the tags will not be identified. Then, the reader will not guarantee full read rate of the tags located in their interrogation zone. In addition, radio frequency signals behave differently when various objects or materials are presented in the environment. In addition, one tag response cannot be successfully detected under interfering environments [13]. Therefore, the interference factor in tag detection must be taken into account, which is neglected in the BA protocol and treated as collision, when tag collision detection is directly related to tag signal strength detected by the reader or cyclic redundancy check (_crc_)-based method [14]. MBA has been proposed to overcome these two drawbacks in BA protocol. Firstly, to avoid killing tags through capture effect phenomenon, the modified protocol does not terminate the ongoing frame until it ensures the identification of all tags in the range. By recognizing the hiding tags (the unrecognized/unidentified due to capture effect) during some rounds following the main identification process, the modified protocol will guarantee full read rate of the tags in the range. Secondly, since the modified protocol uses the blocking technique to separate the arriving and staying tags, it remembers _ASCs_ of the staying tags (as same as BA) and assigns different _ASCs_ values for the arriving tags, and it also treats the capture effect. Consequently, it ensures the arriving tags do not collide with the staying tags, and that the staying tags do not collide with another. Thus, to reduce the total cycles consumed by BA protocol, i.e., enhancing the identification efficiency, when interference existed, the modified protocol can distinguish between collision and interference responses for the period of staying tags (the period that guarantees no collisions between tags responses). As a result, any corrupted signal detected by the reader for this period will be considered as interference detection (interference cycle), and the reader will request the tag to repeat its transmission without increasing its _ASC_ counter, i.e., it consumes just one more cycle. Moreover, the reader requests the tag that participated in the interference response to repeat its transmission and never be treated as success cycle in spite of the reader's prior knowledge about the one tag that was being responded, because the tag's ID sent is not recognized during the interference response. However, for BA protocol, any corrupted signal (one tag response with interference signal) detected by the reader is considered as a collision detection (collision cycle) for the entire period of identification. Thus, the participated tag will add one or zero to its _ASC_ counter, and the remaining unrecognized tags will increase their _ASC_ counter by one, according to  
\[Ac\left| \begin{array}{c}{participated}\\ \end{array} \right.=Ac+random\ integer(0,1) \tag{1}\]  
\[Ac\left| \begin{array}{c}{unrecognized}\\ \end{array} \right.=Ac+1 \tag{2}\]  
As a result, if the tag that participated in the collision detection increases its _ASC_ counter by one according to Equation (1), the next cycle will be an idle cycle, since _ASC_ is greater than _pc_ by one for the participated tag and by two for some of the other unrecognized tags. Then, the participated tag decreases its _ASC_ value by one (as same as the remaining unrecognized tags) and repeats its transmission in the next cycle. Consequently, BA consumes one more cycle than the modified protocol.