You are on page 1of 14

applied

sciences
Article
Channel-Quality Aware RFID Tag Identification
Algorithm to Accommodate the Varying Channel
Quality of IoT Environment
Yen-Hung Chen 1, *, Rui-Ze Hung 1 , Lin-Kung Chen 2 , Pi-Tzong Jan 3 and Yin-Rung Su 4
1 Department of Information Management, National Taipei University of Nursing and Health Sciences,
Taipei 11214, Taiwan; tfreemanhung@gmail.com
2 Mathematics and Applied Mathematics (Finance and Statistics), School of Information Engineering,
Sanming University, Sanming 365004, Fujian, China; coln01@gmail.com
3 Department of Applied Informatics, Fo Guang University, Yilan County 26247, Taiwan;
ptjan@mail.fgu.edu.tw
4 National Taiwan University of Science and Technology, Taipei 10607, Taiwan; M10009112@mail.ntust.edu.tw
* Correspondence: pplong@gmail.com; Tel.: +886-2-2822-7101 (ext. 2720)

Received: 22 December 2018; Accepted: 11 January 2019; Published: 17 January 2019 

Abstract: Radio Frequency Identification (RFID) technique is broadly adopted as the automated
identification system for the Internet of Things (IoT). Many RFID anti-collision algorithms were
proposed to accelerate the tag identification process. However, they misjudged some unreadable
slots which were due to collision instead of the bad channel condition, causing low bandwidth
usage. This study proposes the Channel-quality Aware Query Tree algorithm (CAQT) to improve the
identification performance in an error-prone channel environment. CAQT has three novel features:
(1) it estimates the channel quality continuously and statistically in the rapidly changing channel
quality environment; (2) it asks the tag for retransmission or to split the collide tags based on the
channel quality; (3) the number of the groups which it splits tags is based on the estimated number of
tags collide in current slot. The simulation results show that CAQT uses less than 31% slots compared
with the conventional algorithms. The simulation results also demonstrate that CAQT provides
enhanced performance when the channel quality is varying especially in outdoor environment,
for example, ticket checking for railway or subway system.

Keywords: RFID; tag identification; anti-collision; channel error; interference

1. Introduction
The Radio Frequency Identification (RFID) technique [1–3] is broadly applied as the automated
identification system for Internet of Things (IoT) environment because of its feasibility, convenience,
fast and contactless object identification method, as compared with the conventional bar-code system.
An RFID system consists of a reader and several tags. Each tag has a unique identification (ID), and
the reader identifies objects which attached tag through radio signal. During the tag identification
procedure, tags may transmit signals to the reader simultaneously and collide each other, meaning
that the bandwidth resource is wasted and the duration of the identification process is prolonged.
A well-designed tag anti-collision protocol is thus required for RFID tag identification.
Many RFID anti-collision algorithms were proposed and can be classified into two categories,
which are Aloha-based [4] and Tree-based [5] algorithms. The Aloha-based algorithms attempt to adjust
the frame size to minimize the duration of the identification process by observing the probabilities
of collision and successful transmission in current frame. On the other hand, the Tree-based
algorithms repeatedly subdivide collided tags into groups until each group contains, at most, one tag.

Appl. Sci. 2019, 9, 321; doi:10.3390/app9020321 www.mdpi.com/journal/applsci


Appl. Sci. 2019, 9, 321 2 of 14

The Tree-based algorithms can be further classified into the binary tree protocol (BT) and query tree
protocol (QT). For BT, the collided tags are separated by randomly choosing a binary number. With
regards to QT, the collided tags are split by the reader’s query.
However, the channel quality changes rapidly in the wireless environment; an RFID reader cannot
distinguish between a collision and a frame error. When there are frame errors, the conventional
algorithms would misjudge the unreadable slots as collisions instead of bad channel condition,
resulting in that the measured possibility of collision gets high. Therefore, the number of tags based on
the possibility of collision would be overestimated, causing more unnecessary idle slots and lower
bandwidth usage. This phenomenon is also called the channel error problem in RFID system [6].
The error resilient estimation and adaptive binary selection algorithm (ERE-ABS) and its extension
was proposed to address this channel error problem [6,7]. ERE-ABS applies the packet error rate (PER)
and number of tags to judge whether the received unreadable message is caused by collision or it is
the result of channel error. However, ERE-ABS does not dynamically adjust PER and the number of
tags, when the channel condition changes. This results in that the PER and the number of tags may be
incorrectly estimated and therefore cannot reflect the actual condition with regards to the current RFID
system, meaning that the idle slots increase, and the inferior bandwidth usage is inescapably caused.
This study therefore develops a novel RFID anti-collision algorithm, called the Channel-quality
Aware Query Tree algorithm (CAQT), to improve the identification performance under error-prone
channel. The CAQT is based on query tree protocol and owns three novel features:

(1) it estimates the channel quality continuously and statistically in the rapidly changing channel
quality environment to improve the tag estimation;
(2) it asks the tag for retransmission or to split the collide tags based on the channel quality in order
to reduce the number of idle slots;
(3) the number of the groups which it splits tags is based on the estimated number of tags collide in
current slot in order to accelerate the tag identification process.

The structure of this study is as follows. Section 2 presents the RFID system overview, error-prone
channel, and previous studies. Section 3 introduces the concept and pseudo codes of the proposed
CAQT. Section 4 demonstrates simulation results including the comparisons with CAQT and previous
anti-collision algorithms. Section 5 concludes this study.

2. Background
This section provides an overview of RFID system, the RFID tag identification performance
problem in error-prone channel, and the previous studies.

2.1. RFID System Overview


RFID is the system containing tags and readers, and it is applied to automatically identify and
track tags attached to objects. Figure 1 shows some terminologies applied during the identification
process. A frame is the duration from the moment a reader begins recognizing all tags within its
reading range to the time it finishes all recognitions. Let fi denote the i-th frame. A frame contains a set
of slots. A slot is the duration when a reader transmits a triggering (feedback) signal to the tags and
then the tags respond with their IDs to the reader. Let Si,j denote the j-th slot in the i-th frame. Notably,
the status of a slot can be classified as idle, success, and collision. An idle slot indicates that the reader
does not receive any signal from tags. The success slot means that the reader can successfully decode
one or more tag IDs from the signal. A collision slot is the slot where the reader receives the signals
but cannot decode any information from them. As shown in Figure 2, a collision is generally caused by
that two or more tags choose the same slot to send message to the reader.
Appl.
Appl. Sci.
Sci. 2019,
2019, 9,
9, xx FOR
FOR PEER
PEER REVIEW
REVIEW 33 of
of 15
15

receives
receives the
the signals
signals but
but cannot
cannot decode
decode any
any information
information from
from them.
them. AsAs shown
shown in
in Figure
Figure 2,
2, aa collision
collision
Appl. Sci. 2019, 9, 321 3 of 14
is generally caused by that two or more tags choose the same slot to send message to the reader.
is generally caused by that two or more tags choose the same slot to send message to the reader.

Figure 1.
Figure 1. Relationship
Relationship between slots and
between slots and frame.
frame.

Figure
Figure 2. Collision in
2. Collision in RFID
RFID (Radio
(Radio Frequency
Frequency Identification)
Identification) system.
system.

During
During the identification process, the reader periodically broadcasts a query or some information
During the the identification
identification process,
process, the the reader
reader periodically
periodically broadcasts
broadcasts aa query query or or some
some
with regarding
information with theregarding
frame in thethe frame
first slot
in of
the the frame.
first slot The
of the tags within
frame. The radio
tags coverage
within range
radio of the
coverage
information with regarding the frame in the first slot of the frame. The tags within radio coverage
reader
range will select one slotselect
and response their own ID in this slot ID
if theirthis
ID matches the query. Ideally,
range ofof the
the reader
reader will will select one
one slot
slot and
and response
response theirtheir own
own ID in in this slot
slot if
if their
their ID
ID matches
matches thethe
the number
query. Ideally,of slots
the within
number a
of frame
slots should
within a equal
frame to the
should number
equal toof the
the tags
number within
of the the coverage
tags within of
the
query. Ideally, the number of slots within a frame should equal to the number of the tags within the
acoverage
reader in order to maximize the bandwidth usage. Otherwise, some unused slots will exist ifwill
the
coverage of of aa reader
reader in in order
order to to maximize
maximize the the bandwidth
bandwidth usage.usage. Otherwise,
Otherwise, somesome unused
unused slots
slots will
number
exist of slots is larger than the number of the tags, or the tags will suffer serious collisions if the
exist if
if the
the number
number of of slots
slots isis larger
larger than
than the the number
number of of the
the tags,
tags, oror the
the tags
tags will
will suffer
suffer serious
serious
number
collisions ofifslots is fewerof than the number of the tags. Therefore, the RFID readerthehasRFID
to estimate the
collisions if the number of slots is fewer than the number of the tags. Therefore, the RFID reader
the number slots is fewer than the number of the tags. Therefore, reader has
has
number
to estimateof the
the tags
number to decide
of thean appropriate
tags to decide frame
an size.
appropriate frame size.
to estimate the number of the tags to decide an appropriate frame size.
2.2.
2.2. Error-Prone Channel
2.2. Error-Prone
Error-Prone Channel
Channel
The
The RFID reader and tags frequently exchange messages within a frame. However, the signal
The RFID
RFID reader
reader and and tags
tags frequently
frequently exchange
exchange messages
messages within
within aa frame.
frame. However,
However, thethe signal
signal
strength
strength of tags is typically very weak and significantly attenuated by distance comparing with the
strength of tags is typically very weak and significantly attenuated by distance comparing with
of tags is typically very weak and significantly attenuated by distance comparing with the
the
signal
signal power of RFID reader. Therefore, the tags may be interfered from oneone or more readers [8,9],[8,9],
and
signal power
power of of RFID
RFID reader.
reader. Therefore,
Therefore, the the tags
tags may
may bebe interfered
interfered from
from one or or more
more readers
readers [8,9],
this
and phenomenon is reflected in the form of packet error rate (PER). For example, as shown inshown
Figure 3,
and this
this phenomenon
phenomenon is is reflected
reflected in in the
the form
form of of packet
packet error
error rate
rate (PER).
(PER). For
For example,
example, asas shown in in
the signal
Figure from Tag A to Reader B may be interfered by the signal transmitted by Reader A. Reader B
Figure 3,3, the
the signal
signal from
from TagTag A A to
to Reader
Reader B B may
may be be interfered
interfered by
by the
the signal
signal transmitted
transmitted byby Reader
Reader A. A.
cannot
Reader identify this phenomenon is caused bycaused the interference from Reader A.Reader Therefore,Therefore,
Reader B
Reader B B cannot
cannot identify
identify thisthis phenomenon
phenomenon is is caused byby the
the interference
interference from
from Reader A. A. Therefore,
would
Reader wrongly regard it as that two or more tags simultaneously send message in the same slot, even
Reader B B would
would wrongly
wrongly regard
regard it it as
as that
that two
two oror more
more tags
tags simultaneously
simultaneously sendsend message
message inin the
the same
same
though
slot, there is only one tag within its interrogation range.
slot, even
even though
though therethere isis only
only one
one tag tag within
within its
its interrogation
interrogation range.
range.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 4 of 15
Appl. Sci. 2019, 9, 321 4 of 14
Appl. Sci. 2019, 9, x FOR PEER REVIEW 4 of 15

Figure 3. Example of the interference.


Figure 3. Example of the interference.
The inability to distinguish the difference between collision and channel error would cause that
the reader
The inaccurately
inability
The inability to estimatesthe
todistinguish
distinguish the number
thedifference
difference ofbetween
tags within
between in itsand
collision
collision interrogation
and channel
channel range.
error
error This
wouldwouldis because
cause cause
that
that most
the tag
reader estimation
inaccurately methods
estimatesare based
the on
number the
of probability
tags within of
in collision
its and the
interrogation
the reader inaccurately estimates the number of tags within in its interrogation range. This is because reader
range. cannot
This is
distinguish
because
that tagthe
mostthat mostdifference between
tag estimation
estimation methods arecollision
methodsbased areonand theinterference.
based This
on the probability
probability of means that
thethe
of collision
collision and and reader will
the cannot
reader reader
overestimate
cannot the
distinguish number
the of collision
difference slots
between and underestimate
collision and number
interference.
distinguish the difference between collision and interference. This means that the reader will of
This readable
means slots,
that the as shown
reader in
will
Figure 4. According
overestimate
overestimate the number
the to the
number of overestimated
ofcollision
collisionslots collisions,
slotsand the tag number
andunderestimate
underestimate estimation
number ofofalgorithm
readable
readable would
slots,
slots, as as wrongly
shown
shown in
regard
in Figurethat
4. too many
According tags
to transmit
the message
overestimated in current
collisions, frame
the which
tag causes
estimation
Figure 4. According to the overestimated collisions, the tag estimation algorithm would wrongly high collision
algorithm wouldprobability,
wrongly
and then
regard
regard thatittoo
that increases
too many tags
many thetransmit
tags numbermessage
transmit of slots in
message incurrent
in the next
current frame
frame
frame in order
which
which causestohigh
causes decrease
high theprobability,
collision
collision collisions.
probability,
Therefore,
and
and then the slots the
thenititincreases
increases inthethenumber
number nextofframe
slots inare
of slots theinoverestimated
next
theframe
next in andinto
order
frame the bandwidth
decrease
order usage theinescapably
the collisions.
to decrease Therefore,
collisions.
decreases.
the slots in the next frame are overestimated and the bandwidth usage
Therefore, the slots in the next frame are overestimated and the bandwidth usage inescapably inescapably decreases.
decreases.

Figure
Figure 4. Relationship among
4. Relationship among collision,
collision, readable,
readable, idle
idle and
and signal
signal interference
interference slot.
slot.
2.3. Previous Studies
Figure 4. Relationship among collision, readable, idle and signal interference slot.
2.3. Previous Studies
Many RFID anti-collision algorithms were proposed to identify all tags by using the minimal
2.3. Previous
Many RFID Studies anti-collision algorithms were proposed to identify all tags by using the minimal
bandwidth resource. These algorithms can be divided into two categories, which are the probabilistic
bandwidth
Many resource.
RFID These algorithms
anti-collision can were
algorithms be divided into two
proposed categories,
to identify which
all tags byare the the
using probabilistic
minimal
methods and deterministic methods.
methods
bandwidth and deterministic
resource. These methods.
algorithms
The probabilistic methods, whichcanarebe divided
also calledinto
the two categories,algorithms
Aloha-based which are [10–18],
the probabilistic
attempt
methodsThe probabilistic methods, which are also called the Aloha-based algorithms [10–18], attempt to
to adjust and deterministic
the frame methods.
size to maximize the bandwidth usage by observing the probabilities of collision
adjustThetheprobabilistic
frame size tomethods,
maximize the bandwidth usage byAloha-based
observing the probabilities of collision and
and idle in current frame. Thatwhich
is, eacharetag
also called
randomly the chooses one slotalgorithms
in current[10–18],
frame to attempt to
send its
idle
adjustin current
thetoframe frame. That
size toand is,
maximize each tag randomly
thereader
bandwidth chooses
usage one slot in current frame to send its message
message the reader, then the observes theby observing
number the probabilities
of collisions, readable, ofand
collision and
idle slots
to the
idle in reader,
current and
frame. then theis,reader
That each observes
tag randomly the chooses
number one of collisions,
slot in readable,
current frame and
to idle its
send slots in this
message
in this frame in order to estimation the number of tags within its interrogation range. Ideally, in order
frame
to in orderand
the reader, to estimation
then the the number
reader observes ofthe
tags within of
number its interrogation range.andIdeally, in order to
to minimize the collision and idle slots, the number of slots collisions,
in a frame readable,
should equal idle
to theslots
numberin this
of
minimize
frame the
in order collision and
to estimation idle slots,
the numberthe number of slots in a frame should equal to the number of
tags within a reader’s interrogation range.ofTherefore,
tags withintheits interrogation
reader range.
then modifies theIdeally,
next framein order
size to
to
tags within
minimize a reader’s
theofcollision interrogation range. Therefore, the reader then modifies the next frame size to
the number the tags.and idle slots, the number of slots in a frame should equal to the number of
the number
tags within aofreader’s
the tags. interrogation range.
The deterministic methods, which areTherefore,
also called thethereader then modifies
Tree-based algorithmsthe next frame
[19–31], size toa
resolve
the The
number deterministic
of the tags. methods, which are also called the Tree-based algorithms [19–31], resolve a
collision among tags by repeatedly subdivided into groups until each group contains at most one tag.
collision
The among tags bymethods,
deterministic repeatedly subdivided alsointo groups until each group contains at mostresolve
one tag.
The Tree-based algorithms can bewhich
furtherare
classifiedcalled
intothetheTree-based
binary treealgorithms
protocol (BT) [19–31],
and query tree a
The Tree-based algorithms can be further classified into the binary tree protocol
collision among tags by repeatedly subdivided into groups until each group contains at most one tag. (BT) and query tree
The Tree-based algorithms can be further classified into the binary tree protocol (BT) and query tree
Appl. Sci. 2019, 9, 321 5 of 14
Appl. Sci. 2019, 9, x FOR PEER REVIEW 5 of 15

protocol (QT).
protocol (QT). For For BT,
BT, the
the collided
collided tags
tags are
are separated
separated by by randomly
randomly choosing
choosing aa binary
binary number
number and and
sending itit back
sending backto tothe
thereader.
reader.This
Thisprocedure
procedurerepeats
repeatsuntil
untilthe
the reader
reader confirms
confirms each
each group
group contains
contains at
at most one tag. With regards to QT, the collided tags are split by the reader’s query.
most one tag. With regards to QT, the collided tags are split by the reader’s query. If the tag’s ID prefix If the tag’s ID
prefix matches
matches this query, this the
query, the tag
tag will will respond
respond with its ID with its ID
to the to the
reader. reader.
This queryThis query procedure
procedure continues
continues
until until noresponse
no collided collided occurs
response foroccurs for each
each query. query. However,
However, these conventional
these conventional algorithms algorithms
did not
did not consider
consider the condition the condition
of channel oferror,
channel error, that
meaning meaning that the
the reader reader
would would overestimate
overestimate the numberthe of
number tags.
collided of collided tags.
The error
The error resilient
resilient estimation
estimation and and adaptive
adaptive binary
binary selection algorithm (ERE-ABS) was proposed
to handle
to handle thethe issue
issue ofof channel
channel error
error [6].
[6]. ERE-ABS applies
applies the PER and numbernumber of tags to judge which
event, i.e.,
event, i.e., collision or channel error, error, treated
treated byby the
the reader
reader would
would acquire
acquire the
the highest throughput
throughput and and
then adopts the the corresponding strategy, when the reader receives an unreadable message. Thatfor
corresponding strategy, when the reader receives an unreadable message. That is, is,
example,
for example,if the throughput
if the throughput of regarding
of regarding the unreadable
the unreadablemessage as the
message asresult caused
the result by channel
caused error
by channel
is higher
error than than
is higher the throughput
the throughput of treating thisthis
of treating message
message as as
a collision,
a collision,the
thereader
readerwould
would ask ask the tag
tag
who transmitted
who transmitted this this message
message to to retransmit
retransmit it it immediately.
immediately. Otherwise,
Otherwise, thethe reader would
would treat
treat it as
as a
collision and
collision and adopt
adopt thethe Tree-based
Tree-basedanti-collision
anti-collisionprocedure
procedureso soasasto
toidentify
identifythethecollided
collidedtags.
tags.
As shown
shown in in Figure
Figure 5, 5, the
the ERE-ABS
ERE-ABS used used twotwo phases
phases forfor accurate
accurate estimate
estimate channel
channel status
status and
and
identification efficiency.
improves identification efficiency. In the error resilient
resilient estimation
estimation (ERE) phase,phase, the reader
reader would
would
attempt to split the number of tags into j groups groups until
until the probability
probability of idle
idle slots
slots is
is smaller
smaller than
than the
the
threshold. And And then, the reader will operate the estimate process to calculate number of tags and
and
channel state.
channel state. In the adaptive binary selection (ABS) phase, the reader would would apply the estimate result result
to judge
judge retransmission
retransmission or or binary
binary selection
selection when
when itit detects
detectsaacollision
collisionslot.
slot.

Figure 5.
Figure 5. The mechanism of ERE-ABS.
ERE-ABS.

However,
However, the the channel
channel status
status changes
changes rapidly
rapidly and
and ERE-ABS
ERE-ABS does
does not
not dynamically
dynamically adjust
adjust PER
PER
and
and the
the number
number of of tags
tags during
during the
the collision
collision resolving
resolving procedure.
procedure. This
This results
results in
in that
that the
the PER
PER and
and the
the
number of tags may be incorrectly estimated and therefore cannot reflect the actual condition
number of tags may be incorrectly estimated and therefore cannot reflect the actual condition with with
regards
regards to
to the
the current
current RFID
RFID system,
system, meaning
meaning that the inferior
that the inferior throughput
throughput will
will be
be inescapably
inescapably caused.
caused.

3. Proposed Channel-Quality Aware Query Tree Algorithm


3. Proposed Channel-Quality Aware Query Tree Algorithm
This study proposes the Channel-quality Aware Query Tree algorithm (CAQT) to minimize the
This study proposes the Channel-quality Aware Query Tree algorithm (CAQT) to minimize the
effect of the rapidly changing channel quality on estimating number of the tags. The CAQT is based
effect of the rapidly changing channel quality on estimating number of the tags. The CAQT is based
on query tree protocol and can be characterized by three features:
on query tree protocol and can be characterized by three features:
(1) it estimates PER in each slot including the collision resolution process in order to improve the
(1) it estimates PER in each slot including the collision resolution process in order to improve the
accuracy of the tag estimation in the rapidly changing channel quality environment;
accuracy of the tag estimation in the rapidly changing channel quality environment;
(2) when a reader receives an unreadable message from tags, it then adopts the most efficient strategy,
(2) when a reader receives an unreadable message from tags, it then adopts the most efficient
which is to ask the tag to retransmit it or to split the collide tags, after evaluating the efficiency of
strategy, which is to ask the tag to retransmit it or to split the collide tags, after evaluating the
regarding this event caused by channel error and that of treating it as a collision event;
efficiency of regarding this event caused by channel error and that of treating it as a collision
event;
Appl. Sci. 2019, 9, 321 6 of 14
Appl. Sci. 2019, 9, x FOR PEER REVIEW 6 of 15

(3)
(3) the
the number
number of of the
thegroup
groupwhich
which it splits
it splits is based
is based on estimated
on the the estimated number
number of tagsofcollide
tags collide in
in current
current slot intoorder
slot in order to accelerate
accelerate the tag the tag identification
identification process.process.

3.1. Channel
3.1. Channel Error
Error Rate
Rate Estimation
Estimation
Since PER
Since PER isis required
required to to evaluate
evaluate the the efficiency
efficiency of of asking
asking thethe unreadable
unreadable tag
tag to
to retransmit
retransmit thethe
message or to split the collided tags, CAQT estimates PER through sampling
message or to split the collided tags, CAQT estimates PER through sampling the slot in which only the slot in which only
one tag
one tag transmits.
transmits. The The following
following shows
shows the the details:
details:
First, the
First, thetree-based
tree-based RFID
RFIDanti-collision operation
anti-collision is utilized
operation to distinguish
is utilized whether the
to distinguish unreadable
whether the
slot is due to
unreadable collision
slot orcollision
is due to channel or error. Thaterror.
channel is, if the reader
That onlyreader
is, if the identifies
only one tag in one
identifies the split
tag inslots
the
afterslots
split detecting an unreadable
after detecting slot, this unreadable
an unreadable slot can be
slot, this unreadable deducted
slot as the slot
can be deducted asinterfered by noise
the slot interfered
rather
by noise than the than
rather collided
the slot, as shown
collided slot, asinshown
Figurein 6.Figure 6.

Figure
Figure 6.
6. An
An example
example of
of unreadable
unreadable slots.
slots.

Second, the reader


Second, reader estimates
estimatesthe thePER
PERby bycalculating
calculatingthe number
the number of of
thethe
readable slots
readable between
slots betweenthe
two adjacent slots in which only one tag transmits and suffers channel error,
the two adjacent slots in which only one tag transmits and suffers channel error, named s herein. named U s U
herein. That
is, asis,
That shown
as shown in Figure
in Figure 7, the7,slots between
the slots betweentwo adjacent Us , which
two adjacent means
U s , which the slots
means the starts Usi−1
after after
slots starts
i
and ends to (includes) Us , can i be categorized into three groups including readable slots, idle slots,
U si −1 and ends to (includes) U s , can be categorized into three groups including readable slots, idle
and unreadable slots. The readable slots mean that only one tag transmits in these slots including
slots, and unreadable slots. The readable slots mean that only one tag transmits in these slots
Usi ; the unreadable slot indicates there are more tags transmitted in one slot, and these tags therefore
including U si ; the unreadable slot indicates there are more tags transmitted in one slot, and these
collide; the idle slot is the slot that no tag transmits in it. The PER for the readable slots between Usi−1
tags
and therefore
Usi can be collide; the by idle1slot is theNslot
i that no tag transmits in it. The PER for the i −1 readable slots
and Usi . Thus,
calculated
Nri
, where r is the number of readable slots between Us
to assumeUthat
between i −1
the
i
U s can
andchannel be iscalculated
error by 1 i , inwhere
uniform distributed each slot,
i
N r the
is the
PERnumber of readable
for the slots between slots
Usi−1
s
Nr
and Usi , named
between U si −1 and
]U
PER i , ican be estimated by
s . Thus, to assume that the channel error is uniform distributed in each slot, the
i , can be estimated by
PER for the slots between U si −1 and U si , named PER
] i
1
PER ≈ i , (1)
N
i ≈ 1 r ,
PER (1)
N ri
Finally, the exponential smoothing method is applied to forecast the PER in the following slots,
Finally,
which is, the exponential smoothing method is applied to forecast the PER in the following slots,
which is, PER = α × PER
] ]i + (1 − α) × PER
^ old , (2)
 i + 1 − α × PER
where ]PER is the estimated PER inPER α × PER
the =following ( and
slots ) PER
^ oldold, is the previous estimated PER.
(2)
In addition, the coefficient α is used to revise PER.
]
 is the estimated PER in the following slots and PER
where PER  is the previous estimated PER.
old

In addition, the coefficient α is used to revise PER.


Appl. Sci. 2019, 9, x FOR PEER REVIEW 7 of 15
Appl. Sci. 2019, 9, 321 7 of 14
Appl. Sci. 2019, 9, x FOR PEER REVIEW 7 of 15
Identification process
Identification process
... R U i-1
s
R I R ... Uc I Uc Uis Uc ...
... R U i-1
s
R I R ... Uc I Uc Uis Uc ...

Arrange I: I ... I
Arrange I: I ... I
C: Uc ... Uc
C: Uc ... Uc
R: R ... R Uiis i ≈ 1
PER
N ri
R: R ... R Us i ≈ 1
PER
N ri

Unreadable slot Unreadable slot due to


R Readable slot I Idle slot Uc
due to collision
Unreadable slot
Uis channel error
Unreadable slotatdue
i - th
to times
R Readable slot I Idle slot Uc
due to collision Uis channel error at i - th times

Figure 7. An example of PER (Packet Error Rate) between Ui −si 1−1 and Ui si .
Figure 7.
7. An example
exampleof
ofPER
PER(Packet
(PacketError
ErrorRate) betweenUU
between i −1 andUU i..
Figure Rate) s s and ss

3.2.
3.2. The
TheCAQT CAQTAlgorithm
Algorithm
3.2. The CAQT Algorithm
For
For thethe conventional
conventional tree-based tree-based collision
collision resolution
resolution protocols,
protocols, whenwhen aa readerreader encounters
encounters an an
For the conventional tree-based collision resolution protocols, when a reader encounters an
unreadable
unreadable slot,
slot, this
this reader
reader would
would regard
regard collision
collision occurs
occurs in in
this this
slot
unreadable slot, this reader would regard collision occurs in this slot and then split the tags into slot
and and
then then
split split
the tagsthe
intotags into
several
several
groups
several groups
orderintoin
in groups order
resolve
order totoresolve
the the
thecollision.
collision.
resolve However,
collision. However, this
this strategy
However, strategy causesinferior
causes inferior
this strategy causes inferiorperformance
performance performance
because
because
thebecause thethe
unreadable unreadable
slot may slot
unreadable slotmay
result from
may result from
from the
the channel
result the channel
error. To beerror.
channel moreTo
error. To be more
specific,
be morewhen specific,
therewhen
specific, when
is only there
oneistag
there is
only one
transmitting tag transmitting
in one slot andin one slot
encountering and encountering
channel error,channel
the error,
reader
only one tag transmitting in one slot and encountering channel error, the reader would treat this slot the
would reader
treat would
this slot treat
as a this slot
collision
as aascollision
slot and attempt
a collision slotslotand
to use
and attempt
more slots
attempt totouse to more
use moreslots
resolve thisto
slots resolve
resolve this
tocollision. collision.Nevertheless,
Nevertheless,
this collision. Nevertheless,
only one slot only
onlywill one
onebeslot slot
used,
will
and be used,
remaining
will be used, and remaining
slots
and slots
will be wasted.
remaining slotswill
willbebewasted.
wasted.
This
ThisThisstudy
study
study therefore
thereforeprovides
therefore providesaaaCAQT
provides CAQT to
CAQT to overcome
overcome aboveabove mentioned
mentionedissue. issue.WhenWhen
When a areader
a reader
reader
encounters
encounters
encounters an
ananunreadable
unreadable
unreadable slot,
slot,CAQT
slot, CAQTwill
CAQT willstatistically
will statistically judge
statistically judge whether
whetheritititisis
judge whether simply
issimply
simplydue due
duetoto channel
channel
to channel error
errorerror
or or
or it
it isit caused
is is caused
caused byby
by collision.IfIfIfthis
collision.
collision. thisunreadable
this unreadableslot
unreadable slot is
slot is due
isdue
duetotochannel
channelerror,
channel error,CAQT
error, CAQTwill
CAQT will
will askask
askthe
the
thetagtagto to
tag to
retransmit
retransmit
retransmit itsits
its message
message
message ininthe
in thenext
the nextslot.
next slot.On
slot. Onthe
On theother
the other hand,
other hand, CAQT
CAQTwill
hand,CAQT willtreat
will treatthis
treat thisunreadable
this unreadable
unreadable slot
slotasas
slot a aa
as
collision
collision
collision and
and and split
split
split the
thethe collidedtags
collided
collided tagsinto
tags intoseveral
into severalgroup
several group to
group to resolve
resolve thethe collision.
collision.
Figure
Figure
Figure 88 shows 8 shows
shows the the flowchart
the flowchart
flowchart of of CAQT.
of CAQT.
CAQT. The The basic
The basic idea
basic idea of
idea of CAQT
CAQTisis
of CAQT isthat,
that,for
that, forexample,
for example,
example, when
when
when the the
the
reader
reader
reader detect detect
detectaaslot a slot of
slotofofwhich which
whichthe the status
thestatus is unreadable,
statusisisunreadable,
unreadable,the the reader
reader
the reader would
would
would calculate
calculate EE
calculate rtx
rtx and
Ertxand E to
andEEsplspl to
spl to
determine
determine whether
whether to to
askask thethe tag
tag for
for retransmission
retransmission
determine whether to ask the tag for retransmission or to split the collided tags. or to split
split the
the collided
collided tags.
tags.

Figure 8. Flowchart of CAQT (Channel-quality Aware Query Tree algorithm).


Figure
Figure8.8.Flowchart
Flowchartof
ofCAQT
CAQT(Channel-quality
(Channel-qualityAware
AwareQuery
Query Tree
Tree algorithm).
If E spl is lower than Ertx . When the reader detects an unreadable slot, it then statistically
IfIf EEspl
calculates spl
isthe
lower
is than Ertx
efficiency.
lower than In .EWhen
this the
case, reader
the detects an by
slots consumed unreadable slot,procedure
the splitting it then statistically calculates
(3 slots) are
rtx . When the reader detects an unreadable slot, it then statistically
more
the efficiency. In this case, the slots consumed by the splitting procedure (3 slots) are more than that
calculates the efficiency. In this case, the slots consumed by the splitting procedure (3 slots) are more
Appl. Sci. 2019, 9, 321 8 of 14

consumed by retransmission (1 slot). Therefore, the reader then asks the tag to retransmit its message
immediately. On the other hand, if Espl is higher than Ertx , the reader would treat this event as the
collision and then adopt the Query tree-based algorithm to split the tags.
Figure 9 demonstrates the pseudo code of CAQT. Line 3~5 in the Main function and Line 8~10 in
the query function as the same as the conventional query tree based algorithm for the initial query.
Once an unreadable slot is detected in Line 7, CAQT has to estimate the number of tags (m) e which
transmit their message in this slot. To assume m e is the margin between the current estimated number of
tags within the reader radio coverage ( N ] curr ) and the previously estimated one ( N
g pre ) and is therefore
the reason resulting in this collision, that is:

e = N
m curr − N (3)
]
g pre ,

The number of the tags within the reader radio coverage ( N)


e can be estimated by

e= Ns
N (4)
Pr(q)

where Ns is the number of identified tags and Pr(q) is the probability to identify the Ns tags through
the query string q. Since the procedure to resolve the collided tags is based on Query Tree algorithm,
and thus the Pr(q) can be estimated by

length(q)
!
qi 1
Pr(q) = ∑ 2i
+
2length(q)
(5)
i =1

where qi is the i-th character of the query string q and length(q) is the length of the query string q [32].
It should be noted that the query string q is a binary string, which is q = q1 q2 ...q j ...qk where q j ∈ {0, 1}.
Then the reader has to compare the efficiency
 between
 asking
 the tags to retransmit and splitting
the collided tags, which are denoted by Ertx m, PER and Espl m,
e ] e ]PER , respectively. The efficiency
means the expected number of tags can be transmit in one slot. If the efficiency of retransmission
is higher than that of splitting, as shown in Line 13–19, the reader will ask the tag to retransmit
immediately. Otherwise, as shown in Line 20–29, the reader will adopt the query tree algorithm to
split the tag for collision resolution.  
Regarding the efficiency of retransmission, Ertx m, PER is calculated by:
e ]


!
  m

e
e =
PER, m
Ertx ] 1/( ∑ k × (1 − Prtx ) × (Prtx ) k −1
) (6)
r =1 k =1

where Prtx is the probability of successful retransmission in current slot and k is the slots used in the
k-th retransmission. Therefore, k × (1 − Prtx ) × (Prtx )k−1 is the expected used slot given that the tag is

successfully identified in k-th retransmission, and ∑ k × (1 − Prtx ) × (Prtx )k−1 is the expected number
k =1
of slots to successfully retransmit a tag. Furthermore, Prtx is the probability that has r tags successfully
transmit in current slot and remaining (r − 1) tags suffer channel error, which is deduced by:
!
r   r −1
Prtx = × 1−]
PER × ]
PER (7)
1

It should be noted that, if the reader still detects the unreadable slot after asking the tag to transmit,
the reader will regard the unreadable slot is more likely due to collision rather than channel error.
Then the reader will split the tag follows the procedure of the query tree-based algorithm to resolve
the collision, as shown in Line 16–19.
Appl. Sci. 2019, 9, 321 9 of 14

Appl. Sci. 2019, 9, x FOR PEER REVIEW   9 of 15


The efficiency of splitting the tags by query tree-based algorithm, Espl m, PER , is the expected
e ]
slots to resolve
The the m
e collided
efficiency tags and
of splitting is calculated
the tags by:
by query tree-based  , PER
algorithm, E spl m (
 , is the expected )
 collided tags
slots to resolve the m  and is calculated by:
 me
PER, m
Espl ] e =  , (8)
me
 ( S
 PER,
]
E spl PER, m = m
) S ( PER
,
, m) (8)
 
where S ] e( PER
PER,Sm   ) total
is,the
m number of slots which use to recognize m etags and can be recursively
where is the total number of slots which use to recognize m tags and can be recursively
estimated by: by:
estimated

1  = 1, m

 1 ,m e=1
 

S( )= m]
 
m 
!
 −
e =
PER, m
S ] ePER
m e, m me  jj m j m − j (9)
× , j ) ) ×  m× ×  m1e1  ×  1 1
m (9)
j))( PER
  
  , m
e
 ∑ ∑ (1 +S
 ( PER, (1+S
j  j m
× 1 −1 −m
   m  e
,m >e1> 1
i =1 j =0  i =1 j = 0


  1j  j  m− j
e  m
!
m 1 m e −j
where where ×j  ×m1e m 
× × 11 −
  m − 1
m
the
theprobability
probabilityof of
j tags transmits
j tags transmitsin i-th slot.slot.
in i-th It should be noted
It should that
be noted
j    e
that thethe number
number ofofslots
slotsapplied
appliedto to split the
thetags
tagsshould
shouldbebe equal
equalto to
thethe
number
number of estimated
of estimatedcollided tags
collided
ideally [33,34]. Therefore,
tags ideally [33,34]. Therefore, there there are mm slots applied in current tag-splitting
e slots applied in current tag-splitting procedure. procedure.
In addition,
In addition, as shownas shown
in Linein Line
23–24 23–24 of Figure
of Figure 8, when
8, when only
only one
one slotisisreadable
slot readable andand remaining
remaining
slots
slots are idle, arethis
idle,means
this means the previous
the previous unreadable
unreadable slotslot is due
is due toto channelerror
channel errorrather
rather than
than collision.
collision.
Therefore, the  should be updated by the procedure described in Section 3.1.
PER
Therefore, the PER should be updated by the procedure described in Section 3.1.
]
However, However,
it shouldit should
be notedbe notedthat that the time
the time complexity
complexity of of CAQTininthe
CAQT theworst
worst case
case scenario
scenario isis
n × ( k + 2 − ln n) [35] if all unreadable slots are due to collision.
n × (k + 2 − ln n) [35] if all unreadable slots are due to collision.

 = PER
m  = 0;


m
( )
 , m > E PER
E rtx PER spl (
, m )


m


PER

Figure 9. Pseudo
Figure codes
9. Pseudo of CAQT.
codes of CAQT.

4. Simulation Results
4. Simulation Results
Simulations were conducted to compare the performance of CAQT with the query-based (QT)
algorithm [21], the typical aloha-based algorithm called dynamic frame-slotted Aloha (DFSA) [14,18],
Appl. Sci. 2019, 9, x FOR PEER REVIEW 10 of 15
Appl. Sci. 2019, 9, 321 10 of 14
Simulations were conducted to compare the performance of CAQT with the query-based (QT)
algorithm [21], the typical aloha-based algorithm called dynamic frame-slotted Aloha (DFSA) [14,18],
and ERE-ABS [6] in terms of number of slots and number of idle slots under varying number of tags
and ERE-ABS [6] in terms of number of slots and number of idle slots under varying number of tags
and PERs. The number of slots means the total number of slots to identify all tags, and the number
and PERs. The number of slots means the total number of slots to identify all tags, and the number
of idle slots is the total number of idle slots during the tag identification procedure. The estimated
of idle slots is the total number of idle slots during the tag identification procedure. The estimated
number of tags during the progress of tag identification was also investigated to ensure DFSA can
number of tags during the progress of tag identification was also investigated to ensure DFSA can
adjust the estimated number of tags under error-prone channel.
adjust the estimated number of tags under error-prone channel.
The simulation environment setting was as the same as that in [6] for fair comparison. That is, for
The simulation environment setting was as the same as that in [6] for fair comparison. That is,
the DFSA algorithm, the minimum frame size was set to the minimum frame size in order to estimate
for the DFSA algorithm, the minimum frame size was set to the minimum frame size in order to
n through the tag estimation algorithm; regarding the ERE-ABS, Lest was set to 128, the threshold
estimate n through the tag estimation algorithm; regarding the ERE-ABS, Lest was set to 128, the
for probability of idle slots Pidle_th = 0.2, and the factor f d = 4 used to reduce the number of tags;
threshold for probability of idle slots Pidle _ th = 0.2 , and the factor f d = 4 used to reduce the number
for CAQT, the α was set to 0.75 to estimate channel condition.
of tags; for CAQT, the α was set to 0.75
As shown in Figure 10, the effect of various to estimate
PER channel
ranging condition.
between 0 and 0.5 was explored when
As shown in Figure 10, the effect of various
number of tags is 500. Figure 10a demonstrates that CAQT PER ranging
usedbetween
the fewest 0 and
slots0.5 was explored
to identify when
all tags, and
number10b
Figure of also
tags presents
is 500. Figure 10a demonstrates
that CAQT had the fewest thatidle
CAQTslotsused thethe
during fewest slots to identify
tag identification all tags,
procedure.
and FigureCAQT
Therefore, 10b also presents that
outperformed QT, CAQT
DFSA, had the fewest
and ERE-ABS idle all
under slots
PER during
cases. the
Thistag
was identification
because QT
procedure. Therefore, CAQT outperformed QT, DFSA, and ERE-ABS under
and DFSA could not distinguish the unreadable slot was due to collision or channel error, meaningall PER cases. This was
because
that QT and
QT and DFSA DFSA could notoverestimated
inescapably distinguish thethe unreadable
number of slot waswithin
tags due tothe
collision or channel
coverage error,
of the reader.
meaning that QT and DFSA inescapably overestimated the number of tags within
Therefore, the overestimated number of tags caused that QT used too many slots to split the tags and the coverage of the
reader. in
results Therefore, the overestimated
lots of unnecessary number
idle slots of tags caused
for resolving that QT used
the unidentified tooOn
tags. many
the slots
othertohand,
split the
the
tags and results in lots of unnecessary idle slots for resolving the unidentified tags.
overestimated number of tags made DFSA difficult to accurately determine the optimal initial frame On the other hand,
the overestimated
size number
and therefore suffer manyof tags made DFSA difficult to accurately determine the optimal initial
idle slots.
frame size and therefore suffer many idle slots.

(a) Number of slots

(b) Number of idle slots

Figure 10. The effect of Packet Error Rate (PER).

With
With regards
regardsto toERE-ABS,
ERE-ABS,itsitsinferior
inferiorperformance
performance was due
was to to
due that ERE-BAS
that ERE-BASmerely estimated
merely the
estimated
PER before
the PER the tag
before theresolution procedure.
tag resolution However,
procedure. the channel
However, status changed
the channel status rapidly,
changedthe estimated
rapidly, the
PER mightPER
estimated not accurately
might not reflect the current
accurately reflect channel condition
the current channel since ERE-ABS
condition didERE-ABS
since not dynamically
did not
adjust the PER
dynamically during
adjust thethe
PERcollision
during resolving procedure.
the collision resolvingThis resultedThis
procedure. in the numberinofthe
resulted thenumber
idle slots
of
still being
the idle large.
slots still being large.
Appl. Sci. 2019, 9, 321 11 of 14
Appl. Sci. 2019, 9, x FOR PEER REVIEW 11 of 15

CAQT owned the superior performance compared with other methods, and the higher PER was,
CAQT owned the superior performance compared with other methods, and the higher PER was,
the larger improvement CAQT had. As shown in Figure 10a, CAQT only used 69.0%, 57.8%, and 87.2%
the larger improvement CAQT had. As shown in Figure 10a, CAQT only used 69.0%, 57.8%, and
slots consumed by QT, DFSA, and ERE-ABS, respectively, when the PER is 0.5. The two reasons were
87.2% slots consumed by QT, DFSA, and ERE-ABS, respectively, when the PER is 0.5. The two reasons
were it estimated PER in each slot including the collision resolution process in order to improve the
(1)
(1) itaccuracy
estimated of the
PERtagin estimation in the rapidly
each slot including changing
the collision channel quality
resolution processenvironment, and
in order to improve the
(2) accuracy
when a reader
of the received an unreadable
tag estimation message
in the rapidly from channel
changing tags, it then
qualitystatistically
environment, determined
and the
most efficient
(2) when a readerstrategy,
receivedwhich was to askmessage
an unreadable the tag tofromretransmit
tags, ititthen
or tostatistically
split the collide tags. the
determined
most efficient strategy, which was to ask the tag to retransmit it or to split the collide tags.
Therefore, the number of unnecessary idle slots was reduced, as shown in Figure 10b, and the
Therefore,
performance wasthe number of unnecessary idle slots was reduced, as shown in Figure 10b, and the
improved.
performance
It shouldwas be improved.
noted that the higher PER was, the more slots were interfered by poor channel
It should
condition, meaningbe noted that the
that more slotshigher PER was,tothe
were required moreall
identify slots
tagswere
by allinterfered
algorithm. by poor channel
condition, meaning that more slots were required to identify all tags by all
The CAQT also had better performance comparing with others when PER was equal to 0. This is algorithm.
The QT
because, CAQT andalso had better
ERE-ABS simply performance comparing
divided collided withtwo
tags into others whenwhile
groups PER detecting
was equalato 0. This
collision
is because, QT and ERE-ABS simply divided collided tags into two groups
event, resulting in that more slots were used to resolve the collide tags and poor performance waswhile detecting a collision
event, resulting
caused. in that
On the other moreCAQT
hand, slots were used to the
can estimate resolve
number the collide tagstags
of collided andof poor performance
a collision was
event and
caused. On the other hand, CAQT can estimate the number of collided tags
then separate tags into groups of which the number equals the estimated collided tags. This strategy of a collision event and
then separate tags into groups of which the number equals the estimated collided
can therefore minimize the slots used for resolving the collided tags and provide a better performance tags. This strategy
can therefore
than minimize the slots used for resolving the collided tags and provide a better performance
other algorithms.
than Figure
other algorithms.
11 demonstrates the effect of various numbers of tags ranging between 500 and 4000 when
Figure
PER was set11to demonstrates
0.3. Figure 11athe effectthat
shows of various
CAQT used numbers of tagsslots
the fewest ranging between
to identify 500 and
all tags and 4000
also
when PER was set to 0.3. Figure 11a shows that CAQT used the fewest slots
had the fewest idle slots show in Figure 11b during tag identification procedure. Thus, the CAQT to identify all tags and
also had the fewest idle slots show in Figure 11b during tag identification
had superior performance compared with QT, DFSA, and ERE-ABS. The reasons were as the same procedure. Thus, the CAQT
had
as superiorin
discussed performance
Figure 10. In compared
addition,with QT, DFSA,
as shown in Figureand11a,
ERE-ABS.
the more Thetagsreasons
existed were as the
in the same
reader’s
as discussed in Figure 10. In addition, as shown in Figure 11a,
coverage, the more slots were required to identify all tags by all algorithms. the more tags existed in the reader’s
coverage, the more slots were required to identify all tags by all algorithms.

(a) Number of slots

(b) Number of idle slots

tags.
Figure 11. The effect of number of tags.

Figure 12a demonstrates


demonstrates the estimated PER during the tag identification
identification progress while the
number of tags was set to 500 and
and PER
PER was
was set
set to
to 0.3.
0.3. Since ERE-ABS only calculated the PER before
the tag resolution process, the estimate
estimate PER would keep a value
value during
during the whole
whole tag
tag identification
identification
procedure. Therefore, the max and min estimated PER during the 100 times identification process is
used to compare the deviation. However, the CAQT could dynamically adjust PER according to the
Appl. Sci. 2019, 9, 321 12 of 14

Appl. Sci. 2019,Therefore,


procedure. 9, x FOR PEER
theREVIEW
max and min estimated PER during the 100 times identification process 12 of 15
is
used to compare the deviation. However, the CAQT could dynamically adjust PER according to the
current channel
current channel condition,
condition, and
and then
then thus
thus the
the estimated
estimated PER
PER would
would slightly
slightly oscillate
oscillate and
and approached
approached
the real
the real PER,
PER, which
which was
was 0.3.
0.3. Figure 12b also
Figure 12b also presents that the
presents that the number
number of
of idle
idle slots
slots of
of CAQT
CAQT was
was fewer
fewer
than that of ERE-ABS during the whole tag identification procedure because CAQT
than that of ERE-ABS during the whole tag identification procedure because CAQT could accurately could accurately
estimate the
estimate the PER
PER while
while ERE-ABS
ERE-ABS could
could not.
not.

(a) Estimated PER

(b) Number of idle slots

Figure 12. Estimated number of tags during the tag identification progress.
progress.

5. Conclusions and
5. Conclusions and Future
Future Work
Work
This
This study
studyproposes
proposesthetheCAQT
CAQT algorithm to cope
algorithm with the
to cope withoverestimated numbernumber
the overestimated of tags problem
of tags
in the error-prone channel environment. The CAQT not only estimates
problem in the error-prone channel environment. The CAQT not only estimates current current channel condition
channelin
order to estimate more accurate number of tags in the rapidly changing channel quality
condition in order to estimate more accurate number of tags in the rapidly changing channel quality environment,
but it also statistically
environment, determines
but it also thedetermines
statistically most efficient
thestrategy, whichstrategy,
most efficient is to ask which
the tagistotoretransmit it or
ask the tag to
to split the collide tags, in order to minimize the number of idle slots. The simulation results
retransmit it or to split the collide tags, in order to minimize the number of idle slots. The simulation show that
CAQT
results significantly
show that CAQT outperforms the existing
significantly algorithms,
outperforms which algorithms,
the existing are ERE-ABS, QT, and
which DFSA. CAQT
are ERE-ABS, QT,
only used 69.0%,
and DFSA. CAQT 57.8%,
only and
used87.2%
69.0%,slots consumed
57.8%, by QT,
and 87.2% DFSA,
slots and ERE-ABS,
consumed by QT, respectively, when the
DFSA, and ERE-ABS,
respectively, when the PER was 0.5. Therefore, the CAQT provides realistic description and a useful
guideline of how things or people can be identified in varying channel quality of IoT environment,
which contributes to the development of consumer electronics industry and literature. The simulation
Appl. Sci. 2019, 9, 321 13 of 14

PER was 0.5. Therefore, the CAQT provides realistic description and a useful guideline of how things
or people can be identified in varying channel quality of IoT environment, which contributes to the
development of consumer electronics industry and literature. The simulation results also demonstrate
that CAQT provides enhanced performance when the channel quality varies, especially in outdoor
environments, for example, ticket checking for railway or subway system. We will extend our work to
identify lots of tags in a short period of time duration in RFID systems [36].

Author Contributions: Conceptualization, Y.-H.C.; Data curation, L.-K.C.; Formal analysis, Y.-H.C.; Investigation,
Y.-H.C.; Methodology, Y.-H.C.; Project administration, Y.-H.C.; Software, Y.-H.C. and R.-Z.H.; Supervision, Y.-H.C.;
Writing—original draft, Y.-H.C. and Y.-R.S.; Writing—review and editing, Y.-H.C. and P.-T.J.
Acknowledgments: This work is supported by the Ministry of Science and Technology (MOST) (MOST
106-2218-E-227-001-MY2).
Conflicts of Interest: The authors declare no conflicts of interest.

References
1. ISO. Information technology—Radio Frequency Identification for Item Management—Part 6: Parameters for Air
Interface Communications at 860 MHz to 960 MHz, Amendment 1: Extension with Type C and Update of Types A
and B. ISO/IEC 18000-6:2004/Amd. 1:(E); ISO: Geneva, Swtitzerland, 2006.
2. EPCglobal IncTM . EPCTM Radio-Frequency Identity Protocols Class 1 Generation-2 UHF RFID Protocol for
Communications at 860-960MHz Version 1.2.0; EPCglobal Inc.: Brussles, Belgium, 2008.
3. Azambuja, M.; Marcon, C.A.M.; Hessel, F.P. Survey of standardized ISO 18000-6 RFID anti-collision protocols.
In Proceedings of the Second International Conference on Sensor Technologies and Applications, Cap Esterel,
France, 25–31 August 2008; pp. 468–473.
4. Cha, J.R.; Kim, J.H. Dynamic framed slotted ALOHA algorithms using fast tag estimation method for RFID
system. In Proceedings of the IEEE Consumer Communications and Networking Conference, Las Vegas, NV,
USA, 8–10 January 2006; pp. 768–772.
5. Vinod, N.; Lixin, G. Energy-aware tag anti-collision protocols for RFID systems. In Proceedings of the
IEEE International Conference on Pervasive Computing and Communications, White Plains, NY, USA,
19–23 March 2007; pp. 33–36.
6. Park, J.; Lee, T.J. Error resilient estimation and adaptive binary selection for fast and reliable identification of
RFID tags in error-prone channel. IEEE Trans. Mob. Comput. 2012, 11, 959–969. [CrossRef]
7. Shakiba, M.; Singh, M.J.; Islam, M.T.; Sundararajan, E. Applying cubic spline method to estimate the number
of RFID tags in error-prone communication channels. Wirel. Pers. Commun. 2015, 83, 361–382. [CrossRef]
8. Zhang, L.; Gandino, F.; Ferrero, R.; Rebaudengo, M. Evaluation of the additive interference model for RFID
reader collision problem. In Proceedings of the 2012 Fourth International EURASIP Workshop on RFID
Technology, Torino, Italy, 27–28 September 2012.
9. Zhang, L.; Ferrero, R.; Gandino, F.; Rebaudengo, M. Evaluation of single and additive interference models
for RFID collisions. Math. Comput. Model. 2013, 58, 1236–1248. [CrossRef]
10. Vogt, H. Efficient object identification with passive RFID tags. In Proceedings of the First International
Conference on Pervasive Computing, Zürich, Switzerland, 26–28 August 2002; LNCS 2414, pp. 98–113.
11. Lei, Z.; Yum, T.S.P. The optimal reading strategy for EPC Gen-2 RFID anti-collision systems. IEEE Trans.
Commun. 2010, 58, 2725–2733.
12. Maguire, Y.; Pappu, R. An optimal Q-Algorithm for the ISO 18000-6C RFID protocol. IEEE Trans. Autom.
Sci. Eng. 2009, 6, 16–24. [CrossRef]
13. Lei, Z.; Yum, T.S.P. Optimal framed aloha based anti-collision algorithms for RFID systems. IEEE Trans. Commun.
2010, 58, 3583–3592.
14. Eom, J.B.; Lee, T.J.; Rietman, R.; Yener, A. An efficient framed-slotted aloha algorithm with pilot frame and
binary selection for anti-collision of RFID tags. IEEE Commun. Lett. 2008, 12, 861–863. [CrossRef]
15. Chen, W.T. An accurate tag estimate method for improving the performance of an RFID anti-collision
algorithm based on dynamic frame length ALOHA. IEEE Trans. Autom. Sci. Eng. 2009, 6, 9–15. [CrossRef]
16. Li, B.; Wang, J. Efficient anti-collision algorithm utilizing the capture effect for ISO 18000-6C RFID protocol.
IEEE Commun. Lett. 2011, 15, 352–354. [CrossRef]
Appl. Sci. 2019, 9, 321 14 of 14

17. Park, J.; Chung, M.Y.; Lee, T.J. Identification of RFID tags in Framed-Slotted Aloha with robust estimation
and binary selection. IEEE Commun. Lett. 2007, 11, 452–454. [CrossRef]
18. Lin, C.F.; Lin, F.Y.S. Efficient estimation and collision-group-based anti-collision algorithms for dynamic
frame-slotted aloha in RFID networks. IEEE Trans. Autom. Sci. Eng. 2010, 7, 840–848. [CrossRef]
19. Yeh, M.K.; Jiang, J.R.; Huang, S.T. Parallel response query tree splitting for RFID tag anti-collision.
In Proceedings of the 40th International Conference on Parallel Processing Workshops, Taipei City, Taiwan,
13–16 September 2011; pp. 6–15.
20. Myung, J.; Lee, W.; Shih, T.K. An adaptive memoryless protocol for RFID tag collision arbitration.
IEEE Trans. Multimed. 2006, 8, 1096–1101. [CrossRef]
21. Choi, J.H.; Lee, D.; Lee, H. Query tree-based reservation for efficient RFID tag anti-collision. IEEE Commun. Lett.
2007, 11, 85–87. [CrossRef]
22. Gou, H.; Jeong, H.C.; Yoo, Y. A bit collision detection based query tree protocol for anti-collision in RFID
system. In Proceedings of the 6th IEEE International Conference on Wireless and Mobile Computing,
Networking and Communications, Niagara Falls, ON, Canada, 11–12 October 2010; pp. 421–428.
23. Zein-Elabdeen, W.; Shaaban, E. An enhanced binary tree anti-collision technique for dynamically added
tags in RFID systems. In Proceedings of the 2nd International Conference on Computer Engineering and
Technology, Chengdu, China, 16–18 April 2010; pp. 349–353.
24. Lai, Y.C.; Lin, C.C. Two blocking algorithms on adaptive binary splitting: Single and pair resolutions for
RFID tag identification. IEEE/ACM Trans. Netw. 2009, 17, 962–975.
25. Lai, Y.C.; Lin, C.C. Two couple-resolution blocking protocols on adaptive query splitting for RFID tag
identification. IEEE Trans. Mob. Comp. 2011, 11, 1450–1463. [CrossRef]
26. Namboodiri, V.; Gao, L. Energy-aware tag anticollision protocols for RFID systems. IEEE Trans. Mob. Comput.
2010, 9, 44–59. [CrossRef]
27. Lai, Y.C.; Hsiao, L.Y. General binary tree protocol for coping with the capture effect in RFID tag identification.
IEEE Commun. Lett. 2010, 14, 208–210. [CrossRef]
28. Yang, C.N.; He, J.Y. An effective 16-bit random number aided query tree algorithm for RFID tag anti-collision.
IEEE Commun. Lett. 2011, 15, 539–541. [CrossRef]
29. Annur, R.; Jig, T.L.; Nakpeerayuth, S.; Wuttitsittikulkij, L. Tree-based anti-collision algorithm with single error
bit tracking for RFID systems. In Proceedings of the 2017 International Seminar on Intelligent Technology
and Its Applications (ISITIA), Surabaya, Indonesia, 28–29 August 2017; pp. 25–28.
30. Hou, Y.; Zheng, Y. PHY-tree: Physical layer tree-based RFID identification. IEEE/ACM Trans. Netw. 2018, 26,
711–723. [CrossRef]
31. Sasiwat, Y. Bi-slotted fast query tree-based anti-collision algorithm for large scale of RFID systems.
In Proceedings of the 10th International Conference on Knowledge and Smart Technology (KST), Chiang Mai,
Thailand, 31 January–3 February 2018; pp. 221–224.
32. Shiha, D.H.; Suna, P.L.; Yenb, D.C.; Huangc, S.M. Taxonomy and survey of RFID anti-collision protocols.
Comput. Commun. 2006, 29, 2150–2166. [CrossRef]
33. Yeh, M.K.; Jiang, J.R. Adaptive k-way splitting and pre-signaling for RFID tag anti-collision. In Proceedings
of the 33rd Annual Conference of the IEEE Industrial Electronics Society, Taipei, Taiwan, 5–8 November
2007; pp. 40–45.
34. Yeh, M.K.; Jiang, J.R.; Huang, S.T. Adaptive splitting and pre-signaling for RFID tag anti-collision.
Comput. Commun. 2009, 32, 862–1870. [CrossRef]
35. Su, X.H.; Liu, B.L. An investigation on tree-based tags anti-collision algorithms in RFID. In Proceedings of
the International Conference on Computer Network, Electronic and Automation (ICCNEA), Xi’an, China,
23–25 September 2017; pp. 5–11.
36. Chen, W.-T. A Fast Anticollision algorithm with early adjustment of frame length for the EPCglobal UHF
Class-1 Generation-2 RFID Standard. Proc. Eng. Technol. Innov. 2016, 3, 16–18. Available online: http:
//ojs.imeti.org/index.php/PETI/article/view/234 (accessed on 18 December 2018).

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).

You might also like