<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">16570</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2021.016570</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Novel Hybrid Tag Identification Protocol for Large-Scale 
RFID Systems</article-title>
<alt-title alt-title-type="left-running-head">A Novel Hybrid Tag Identification Protocol for Large-Scale RFID Systems</alt-title>
<alt-title alt-title-type="right-running-head">A Novel Hybrid Tag Identification Protocol for Large-Scale RFID Systems</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western">
<surname>Mu</surname>
<given-names>Ye</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><xref ref-type="aff" rid="aff-4">4</xref>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western">
<surname>Ni</surname>
<given-names>Ruiwen</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western">
<surname>Sun</surname>
<given-names>Yuheng</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western">
<surname>Zhang</surname>
<given-names>Tong</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western">
<surname>Li</surname>
<given-names>Ji</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-6" contrib-type="author">
<name name-style="western">
<surname>Hu</surname>
<given-names>Tianli</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><xref ref-type="aff" rid="aff-4">4</xref></contrib>  <contrib id="author-7" contrib-type="author">
<name name-style="western">
<surname>Gong</surname>
<given-names>He</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><xref ref-type="aff" rid="aff-4">4</xref></contrib>
<contrib id="author-8" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Li</surname>
<given-names>Shijun</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><xref ref-type="aff" rid="aff-4">4</xref><email>lishijun@jlau.edu</email></contrib>
<contrib id="author-9" contrib-type="author">
<name name-style="western">
<surname>Louis Tyasi</surname>
<given-names>Thobela</given-names>
</name>
<xref ref-type="aff" rid="aff-5">5</xref></contrib>
<aff id="aff-1"><label>1</label><institution>College of Information Technology, Jilin Agricultural University</institution>, <addr-line>Changchun, 130118</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>Jilin Province Agricultural Internet of Things Technology Collaborative Innovation Center</institution>, <addr-line>Changchun, 130118</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>Jilin Province Intelligent 
Environmental Engineering Research Center</institution>, <addr-line>Changchun, 130118</addr-line>, <country>China</country></aff>
<aff id="aff-4"><label>4</label><institution>Jilin Province Colleges and Universities The 13th Five-Year Engineering Research Center</institution>, <addr-line>Changchun, 130118</addr-line><addr-line></addr-line>, <country>China</country></aff>
<aff id="aff-5"><label>5</label><institution>Department of Agricultural 
Economics and Animal Production, University of Limpopo</institution><addr-line>, Sovenga, 0727, Polokwane</addr-line>, <country>South Africa</country></aff>
</contrib-group>
<author-notes><corresp id="cor1">&#x002A;Corresponding Author: Shijun Li. Email: <email>lishijun@jlau.edu</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-02-11">
<day>11</day>
<month>02</month>
<year>2021</year>
</pub-date>
<volume>68</volume>
<issue>2</issue>
<fpage>2515</fpage>
<lpage>2527</lpage>
<history>
<date date-type="received">
<day>05</day>
<month>01</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>05</day>
<month>02</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2021 Ye et al.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Ye et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_16570.pdf"></self-uri>
<abstract>
<p>Radio frequency identification technology is one of the main technologies of Internet of Things (IoT). Through the transmission and reflection of wireless radio frequency signals, non-contact identification is realized, and multiple objects identification can be realized. However, when multiple tags communicate with a singleton reader simultaneously, collision 
will occur between the signals, which hinders the successful transmissions. To effectively avoid the tag collision problem and improve the reading 
performance of RFID systems, two advanced tag identification algorithms namely Adaptive M-ary tree slotted Aloha (AMTS) based on the characteristics of Aloha-based and Query tree-based algorithms are proposed. In AMTS, the reader firstly uses the framed slotted Aloha protocol to map the tag set to different time slots, and then identify the collided tags using binary search method based on collision factor or mapping table. Both performance analysis and extensive experimental results indicate that our proposed algorithms significantly outperforms most existing anti-collision approaches in tag dense RFID systems.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>RFID</kwd>
<kwd>anti-collision</kwd>
<kwd>Aloha</kwd>
<kwd>multi-tree</kwd>
<kwd>AMTS</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Radio frequency identification (RFID) technology is rapidly emerging as one of key technologies for Industrial Internet of Things (IIoT) [<xref 
ref-type="bibr" rid="ref-1">1</xref>]. RFID system provide the ability to automatically identify and track objects and persons in a non-contact, non-line-of-sight manner. This enables the development of very different automated item management frameworks and thus provides a compelling business case for the rapid adoption of RFID systems. Many research results 
prove that RFID technology can be applied to various industrial applications such as factory [<xref ref-type="bibr" rid="ref-2">2</xref>], inventory management [<xref ref-type="bibr" rid="ref-3">3</xref>,<xref ref-type="bibr" rid="ref-4">4</xref>], medical privacy protection [<xref ref-type="bibr" rid="ref-5">5</xref>] and agriculture [<xref ref-type="bibr" rid="ref-6">6</xref>,<xref ref-type="bibr" rid="ref-7">7</xref>]. The technological level is also constantly innovating. Passive technology in RFID has matured. Its equipment does not require power supply and maintenance, and is being increasingly used. The components of RFID systems are multiple tags, a reader and a back-end server. When multiple RFID tags communication with a singleton reader simultaneously, interference will occur between the signals, resulting in reader to fail to fail to obtain the tag ID and thus affects the stability and settlement efficiency of the RFID system. In order to solve the tag collision problem in a dense environment, an anti-collision mechanism is needed to coordinate the communication between the reader and tags, which is named tag identification or anti-collision algorithm.</p>
<p>The rapid multi-tag identification is the first type of issue that attracted the attention of researchers in the RFID community. Generally speaking, mainstream tag identification algorithms are divided into two categories according to the functional characteristics: Aloha-based algorithms 
[<xref ref-type="bibr" rid="ref-8">8</xref>&#x2013;<xref ref-type="bibr" rid="ref-13">13</xref>], deterministic algorithms [<xref ref-type="bibr" rid="ref-14">14</xref>&#x2013;<xref ref-type="bibr" rid="ref-17">17</xref>] contains query tree-based and binary search algorithms. The Aloha-based algorithms are intuitive solution but they do not appear to be scalable. The efficiency of the protocols is highly affected by 
the cardinality. An advantage of the Aloha-based protocol is that it is simple to implement. The disadvantage of them is the slow throughput under 
high-traffic loads; also they are sensitive to changes in the number of tags, that is, when the frame length setting is not appropriate, the performance will drop sharply. In contrast, the performance of query tree-based algorithms [<xref ref-type="bibr" rid="ref-15">15</xref>&#x2013;<xref ref-type="bibr" rid="ref-17">17</xref>] will not be affected by the tag cardinality, i.e., its performance almost maintain a constant value 
as the number of tags increases. One disadvantage of these protocols is that the length of probe command of such algorithm is not fixed, it will change with the change of the query prefix length during the tag identification process. In addition, query tree-based algorithm consumes more transmitted bits. Therefore, many researchers proposed hybrid algorithms [<xref ref-type="bibr" rid="ref-18">18</xref>,<xref ref-type="bibr" rid="ref-19">19</xref>]. The literature [<xref ref-type="bibr" rid="ref-18">18</xref>] shows us three multi-tag identification algorithms based 
on binary tree slotted Aloha (BTSA). Among them, the Splitting BTSA algorithm with the best performance has a throughput of 0.425. The literature [<xref ref-type="bibr" rid="ref-19">19</xref>] proposed a new kind of 
tree slotted Aloha protocol, in which the whole tag set can be divided into many smaller groups. Then the reader identify the tags group by group via tree splitting strategy. However, because both the Aloha-based algorithm and tree splitting algorithm are random access algorithm in nature, thus the algorithm proposed in [<xref ref-type="bibr" rid="ref-19">19</xref>] cannot guarantee that all tags are completely identified.</p>
<p>In this paper, we designed and implemented a hybrid architecture of tag identification, and proposed two hybrid tag identification algorithms. These two algorithms inherit the advantages of Aloha-based and deterministic algorithms, and abandon mutual shortcomings. In particular, our proposed algorithms do not need to provide an accurate estimation of the number of tags in collision phase, thereby avoiding the negative impact of estimation errors on performance, and reducing the computational complexity. 
Moreover, their efficiency will not be affected by the number of tags and 
tag IDs distribution.</p>
<p>The remainder of this paper is organized as follows. In Section 2, we reviewed the existing the anti-collision algorithms. Section 3 presents the system model and our proposed hybrid algorithm. In Section 4, mathematical analysis and performance evaluation through simulations is conducted. Section 5 concludes the whole paper.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Works</title>
<p>As mentioned above, existing anti-collision algorithm mainly consists of two types: Aloha-based and deterministic algorithm. The deterministic algorithm can be further divided into two types: Query tree [<xref ref-type="bibr" rid="ref-14">14</xref>,<xref ref-type="bibr" rid="ref-15">15</xref>,<xref ref-type="bibr" rid="ref-17">17</xref>] and tree splitting [<xref ref-type="bibr" rid="ref-16">16</xref>] algorithms. In deterministic algorithm, the reader uses coding number carried by the tag to allow the tag to perform reading priority sorting. After sorting, the reader identifies the tags start from the bottom of the fork. Law [<xref ref-type="bibr" rid="ref-1">1</xref>] firstly proposed query tree (QT) anti-collision algorithm. In QT algorithm, the reader maintains a stack to store the query prefix. If the tags&#x2019; sequence number in a certain bit are the same, the reader continues to push new query prefixes into the stack. For the prefix, the reader recognizes the tags sequentially according to the order. This is the earliest QT algorithm. At present, there are many algorithms that have improved the QT classic algorithm, mainly through the eigenvalues of collision bits and the 
addition of additional queries. In [<xref ref-type="bibr" rid="ref-14">14</xref>], the authors proposed an improved QT algorithm to enhance the identification performance. The literature classified a large number of 
tag prefixes according to similarity, just like a big tree is divided into many branches, each type of the same prefix represents a tag groups, reader probes each group separately to reduce collisions and the transmissions of empty slots. However, such algorithm adds some extra queries, which increases the additional query time communication complexity in downlink. Some authors [<xref ref-type="bibr" rid="ref-20">20</xref>] proposed a query method based on a 4-ary tree to avoid unnecessary collisions and improve the efficiency of traverse. Specifically, the reader uses the characteristics of the highest two collision bits. The number of forks in 
the query tree can be adjusted to reduce unnecessary collision slots. The 
advantage of the deterministic algorithm is that it can ensure that the tag group is completely identified. Wang [<xref ref-type="bibr" rid="ref-21">21</xref>] proposed a binary search tree algorithm (PNBA) based on 
physical layer network coding, which pushed the conflicting signal information of multiple labels to a stack and discarded it by the traditional anti-collision algorithm. Dong [<xref ref-type="bibr" rid="ref-22">22</xref>] proposed an improved binary search conflict prevention protocol, BRTP, which allows two groups of tags to respond to a reader in the same slot in a dual-response mechanism.</p>
<p>In Aloha-based algorithm, each tag randomly picks up a slot to respond 
to the reader after extracting the parameters including frame size and communication rate from the reader&#x2019;s command. The representative is the adaptive Q-algorithm based on UHF RFID standard EPC C1 Gen2 protocol. 
According to [<xref ref-type="bibr" rid="ref-23">23</xref>], there are three types of probe commands: <bold>Query</bold>, <bold>QueryRep</bold>, and <bold>QueryAdj</bold>. An identification round is defined as the time duration between successive probe commands issued by the reader and therefore only one <bold>Query</bold> command exists in each identification round. Therefore, the reader issues many <bold>Queryadj</bold> or <bold>QueryRep</bold> commands in order to identify tags during each identification round. In particular, <bold>QueryAdj</bold> command carries the value of parameter <italic>Q</italic> and instructs all tags to adjust their 
value of <italic>Q</italic>. All tags receiving the new value of <italic>Q</italic> reselect their slot counter based on the new <italic>Q</italic> (between 0 and 2<sup><italic>Q</italic></sup> &#x2212;1); here, <italic>Q</italic> could be incremented by 1, decremented by 1, or have no change according to the adaptive <italic>Q</italic> algorithm. There are three 
types of access events: collision, empty, and success. The reader can send either a <bold>QueryAdj</bold> or <bold>QueryRep</bold> in the case of a collision; it can send a <bold>Query</bold>, <bold>QueryAdj</bold>, or <bold>QueryRep</bold> in the case of empty; and it can send either a <bold>QueryAdj</bold> or <bold>QueryRep</bold> in the case of success. There are four assumptions determining when to use which probe command, as follows.</p>
<list list-type="order">
<list-item><p>All tags to be identified in each identification round are successfully read in one round. Thus there is only one <bold>Query</bold> 
command in each identification round.</p></list-item>
<list-item><p>If the access event is a collision, the reader sends a <bold>QueryAdj</bold> command to trigger tags to reselect their slot counter. 
The value of the <italic>Q</italic> parameter is updated by <italic>Q<sub>fp</sub></italic>, the floating-point representation of <italic>Q</italic>, and <inline-formula id="ieqn-1"><!--<alternatives><inline-graphic xlink:href="ieqn-1.png"/>--><!--<tex-math id="tex-ieqn-1"><![CDATA[$c\ (0.1 \leq c \leq 0.5 )$]]></tex-math>--><mml:math id="mml-ieqn-1"><mml:mi>c</mml:mi><mml:mspace width=".3em" /><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>c</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>5</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula>, the adjustment factor. The update formula is <inline-formula id="ieqn-2"><!--<alternatives><inline-graphic xlink:href="ieqn-2.png"/>--><!--<tex-math id="tex-ieqn-2"><![CDATA[$Q_{fp}= \min(15, Q_{fp}+ c)$]]></tex-math>--><mml:math id="mml-ieqn-2"><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo class="qopname"> min</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>15</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>c</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-3"><!--<alternatives><inline-graphic xlink:href="ieqn-3.png"/>--><!--<tex-math id="tex-ieqn-3"><![CDATA[$Q = \text{r}\text{o}\text{u}\text{n}\text{d}(Q_{fp})$]]></tex-math>--><mml:math id="mml-ieqn-3"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mstyle class="text"><mml:mtext>r</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>o</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>u</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>n</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>d</mml:mtext></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula>. Although the Q value is not changed, the reader sends a <bold>QueryAdj</bold> command.</p></list-item>
<list-item><p>If the access event is empty, the reader sends a <bold>QueryAdj</bold> command when <italic>Q</italic> is changed or a <bold>QueryRep</bold> command when <italic>Q</italic> has no change. The update formula is <inline-formula id="ieqn-4"><!--<alternatives><inline-graphic xlink:href="ieqn-4.png"/>--><!--<tex-math id="tex-ieqn-4"><![CDATA[$Q_{fp}= \max(0, Q_{fp}- c)$]]></tex-math>--><mml:math id="mml-ieqn-4"><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo class="qopname"> max</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi>c</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-5"><!--<alternatives><inline-graphic xlink:href="ieqn-5.png"/>--><!--<tex-math id="tex-ieqn-5"><![CDATA[$Q = \text{r}\text{o}\text{u}\text{n}\text{d}(Q_{fp})$]]></tex-math>--><mml:math id="mml-ieqn-5"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mstyle class="text"><mml:mtext>r</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>o</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>u</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>n</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>d</mml:mtext></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula>.</p></list-item>
<list-item><p>If the access event is success, the reader sends a <bold>QueryAdj</bold> command to trigger the tags to reselect their slot counter. 
The value of <italic>Q</italic> is not changed, i.e., <italic>Q<sub>fp</sub></italic> = <italic>Q<sub>fp</sub></italic> + 0, <inline-formula id="ieqn-6"><!--<alternatives><inline-graphic xlink:href="ieqn-6.png"/>--><!--<tex-math id="tex-ieqn-6"><![CDATA[$Q = \text{r}\text{o}\text{u}\text{n}\text{d}(Q_{fp})$]]></tex-math>--><mml:math id="mml-ieqn-6"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mstyle class="text"><mml:mtext>r</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>o</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>u</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>n</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>d</mml:mtext></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula>.</p></list-item>
</list>
<p>The advantage of the Aloha-based algorithms represented by the Q-algorithm is that they are easy to implement on the reader side. However, the random nature of such type of algorithm will cause the performance to fluctuate with the number of tags.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>System Model and Algorithm Description</title>
<p>Our proposed Adaptive M-ary tree slotted Aloha (AMTS) algorithm starts 
a round of identification process by broadcasting a probe command with a key parameter named frame size [<xref ref-type="bibr" rid="ref-24">24</xref>]. Each tag that receives the probe command will randomly picks up 
a time slot to respond to the reader and return its own ID information. Once a collision is detected, the reader will count the current value of slot counter (SC) and push it onto the stack. When the reader reads a frame, it will count all slot statistics and obtain the values corresponding to slot counter. Unlike the conventional Aloha-based anti-collision strategies, the reader does not use the number of slot statistics to estimate the number of unread tags and attempts to identify the collided tags in the following frames. In AMTS, the reader will use the query tree algorithm to directly identify the involved tags in each collision slots, which is viewed as an independent identification process of collision slots. Only when all collisions are resolved, the entire process will end. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> depicts an example of using AMTS algorithm to identify ten tags. As shown in the figure, there are 2 collision slots in the entire frame, which are located in the 1-st slot and 
5-th slot, respectively. We can see that the reader uses a 2-ary tree method to resolve three tags in the first collision slot and uses a 4-ary tree method to resolve five tags in the second collision slot. Through this 
example, we can intuitively know the advantages of AMTS algorithm. Specifically, we designed two AMTS algorithms, which are based on dynamic frame 
size adjustment (CF-AMTS) and adaptive m-ary selection (MF-AMTS). The difference between them is that the former uses a collision factor to adjusts the m-ary search and the latter uses mapping table to estimate the number of tags involved in collision slots.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>An illustrated example by using AMTS algorithm 
   
</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-1.png"/>
</fig>
<p>In what follows, we elaborate on the principles and operating mechanisms of these two algorithms.</p>
<p>(1) CF-AMTS: Algorithm description</p>
<p>In this paper, we define a variable called collision factor, which is expressed as</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-1.png"/>-->
<!--<tex-math id="tex-eqn-1"><![CDATA[$$\begin{equation}
\mu =\frac{k}{n}
\label{eqn-1}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-1" display="block"><mml:mi>&#x03BC;</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:mfrac></mml:math><!--</alternatives>--></disp-formula></p>
<p>In the above formula, k represents the number of collision bits in the 
current time slot, and n is the tag ID length. We make the following assumption that the current slot is a collision slot and there are m tags to be identified. For any bit in a string responded by the tag, the probability that it will not collide can be expressed as 1/2<sup><italic>m</italic> &#x2212;1</sup>, <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> can be rewritten as</p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-2.png"/>-->
<!--<tex-math id="tex-eqn-2"><![CDATA[$$\begin{equation}
\mu =\frac{n \left[1- \left(1/2\right)^{m-1}\right]}{n}
\label{eqn-2}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-2" display="block"><mml:mi>&#x03BC;</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:mfrac></mml:math><!--</alternatives>--></disp-formula></p>
<p><xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref> implies that the larger the value of <italic>m</italic>, the higher the collision factor. We assume that in the entire traversal tree, the highest query 
depth is <italic>N</italic>, which is the longest path required from the root of the traversal tree to the leaf nodes. The probability that a tag can be successfully recognized at the first level of traversal tree is expressed as <inline-formula id="ieqn-7"><!--<alternatives><inline-graphic xlink:href="ieqn-7.png"/>--><!--<tex-math id="tex-ieqn-7"><![CDATA[$ P_{1}= \left(1-1/N\right)^{m-1}$]]></tex-math>--><mml:math id="mml-ieqn-7"><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mi>N</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula> and the probability that the tag can be successfully recognized at the r-th level of traversal tree is expressed as <inline-formula id="ieqn-8"><!--<alternatives><inline-graphic xlink:href="ieqn-8.png"/>--><!--<tex-math id="tex-ieqn-8"><![CDATA[$ P_{r}=P_{1} \left(1-P_{1}\right)^{r-1}$]]></tex-math>--><mml:math id="mml-ieqn-8"><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>. Then the expectation of <italic>r</italic> is calculated as</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-3.png"/>-->
<!--<tex-math id="tex-eqn-3"><![CDATA[$$\begin{align}
E \left(r\right)&=\sum\limits_{r=1}^{\infty}rP_{r}=\sum_{r=1}^{\infty}rP_{1} \left(1-P_{1}\right)^{r-1}\nonumber \\
&=-P_{1}\frac{d\sum\limits_{r=1}^{\infty} \left[ \left(1-P_{1}\right)^{r}\right]}{d \left(P_{1}\right)}
=-P_{1}\frac{d \left[\frac{1-P_{1}}{P_{1}}\right]}{d \left(P_{1}\right)}\label{eqn-3} \\ &=-P_{1} \left(\frac{-P_{1}- \left(1-P_{1}\right)}{{P_{1}}^{2}}\right)
=\frac{1}{ \left(1-1/N\right)^{m-1}}\nonumber
\end{align}$$]]></tex-math>-->
<mml:math id="mml-eqn-3" display="block"><mml:mtable columnalign="left" columnspacing="1pt"><mml:mtr><mml:mtd><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo>&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mo lspace='0pt' rspace='0pt'>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x221E;</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mi>r</mml:mi><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo>&#x2211;</mml:mo> </mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mo lspace='0pt' rspace='0pt'>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x221E;</mml:mi></mml:mrow></mml:munderover></mml:mstyle></mml:mstyle><mml:mi>r</mml:mi><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mstyle displaystyle='true'><mml:msubsup><mml:mrow><mml:mo>&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mo lspace='0pt' rspace='0pt'>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x221E;</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mi>N</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula></p>
<p>Correspondingly, we can derive the average number of slots spent by the reader to identify <italic>m</italic> tags.</p>
<p><disp-formula id="eqn-4">
<label>(4)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-4.png"/>-->
<!--<tex-math id="tex-eqn-4"><![CDATA[$$\begin{equation}
T_{\textit{N#x2013;ary}}=NE \left(r\right)=\frac{N}{ \left(1-1/N\right)^{m-1}}
\label{eqn-4}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-4" display="block"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">N&#x2013;ary</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mi>N</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:math><!--</alternatives>--></disp-formula></p>
<p>According to <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>, we can get the following judgment conditions.</p>
<p><disp-formula id="eqn-5">
<label>(5)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-5.png"/>-->
<!--<tex-math id="tex-eqn-5"><![CDATA[$$\begin{equation}
 \left\{\begin{array}{l@{\quad}l}
T_{\textit{2-ary}} \geq T_{\textit{4-ary}}, & m \geq 3 \\[4pt]
T_{\textit{2-ary}}< T_{\textit{4-ary}}, & m< 3
\end{array}\right.
\label{eqn-5}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-5" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">2-ary</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">4-ary</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>m</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>3</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">2-ary</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">4-ary</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>m</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>3</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo></mml:mo></mml:mrow></mml:math><!--</alternatives>--></disp-formula></p>
<p>Combining formula <xref ref-type="disp-formula" rid="eqn-2">(2)</xref> and <xref ref-type="disp-formula" rid="eqn-5">(5)</xref>, the reader knows that it should use 2-ary tree to resolve the collided tags when <italic>m</italic> <inline-formula id="ieqn-9"><!--<alternatives><inline-graphic xlink:href="ieqn-9.png"/>--><!--<tex-math id="tex-ieqn-9"><![CDATA[$ \geq$]]></tex-math>--><mml:math id="mml-ieqn-9"><mml:mo>&#x2265;</mml:mo></mml:math><!--</alternatives>--></inline-formula> 3. If <italic>m</italic> is less than 3, the reader should use a 2-ary tree to resolve the collided tags. The collision factor is an indicator that reflects the number of tags in the collision slot. However, such indicator is not completely reliable because it is easily affected by the distribution of tag IDs. Therefore, if only the collision factor is used to estimate the number of remaining tags in a collision slot, a large error may be caused, thereby affecting the identification performance. To solve this problem, we introduce a new custom command <bold>QueryRP</bold>. It is worth noting that the 
EPC C1 Gen2 standard allows users to use custom commands, so this approach does not cause additional costs. The specific operation is as follows. When the collision factor is greater than 0.75, the reader will sends a <bold>QueryRP</bold> command to let the tags return a 4-bit string, which implies 2-bit collision bits information. The process of generating the 4-bit data returned by the tag is as follows. The tag executes the bitwise 
and operation of the first 4-bit of its ID with (1100), and then converts 
the highest 2-bit into a decimal value x, and then generates a new 4-bit string in which the x-th bit is 1, the rest bits are 0. As shown in <xref 
ref-type="fig" rid="fig-2">Fig. 2</xref>, the reader uses CF-AMTS algorithm to identify two tags in a collision slot. From the figure we can see that the tag IDs are 11010001 and 11101010, respectively. When they collide in a time slot, the collision factor can be calculated to be 0.75. At this time, if the reader uses a 4-ary tree to resolve them, additional 
empty slots will be introduced. By making full use of the <bold>QueryRP</bold> command, the reader can parse out the tag ID prefix implicit in the 
collided string in the current slot, thereby avoiding the occurrence of empty slots.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>An example by using CF-AMTS to identify two tags in a collided slot</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-2.png"/>
</fig>
<p>(2) MF-AMTS: Algorithm description</p>
<p>In the next, we elaborate on the second AMTS algorithm, namely MF-AMTS 
algorithm. The salient feature of this algorithm is to use the mapping table to estimate the tag cardinality in a collision slot.</p>
<p><xref ref-type="table" rid="table-1">Tab. 1</xref> is a mapping table that maps 2-bit original data to 4-bit string. In MF-AMTS, the tag will extract its own high 2-bit ID data according to the probe command sent 
by the reader, and map it into a 4-bit string based on the given mapping table. It is noted that the time slot for the tag to respond to the reader is no longer randomly selected. The tag will use its own ID to match the prefix parameter in the probe command sent by the reader and determine whether it responds or not. Assume that in a 4-bit mapped data, the number of collision bits (a collided bit is denoted as &#x201C;x&#x201D;) is <italic>t</italic>. Then the reader will use a 4-ary tree to resolve the collided tags when <italic>t</italic> is greater than or equal to 3, otherwise it will use a 2-ary tree. We still reuses the example in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>. The index of the collision slot selected by the tags is stored in the reader&#x2019;s stack. The corresponding communication procedure is described in <xref ref-type="table" rid="table-2">Tab. 2</xref>. We can observe that two tags have a common prefix of 11 in slot 1, so their responding data are (01<inline-formula id="ieqn-10"><!--<alternatives><inline-graphic xlink:href="ieqn-10.png"/>--><!--<tex-math id="tex-ieqn-10"><![CDATA[$\rightarrow$]]></tex-math>--><mml:math id="mml-ieqn-10"><mml:mo>&#x2192;</mml:mo></mml:math><!--</alternatives>--></inline-formula>00<bold>1</bold>0) and (10<inline-formula id="ieqn-11"><!--<alternatives><inline-graphic xlink:href="ieqn-11.png"/>--><!--<tex-math id="tex-ieqn-11"><![CDATA[$\rightarrow$]]></tex-math>--><mml:math id="mml-ieqn-11"><mml:mo>&#x2192;</mml:mo></mml:math><!--</alternatives>--></inline-formula>0<bold>1</bold>00), respectively. On the reader side, the received data string is 0xx0. According to the principle of MF-AMTS, the new generated prefix is 110 because <italic>t</italic> is 2.</p>
<table-wrap id="table-1"> 
<label>Table 1</label>
<caption>
<title>Mapping table</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>2 bits</th>
<th>4 bits</th>
</tr>
</thead>
<tbody>
<tr>
<td>00</td>
<td>000<bold>1</bold></td>
</tr>
<tr>
<td>01</td>
<td>00<bold>1</bold>0</td>
</tr>
<tr>
<td>10</td>
<td>0<bold>1</bold>00</td>
</tr>
<tr>
<td>11</td>
<td><bold>1</bold>000</td>
</tr>
</tbody>
</table>
</table-wrap>
 
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>The communication procedure by using MF-AMTS to identify the tags in <xref ref-type="fig" rid="fig-2">Fig. 2</xref></title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>slot</th>
<th>Search command</th>
<th>Response</th>
<th>Identification</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><inline-formula id="ieqn-12"><!--<alternatives><inline-graphic xlink:href="ieqn-12.png"/>--><!--<tex-math id="tex-ieqn-12"><![CDATA[$\epsilon$]]></tex-math>--><mml:math id="mml-ieqn-12"><mml:mi>&#x03F5;</mml:mi></mml:math><!--</alternatives>--></inline-formula></td>
<td>0xx0</td>
<td/>
</tr>
<tr>
<td>2</td>
<td>110</td>
<td>0100</td>
<td>11010001</td>
</tr>
<tr>
<td>3</td>
<td>111</td>
<td>0010</td>
<td>11101010</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>By comparing <xref ref-type="fig" rid="fig-2">Fig. 2</xref> and <xref ref-type="table" rid="table-2">Tab. 2</xref>, we can find that the number of slots consumed by the reader to identify the same batch of tags using MF-AMTS algorithm is less than CF-AMTS algorithm. The reason is given as follows. The CF-AMTS algorithm uses <bold>QueryRP</bold> command 
to produce the extra slots. <xref ref-type="fig" rid="fig-3">Fig. 3</xref> depicts the detailed flowchart of the AMTS algorithm proposed in this paper.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Flowchart of AMTS algorithm 
   
</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-3.png"/>
</fig>
<p>Where <italic>N<sub>e</sub></italic>, <italic>N<sub>r</sub></italic> and <italic>N<sub>c</sub></italic> are the number of idle slots, successful slots and collision slots, respectively. With the expected ratios of <italic>N<sub>e</sub></italic>, <italic>N<sub>r</sub></italic> and <italic>N<sub>c</sub></italic> which equals to 2:1:7/24 under the condition <italic>L</italic> = 2<italic>n</italic> according to the analysis of [<xref 
ref-type="bibr" rid="ref-7">7</xref>]. We can derive the rule of the adjustment of <italic>Q</italic> value as</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-6.png"/>-->
<!--<tex-math id="tex-eqn-6"><![CDATA[$$\begin{equation}
 \left\{\begin{array}{l@{\quad}l}
Q=Q-1, &N_{e}-6N_{c}> T_{\mathit{threshold}} \\[4pt]
Q=Q, & \mathit{otherwise}\end{array}\right.
\label{eqn-6}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-6" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mi>Q</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mn>6</mml:mn><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="italic"><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>h</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>d</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mstyle mathvariant="italic"><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>w</mml:mi><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo></mml:mo></mml:mrow></mml:math><!--</alternatives>--></disp-formula></p>
<p>If <inline-formula id="ieqn-13"><!--<alternatives><inline-graphic xlink:href="ieqn-13.png"/>--><!--<tex-math id="tex-ieqn-13"><![CDATA[$ N_{e}-6N_{c}> T_{\mathit{threshold}}$]]></tex-math>--><mml:math id="mml-ieqn-13"><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mn>6</mml:mn><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="italic"><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>h</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>d</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> during the identification process, it presumes that <inline-formula 
id="ieqn-14"><!--<alternatives><inline-graphic xlink:href="ieqn-14.png"/>--><!--<tex-math id="tex-ieqn-14"><![CDATA[$ L \geq 2n $]]></tex-math>--><mml:math id="mml-ieqn-14"><mml:mi>L</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:math><!--</alternatives>--></inline-formula>. To avoid too many idle slots and improve efficiency, the value of <italic>Q</italic> should be decreased by 1. In other case, <italic>Q</italic> keeps unchanged. From the above description, it is known that we design two 
tag identification algorithms based on hybrid architecture. The similarity between the two algorithms is that they both contain the AMS module. The key difference is that the criteria for CF-AMTS and  MF-AMTS to enter the AMS module are different. The former is based on 
collision factor and custom commands. And the latter is based on mapping table.</p>
</sec>
<sec id="s4">
<label>4</label>
<title>Performance Analysis and Numerical Results</title>
<sec id="s4_1">
<label>4.1</label>
<title>Performance Analysis</title>
<p>We theoretically analyze the total number of slots required for our proposed two AMTS algorithms and then deduce the system efficiency. Specifically, the total number of slots can be obtained by summing the frame size <italic>L</italic> and the number of slots consumed by AMS module. We can make the following assumptions, the number of unread tags entering the 
AMS module is <italic>M</italic>. The average number of tags contained in 
each intermediate node is 3 in <italic>k</italic>-th traversal depth. In the tag identification process, if the required traversal depth is higher 
than <italic>k</italic>, the reader should use 2-ary tree, other it should use 4-ary tree. The total number of slots required by AMTS can be expressed as</p>
<p><disp-formula id="eqn-7">
<label>(7)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-7.png"/>-->
<!--<tex-math id="tex-eqn-7"><![CDATA[$$\begin{equation}
T_{\mathit{total}}=T_{\mathit{aloha}}+T_{\mathit{tree}}=L+T_{\textit{4-ary-total}}
+T_{\textit{2-ary-total}}
\label{eqn-7}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-7" display="block"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="italic"><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="italic"><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>h</mml:mi><mml:mi>a</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="italic"><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>e</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">4-ary-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">2-ary-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></disp-formula></p>
<p>Herein <inline-formula id="ieqn-15"><!--<alternatives><inline-graphic xlink:href="ieqn-15.png"/>--><!--<tex-math id="tex-ieqn-15"><![CDATA[$T_{\ttextit{4-ary-total}}$]]></tex-math>--><mml:math id="mml-ieqn-15"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">4-ary-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> denotes the total number of slots taken by a full 4-ary tree, which is calculated as</p>
<p><disp-formula id="eqn-8">
<label>(8)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-8.png"/>-->
<!--<tex-math id="tex-eqn-8"><![CDATA[$$\begin{equation}
T_{\textit{4-ary-total}}= \sum\limits_{i=0}^{k}4^{i}= \sum\limits_{i=0}^{\lceil \textrm{log}_{4}^{M/3}\rceil -1}4^{i}
\label{eqn-8}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-8" display="block"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">4-ary-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo>&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo lspace='0pt' rspace='0pt'>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo>&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo lspace='0pt' rspace='0pt'>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x2308;</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle><mml:mtext>log</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo>/</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x2309;</mml:mo></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msup></mml:math><!--</alternatives>--></disp-formula></p>
<p>Through <xref ref-type="fig" rid="fig-2">Fig. 2</xref> shown above, we can see that when the reader sends a <bold>QueryRP</bold> command once, it will consume a time slot correspondingly. Then, the number of <bold>QueryRP</bold> commands can be equivalent to the number of collision slots, i.e., <inline-formula id="ieqn-16"><!--<alternatives><inline-graphic xlink:href="ieqn-16.png"/>--><!--<tex-math id="tex-ieqn-16"><![CDATA[$T_{\ttextit{QueryRP}}$]]></tex-math>--><mml:math id="mml-ieqn-16"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">QueryRP</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> 
= <inline-formula id="ieqn-17"><!--<alternatives><inline-graphic xlink:href="ieqn-17.png"/>--><!--<tex-math id="tex-ieqn-17"><![CDATA[$T_{\ttextit{4-ary-coll}}$]]></tex-math>--><mml:math id="mml-ieqn-17"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">4-ary-coll</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>.</p>
<p>Referring to the analysis in [<xref ref-type="bibr" rid="ref-15">15</xref>], the number of total slots (<inline-formula id="ieqn-18"><!--<alternatives><inline-graphic xlink:href="ieqn-18.png"/>--><!--<tex-math id="tex-ieqn-18"><![CDATA[$T_{\ttextit{4-ary-total}}$]]></tex-math>--><mml:math id="mml-ieqn-18"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">4-ary-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>), empty slots (<inline-formula id="ieqn-19"><!--<alternatives><inline-graphic xlink:href="ieqn-19.png"/>--><!--<tex-math id="tex-ieqn-19"><![CDATA[$T_{\ttextit{4-ary-idle}}$]]></tex-math>--><mml:math id="mml-ieqn-19"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">4-ary-idle</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>) and collision slots (<inline-formula id="ieqn-20"><!--<alternatives><inline-graphic xlink:href="ieqn-20.png"/>--><!--<tex-math id="tex-ieqn-20"><![CDATA[$T_{\ttextit{4-ary-coll}}$]]></tex-math>--><mml:math id="mml-ieqn-20"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">4-ary-coll</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>) can be calculated as</p>
<p><disp-formula id="eqn-9">
<label>(9)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-9.png"/>-->
<!--<tex-math id="tex-eqn-9"><![CDATA[$$\begin{equation} T_{<italic>4-ary-total</italic>} \left(m\right)=1+4\sum_{j=0}^{\infty }4^{j} \left[1- \left(1-4^{-j}\right)^{m}-\frac{m}{4^{j}} \left(1-4^{-j}\right)^{m-1}\right] \label{eqn-9} \end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-9" display="block"><mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:mstyle displaystyle='true'><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo>&#x2211;</mml:mo> </mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo lspace='0pt' rspace='0pt'>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x221E;</mml:mi></mml:mrow></mml:munderover></mml:mstyle></mml:mstyle><mml:msup><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p><disp-formula id="eqn-10">
<label>(10)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-10.png"/>-->
<!--<tex-math id="tex-eqn-10"><![CDATA[$$\begin{equation}T_{<italic>4-ary-coll</italic>}=\frac{1}{4} \left(T_{<italic>4-ary-total</italic>}-1\right) \label{eqn-10} \end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-10" display="block"><mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<disp-formula id="eqn-11">
<label>(11)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-11.png"/>-->
<!--<tex-math id="tex-eqn-11"><![CDATA[$$\begin{equation}T_{<italic>4-ary-idle</italic>}=T_{<italic>4-ary-total</italic>}-T_{<italic>4-ary-coll</italic>}
=\frac{3}{4}T_{<italic>4-ary-total</italic>}-m+\frac{1}{4} \label{eqn-11}\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-11" display="block"><mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:mfrac></mml:mrow><mml:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula>
<p>in which <italic>m</italic> denotes the number of tags involved in current slot, j represents the traversal depth. As explained in the previous 
section, empty slots cam be eliminated by the introduction of <bold>QueryRP</bold> command. Therefore, the total number of slots taken by CF-AMTS to identify <italic>n</italic> tags is expressed as</p>
<p><disp-formula id="eqn-12">
<label>(12)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-12.png"/>-->
<!--<tex-math id="tex-eqn-12"><![CDATA[$$\begin{equation}
\begin{array}{ll}
T_{\textit{CF-AMTS-total}} \left(n\right)&=L+T_{\textit{4-ary-total}}+T_{\textit{2-ary-total}}-T_{\textit{4-ary-idle}}+T_{\textit{4-ary-coll}} \\[5pt]
&\approx L+ \sum_{j=0}^{\lceil \textrm{log}_{4}^{n-s}\rceil -1}4^{i}+\frac{5}{3} \left(n-s\right)-1.16 \left(n-s\right)+0.72 \left(n-s\right)
\end{array}\label{eqn-12}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-12" display="block"><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">CF-AMTS-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">4-ary-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">2-ary-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">4-ary-idle</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">4-ary-coll</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"></mml:mtd><mml:mtd columnalign="left"><mml:mo>&#x2248;</mml:mo><mml:mi>L</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo>&#x2211;</mml:mo> </mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo lspace='0pt' rspace='0pt'>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x2308;</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle><mml:mtext>log</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo>&#x2309;</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn> </mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mn>5</mml:mn></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>.</mml:mo><mml:mn>16</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>72</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula></p>
<p>Then, the total number of slots taken by MF-AMTS is calculated as <xref ref-type="disp-formula" rid="eqn-13">Eq. (13)</xref>. Where <italic>n</italic> represents the number of tags waiting to be identified, <italic>s</italic> denotes the number of success slots when the frame length is <italic>L</italic>.</p>
<p><disp-formula id="eqn-13">
<label>(13)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-13.png"/>-->
<!--<tex-math id="tex-eqn-13"><![CDATA[$$\begin{equation}
\begin{array}{ll}T_{\textit{MF-AMTS-total}} \left(n\right)&=L+T_{\textit{4-ary-total}}+T_{\textit{2-ary-total}}
-T_{\textit{4-ary-idle}} \\[5pt]
&\approx L+\displaystyle\sum_{j=0}^{ \left\lceil \textrm{log}_{4}^{n-s}\right\rceil -1}4^{i}+\frac{5}{3} \left(n-s\right)-1.16 \left(n-s\right)
\end{array}\label{eqn-13}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-13" display="block"><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">MF-AMTS-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">4-ary-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">2-ary-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle><mml:mtext mathvariant="italic">4-ary-idle</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"></mml:mtd><mml:mtd columnalign="left"><mml:mo>&#x2248;</mml:mo><mml:mi>L</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mrow><mml:mo>&#x2211;</mml:mo> </mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo lspace='0pt' rspace='0pt'>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x2308;</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle><mml:mtext>log</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo>&#x2309;</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mn>5</mml:mn></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>.</mml:mo><mml:mn>16</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula></p>
<p>Then, the system efficiency of CF-AMTS and MF-AMTS can be calculated as <italic>n</italic>/<inline-formula id="ieqn-21"><!--<alternatives><inline-graphic xlink:href="ieqn-21.png"/>--><!--<tex-math id="tex-ieqn-21"><![CDATA[$T_{\ttextit{CF-AMTS-total}}$]]></tex-math>--><mml:math id="mml-ieqn-21"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">CF-AMTS-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> and <italic>n</italic>/<inline-formula id="ieqn-22"><!--<alternatives><inline-graphic xlink:href="ieqn-22.png"/>--><!--<tex-math id="tex-ieqn-22"><![CDATA[$T_{\ttextit{MF-AMTS-total}}$]]></tex-math>--><mml:math id="mml-ieqn-22"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">MF-AMTS-total</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>, respectively.</p>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Numerical Results</title>
<p>We implement the proposed algorithm in MATLAB on a ThinkPad X1 Carbon desktop with an Intel 2.4 GHz CPU. Our simulation setting follows the specifications of the EPC C1 Gen2 standard. The number of tags is from 50 to 
1000 in step of 50. The reader-to-tag transmission rate and the tag-to-reader data rate are not symmetric, which depends on specific physical implementations and practical environments. The main time parameters used in MATLAB simulations are listed in <xref ref-type="table" rid="table-3">Tab. 3</xref>. All simulation results are the average of 1000 simulation 
runs in MATLAB.</p>
<table-wrap id="table-3"> 
<label>Table 3</label>
<caption>
<title>The main time parameters used in MATLAB simulations</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Parameters</th>
<th>Values</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tari</td>
<td>12.5 <inline-formula id="ieqn-23"><!--<alternatives><inline-graphic xlink:href="ieqn-23.png"/>--><!--<tex-math id="tex-ieqn-23"><![CDATA[$\mu$]]></tex-math>--><mml:math id="mml-ieqn-23"><mml:mi>&#x03BC;</mml:mi></mml:math><!--</alternatives>--></inline-formula>s</td>
</tr>
<tr>
<td>BLF</td>
<td>125 kHz</td>
</tr>
<tr>
<td>Tpri</td>
<td><inline-formula id="ieqn-24"><!--<alternatives><inline-graphic xlink:href="ieqn-24.png"/>--><!--<tex-math id="tex-ieqn-24"><![CDATA[$1/\mathrm{BLF}= 8$]]></tex-math>--><mml:math id="mml-ieqn-24"><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mstyle mathvariant="normal"><mml:mi>B</mml:mi><mml:mi>L</mml:mi><mml:mi>F</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:mn>8</mml:mn></mml:math><!--</alternatives>--></inline-formula> <inline-formula id="ieqn-25"><!--<alternatives><inline-graphic xlink:href="ieqn-25.png"/>--><!--<tex-math id="tex-ieqn-25"><![CDATA[$\mu$]]></tex-math>--><mml:math id="mml-ieqn-25"><mml:mi>&#x03BC;</mml:mi></mml:math><!--</alternatives>--></inline-formula>s</td>
</tr>
<tr>
<td>TRrate</td>
<td>125 kbps</td>
</tr>
<tr>
<td>RTrate</td>
<td>64 kbps</td>
</tr>
<tr>
<td>TRcal</td>
<td>64 <inline-formula id="ieqn-26"><!--<alternatives><inline-graphic xlink:href="ieqn-26.png"/>--><!--<tex-math id="tex-ieqn-26"><![CDATA[$\mu$]]></tex-math>--><mml:math id="mml-ieqn-26"><mml:mi>&#x03BC;</mml:mi></mml:math><!--</alternatives>--></inline-formula>s</td>
</tr>
<tr>
<td>T1</td>
<td>80 <inline-formula id="ieqn-27"><!--<alternatives><inline-graphic xlink:href="ieqn-27.png"/>--><!--<tex-math id="tex-ieqn-27"><![CDATA[$\mu$]]></tex-math>--><mml:math id="mml-ieqn-27"><mml:mi>&#x03BC;</mml:mi></mml:math><!--</alternatives>--></inline-formula>s</td>
</tr>
<tr>
<td>T2</td>
<td>40 <inline-formula id="ieqn-28"><!--<alternatives><inline-graphic xlink:href="ieqn-28.png"/>--><!--<tex-math id="tex-ieqn-28"><![CDATA[$\mu$]]></tex-math>--><mml:math id="mml-ieqn-28"><mml:mi>&#x03BC;</mml:mi></mml:math><!--</alternatives>--></inline-formula>s</td>
</tr>
<tr>
<td>T3</td>
<td>40 <inline-formula id="ieqn-29"><!--<alternatives><inline-graphic xlink:href="ieqn-29.png"/>--><!--<tex-math id="tex-ieqn-29"><![CDATA[$\mu$]]></tex-math>--><mml:math id="mml-ieqn-29"><mml:mi>&#x03BC;</mml:mi></mml:math><!--</alternatives>--></inline-formula>s</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The performance of the our proposed AMTS algorithms are evaluated in terms of average required slots for one tag identification, the number of total slots, and energy efficiency. <xref ref-type="fig" rid="fig-5">Fig. 5</xref> shows the average required slots for one tag identification 
when <inline-formula id="ieqn-30"><!--<alternatives><inline-graphic xlink:href="ieqn-30.png"/>--><!--<tex-math id="tex-ieqn-30"><![CDATA[$ 20 \leq n \leq 1000 $]]></tex-math>--><mml:math id="mml-ieqn-30"><mml:mn>20</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>1000</mml:mn></mml:math><!--</alternatives>--></inline-formula> compared with Dynamic frame slotted aloha (DFSA) [<xref ref-type="bibr" rid="ref-7">7</xref>], Enhanced Dynamic frame slotted aloha [<xref ref-type="bibr" rid="ref-9">9</xref>], Dynamic binary search algorithm (DBSA) and Splitting BTSA [<xref ref-type="bibr" rid="ref-16">16</xref>]. Specifically, Splitting BTSA consumes 2.3 slots on average to identify a tag, whereas CF-AMTS and MF-AMTS consume 2 slots, 1.5 slots, respectively. Almost 13.1% and 34.7% efficiency can be improved by  CF-AMTS and MF-AMTS than Splitting BTSA. As also can be found in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, the stability of the deterministic algorithm is higher than that of the Aloha-based algorithm. For example, for DBSA, it can maintains the stable performance regardless of the number of tags, and its performance is very close to CF-AMTS. For MF-AMTS, inheriting the dual advantages of Aloha-based and deterministic algorithm, 
it can maintains its performance stability while improving the identification performance.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Average required slots of one tag identification</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-4.png"/>
</fig>
<fig id="fig-5">
<label>Figure 5</label>  
<caption>
<title>Total slots required to read all tags</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-5.png"/>
</fig>
<p>In <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, we compare the read performance of schemes, including CF-AMTS and  MF-AMTS. Similar to the results for the average required slots for one tag identification, our proposed algorithms has better performance than the other algorithms. For example, when the number of tags is 1000, the DFSA, EDFSA, Splitting BTSA and DBSA consume 4180, 2898, 2439, and 2035 of total slots to identify all the tags, respectively. As a comparison, the number of total slots required by CF-AMTS and MF-AMTS are 1875 and 1490, respectively. In other words, the CF-AMTS and MF-AMTS reduce the number of 
total slots by 7.86% and 26.7% over DBSA when the tag cardinality is 1000. The CF-AMTS and MF-AMTS reduce the number of total slots by 23.1% and 
38.9% over Splitting BTSA when the tag cardinality is 1000.</p>
<p>To further evaluate the performance of our proposed algorithms. We use 
another important evaluation metric, i.e., energy efficiency. We define the energy efficiency metric for every energy unit <italic>e<sub>u</sub></italic> as follows:</p>
<p><disp-formula id="eqn-14">
<label>(14)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-14.png"/>-->
<!--<tex-math id="tex-eqn-14"><![CDATA[$$\begin{equation}
\eta =\frac{n}{Qe_{q}+Se_{s}+We_{\mathit{switch}}}
\label{eqn-14}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-14" display="block"><mml:mi>&#x03B7;</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>Q</mml:mi><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>W</mml:mi><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="italic"><mml:mi>s</mml:mi><mml:mi>w</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:math><!--</alternatives>--></disp-formula></p>
<p>where Q, S and W are number of queries, slots and mode switches, respectively. <italic>e<sub>q</sub></italic>, <italic>e<sub>s</sub></italic> and <inline-formula id="ieqn-31"><!--<alternatives><inline-graphic xlink:href="ieqn-31.png"/>--><!--<tex-math id="tex-ieqn-31"><![CDATA[$e_{\mathit{switch}}$]]></tex-math>--><mml:math id="mml-ieqn-31"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="italic"><mml:mi>s</mml:mi><mml:mi>w</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> are corresponding energy cost. This energy efficiency model is proposed in [<xref ref-type="bibr" rid="ref-13">13</xref>].</p>
<p><xref ref-type="fig" rid="fig-6">Fig. 6</xref> compares the energy 
efficiency of various algorithms. Similar to the results for the average required slots for one tag identification and the number of total slots, our proposed algorithms have better performance than the other algorithms.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>The comparison of various algorithms in terms of energy efficiency 
   
</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-6.png"/>
</fig>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusions</title>
<p>In this paper, we present 2 multi-tag identification algorithms based on hybrid architecture to improve the reading efficiency in tag dense RFID scenarios. The contributions are concluded as follows. Compared with existing anti-collision algorithms, our proposed approaches in this paper not only have higher system throughput, but also do not require precise cardinality estimation of the entire tag set, and hence they can be easily implemented on low-cost RFID readers. Both  theoretical analysis and various experimental results verify that our proposed  algorithms are superior to prior art in terms 
of system throughput, the total number of slots and energy efficiency.</p>
</sec>
</body>
<back>
<fn-group><fn fn-type="other"><p><bold>Funding Statement:</bold> This research was supported by The People&#x2019;s Republic of China Ministry of Science and Technology [2018YFF0213606-03 (Mu Y., Hu T. L., Gong H., Li 
S. J. and Sun Y. H.) <uri>http://www.most.gov.cn</uri> ], the Science and Technology Department of Jilin Province [20160623016TC, 20170204017NY, 20170204038NY,20200402006NC (Mu Y., Hu T. L., Gong H. and Li S.J.) <uri>http://kjt.jl.gov.cn</uri> ], and the Science and Technology Bureau of 
Changchun City [18DY021 (Mu Y., Hu T. L., Gong H., and Sun Y. H.) <uri>http://kjj.changchun.gov.cn</uri> ].</p></fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p></fn></fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Finkenzeller</surname></string-name></person-group>, <source>RFID-Handbook Fundamentals and Applications in Contactless Smart Cards and Identification</source>, <edition>2<sup>nd</sup> ed.</edition> <publisher-loc>New York</publisher-loc>: <publisher-name>John Wiley &#x0026; Sons Ltd.</publisher-name>, <year>2003</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Feng</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Xu</surname></string-name> 
and <string-name><given-names>R.</given-names> <surname>Zhong</surname></string-name></person-group>, &#x201C;<article-title>Data-driven analysis for RFID-enabled smart factory: A case study</article-title>,&#x201D; <source>IEEE Transactions on Systems, Man, and Cybernetics: Systems</source>, vol. <volume>50</volume>, no. <issue>1</issue>, pp. <fpage>81</fpage>&#x2013;<lpage>88</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Fabian</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Ermakova</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Muller</surname></string-name></person-group>, &#x201C;<article-title>SHARDIS: A privacy-enhanced discovery service for RFID-based product information</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source>, vol. <volume>8</volume>, no. <issue>3</issue>, pp. <fpage>707</fpage>&#x2013;<lpage>718</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Cai</surname></string-name>, <string-name><given-names>L. D.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Xie</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Qin</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>IoT-based configurable information service platform 
for product lifecycle management</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source>, vol. <volume>10</volume>, no. <issue>2</issue>, pp. <fpage>1558</fpage>&#x2013;<lpage>1567</lpage>, 
<year>2014</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Fan</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Jiang</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>Lightweight RFID protocol for medical privacy protection in IoT</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source>, vol. <volume>14</volume>, no. <issue>4</issue>, pp. <fpage>1656</fpage>&#x2013;<lpage>1665</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Adrion</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Keller</surname></string-name>, 
<string-name><given-names>G. B.</given-names> <surname>Bozzolini</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Umstatter</surname></string-name></person-group>, &#x201C;<article-title>Setup, test and validation of a UHF RFID system for monitoring feeding behaviour of dairy cows</article-title>,&#x201D; <source>Sensors</source>, vol. <volume>20</volume>, no. <issue>24</issue>, pp. <fpage>7035</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Hardie</surname></string-name></person-group>, &#x201C;<article-title>Review of novel and emerging proximal soil moisture sensors for use in agriculture</article-title>,&#x201D; <source>Sensors</source>, vol. <volume>20</volume>, no. <issue>23</issue>, pp. <fpage>6934</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Zhu</surname></string-name> and <string-name><given-names>T. S.</given-names> <surname>Yum</surname></string-name></person-group>, &#x201C;<article-title>A critical survey and analysis of RFID anti-collision mechanisms</article-title>,&#x201D; <source>IEEE Communications Magazine</source>, vol. <volume>49</volume>, no. <issue>5</issue>, pp. <fpage>214</fpage>&#x2013;<lpage>221</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W. T.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>An accurate tag estimate method for improving the performance of an RFID anticollision algorithm based on dynamic frame length ALOHA</article-title>,&#x201D; <source>IEEE Transactions on Automation Science and Engineering</source>, vol. <volume>6</volume>, no. <issue>1</issue>, pp. <fpage>9</fpage>&#x2013;<lpage>15</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Su</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Sheng</surname></string-name>, <string-name><given-names>A. X.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>A partitioning approach to RFID identification</article-title>,&#x201D; <source>IEEE/ACM 
Transactions on Networking</source>, vol. <volume>28</volume>, no. <issue>5</issue>, pp. <fpage>2160</fpage>&#x2013;<lpage>2173</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Su</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Sheng</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Fu</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>A time and energy saving based frame adjustment strategy (TES-FAS) tag identification algorithm for UHF RFID systems</article-title>,&#x201D; <source>IEEE Transactions on Wireless Communications</source>, vol. <volume>19</volume>, 
no. <issue>5</issue>, pp. <fpage>2974</fpage>&#x2013;<lpage>2986</lpage>, 
<year>2020</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>J. Y.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Efficient anti-collision algorithm utilizing the capture effect for ISO 18000-6C RFID protocol</article-title>,&#x201D; <source>IEEE Communications Letters</source>, vol. <volume>15</volume>, no. <issue>3</issue>, pp. <fpage>352</fpage>&#x2013;<lpage>354</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Ma</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Han</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Su</surname></string-name></person-group>, &#x201C;<article-title>A novel time-aware frame adjustment strategy for RFID anti-collision</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>57</volume>, no. <issue>2</issue>, pp. <fpage>195</fpage>&#x2013;<lpage>204</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Pan</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Wu</surname></string-name></person-group>, &#x201C;<article-title>Smart trend-traversal protocol for RFID tag arbitration</article-title>,&#x201D; <source>IEEE Transactions on Wireless Communications</source>, vol. <volume>10</volume>, no. <issue>11</issue>, pp. <fpage>3565</fpage>&#x2013;<lpage>3569</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Su</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Sheng</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>A. X.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>From M-ary query to bit query: A new strategy for efficient large-scale RFID identification</article-title>,&#x201D; <source>IEEE Transactions on Communications</source>, vol. <volume>68</volume>, no. <issue>4</issue>, pp. <fpage>2381</fpage>&#x2013;<lpage>2393</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Su</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Sheng</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Xie</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Wen</surname></string-name></person-group>, &#x201C;<article-title>Idle-slots elimination based binary splitting (ISE-BS) anti-collision algorithm for RFID</article-title>,&#x201D; <source>IEEE Communications Letters</source>, vol. <volume>20</volume>, no. <issue>12</issue>, pp. <fpage>2394</fpage>&#x2013;<lpage>2397</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>D. R.</given-names> <surname>Hush</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Wood</surname></string-name></person-group>, &#x201C;<article-title>Analysis of tree algorithms for RFID arbitration</article-title>,&#x201D; in <conf-name>Proc. 1998 IEEE Int. Symp. on Information Theory (Cat. No. 98CH36252)</conf-name>, <publisher-name>IEEE</publisher-name>, pp. <fpage>107</fpage>&#x2013;<lpage>116</lpage>, <year>1998</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zeng</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Feng</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Gu</surname></string-name></person-group>, &#x201C;<article-title>Binary tree slotted ALOHA for passive RFID tag anti-collision</article-title>,&#x201D; <source>IEEE Transactions on Parallel and Distributed Systems</source>, vol. <volume>24</volume>, no. <issue>1</issue>, pp. <fpage>19</fpage>&#x2013;<lpage>31</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Su</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Sheng</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Han</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>A group-based binary splitting algorithm for UHF RFID anti-collision systems</article-title>,&#x201D; <source>IEEE Transactions on Communications</source>, vol. <volume>68</volume>, no. <issue>2</issue>, pp. <fpage>998</fpage>&#x2013;<lpage>1012</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Kim</surname></string-name>, <string-name><given-names>S.</given-names> <surname>kim</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Lee</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Ahn</surname></string-name></person-group>, &#x201C;<article-title>Improved 4-ary query tree algorithm for anti-collision in RFID system</article-title>,&#x201D; in <conf-name>2009 Int. Conf. on Advanced Information Networking and Applications</conf-name>, <publisher-name>IEEE</publisher-name>, pp. <fpage>699</fpage>&#x2013;<lpage>704</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Shao</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Meng</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Gao</surname></string-name></person-group>, &#x201C;<article-title>A physical layer network coding based tag anti-collision algorithm for RFID system</article-title>,&#x201D; <source>Computers Materials &#x0026; Continua</source>, 
vol. <volume>66</volume>, no. <issue>1</issue>, pp. <fpage>931</fpage>&#x2013;<lpage>945</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Dong</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Xuan</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Qin</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Tan</surname></string-name></person-group>, &#x201C;<article-title>An improved binary search anti-collision protocol for RFID tag identification</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>65</volume>, no. <issue>2</issue>, pp. <fpage>1855</fpage>&#x2013;<lpage>1868</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>G. S.</given-names> <surname>EPCglobal</surname></string-name></person-group>, &#x201C;<article-title>EPC radio-frequency identity protocols generation-2 UHF RFID specification for RFID air interface protocol for communications at 860 MHz&#x2013;960 MHz</article-title>,&#x201D; <comment>Version 2.0.0 Ratified</comment>, <year>2013</year>. [Online]. Available: 
<uri>https://www.gs1.org/sites/default/files/docs/epc/uhfc1g2_2_0_0_standard_20131101.pdf</uri>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Qian</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Ngan</surname></string-name> and <string-name><given-names>L. M.</given-names> <surname>Ni</surname></string-name></person-group>, &#x201C;<article-title>ASAP: System1919</article-title>,&#x201D; <source>IEEE Transactions on Parallel and Distributed Systems</source>, vol. <volume>24</volume>, no. <issue>7</issue>, pp. <fpage>1277</fpage>&#x2013;<lpage>1288</lpage>, <year>2013</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>