This document describes an RFID anti-collision algorithm based on a bi-directional binary exponential index. The algorithm uses stochastic methods to resolve tag collisions. It defines intervals, request commands, and tag states. Tags adjust their response probability based on reader commands, forming a Markov chain model. Mathematical analysis and simulations show the algorithm has high efficiency, stability, and self-adaptability even as tag numbers and entrance rates vary dynamically. The algorithm outperforms ALOHA methods and is more impartial than tree-searching algorithms.
3. 1.Introduction
Problem:tag collision
Stochastic collision algorithm : ALOHA ; Slotted-
ALOHA resolutions
deterministic collision algorithm : tree searching
algorithm
Our proposed algorithm bi-directional binary exponential index that
comes from the binary exponential backoff algorithm of the
computer network IEEE802.3 protocol is belongs to Stochastic
collision algorithm.
4. 2.Algorithm Principle
2.1 Algorithm Definitions
(1)Interval :The period from the reader sending out request order to
tag answering information is called an interval.
request answer
trequest t answer
t interval
Fi gure 1 the composi ti on of i nterval
(2)Request order: Request_under_success, Request_under_failure,
Request_under_idle
(3)Shield command――Shield (EPC)
5. 2.1 Algorithm Definitions
(4)tag’s state:Active state and shielded state .
(5) The probability of the tag’s answer is a series of discrete values.
In this paper:
1
[ , , , , , , , , , , , ]
2 4 8 16 32 64 128 256 2k
q q q q q q q q q
p q −
∈ L L
q presents a constant.
The adjust principal :
While the reader sends Request_under_idle command, the
probability of tag doubles;
While the reader sends Request_under_success command, the
probability of tag doesn’t change;
While the reader sends Request_under_failure command, the
probability of tag is cut half.
6. 2.2Algorithm Description
Firstly, the reader sends request command at each
interval to ask the tags to answer, and decides the next
request command according to the tags answering; at the
same time, if the reader successfully identifies a tag, it
will sent a shield command to shield the tag.
Secondly, the tags monitor the reader’s request command
and adjust the answering probability, then answer at the
probability in the answering period.
While the tags continuously enter into the reader’s
district, the radio frequency identifying process of this
algorithm is showed in the figure 2:
8. 3 Mathematical Analysis
From the model of the algorithm it can be seen that the
state of the tag is stochastic, and the state from this interval
to next interval will stochastically change according to
some probability, and the state of next interval only lies in
the state of this interval and the transfer probability.
Therefore the model of this algorithm is a typical model of
Markov chain.
Additionally, the final aim of the tag is to be identified by
the reader, and once being identified it will keep silent. So,
this Markov chain is an absorbing chain.
9. 3 Mathematical Analysis
Converting the time into discrete intervals, for each m (m=0,1,2,…),
the state of the tag is expressed as the stochastic variable .mTR
ln mTR l=
lp
Obviously, the commonly process of the reader identifying the tags is
that there are tags in each state of , and the tags in this state
will answer at the probability .
ln
mTR
l lpmTR
l
is the number of the tags whose tag state variable is ; is the
probability of the tags whose tag state variable is .
mTR i= 1mTR j+ = 1( | )ij m mq Q TR j TR i+= = =From to the probability marks as
that is the transfer probability.
mTR
( ) ( )i ma m Q TR i= =
mTRAssume the has k discrete values ( =1,2,…,k), and marks that
, that is the state probability.
10. 3 Mathematical Analysis
1coll idle sucp p p= − −
The probability of the channel collision:
11
1
1 1,
( (1 ) (1 ) )l i
kk
n n
suc l l l i
l i i l
p n p p p
−−
−
= = ≠
= • • − • −∑ ∏
The probability of the channel successfully identifying
a tag:
(2)
1
1
(1 ) i
k
n
idle i
i
p p
−
=
= −∏
The probability of idle channel:
(1)
11. 3 Mathematical Analysis
in the situation that the channel successfully identified a tag,
the probability of this tag coming from the state is:
(3)
mTR l=
1
1
1,
( / ) 11
1
1 1,
(1 ) (1 )
( (1 ) (1 ) )
l i
m
l i
k
n n
l l l i
i i l
TR l succ kk
n n
l l l i
l i i l
n p p p
p
n p p p
−
−
= ≠
= −−
−
= = ≠
• • − • −
=
• • − • −
∏
∑ ∏
1 l k≤ <
( / ) ( / )( 1) (1 )
(1 0)
0 (1 0)
m ml suc TR l succ l suc TR l succ
l
l l
l
n p p n p p
l k and n
u n
l k and n
= =− • • + • • −
≤ < × × ≠
=
≤ < × ×
L
LLL =
the probability that tags whose state is are still in state
( ) in the next interval is :
(4)
mTR l=
12. 3 Mathematical Analysis
( 1 1)
( 1)
( 1 )
idle
ij i
coll
p i j and j k
q u i j and j k
p i j and j k
= + × × ≤ < −
= = × × ≤ < −
= − × × ≤ <
LL
LL
LL
1
2
2
According to the principal of the bi-directional binary exponential
index and the adjustable rules of the tags answering probability,
we can get that:
(6)
( / )1
1 0)
0 1 0)
msuc TR l succ
l
l l
l
p p
l k and n
v n
l k and n
=• •
≤ < × × ≠
=
≤ < × × =
LL
LLL
(
(
The probability that tags, whose state are , are in
state ( ) in the next interval is:
(5)
ln
mTR l=
k 1mTR k+ =
13. 3 Mathematical Analysis
Therefore, the state transfer matrix of the algorithm is:
(8)
1
1
( 1 1)
( 1)
0 ( | 2 , [1, 1])
0 ( 1)
( 1 1)
1 ( )
idle
i
ij
k coll
u p i and j
v j k and i k
i j and i j k
q
i k and j k
u p i k and j k
i k and k
−
+ = × × =
= × × ≤ ≤ −
− ≥ × × ∈ −
=
= × × ≤ ≤ −
+ = − × × = −
= × × =
LL
LLLL
LLLL
LLLL
L
LLLL
1
|
1
j
11 12 13 1 1 1
21 22 23 2 2 2
31 32 3
1
1 2
, 0 0
, , ,0
0 ,
, ,
k idle coll
k idle coll
idle
idle k coll
k k kk
q q q q u p p
q q q q p u p
q q p u
Q
p u p
q q q
−
+
=
+
LL LLL
LL LLLL
OLLLM OLLLLLLM
MLLLLOLLM LLLLOLLLLLLLM
MLLLLLOLM MLLLLO
LLLL
, , , ,,v
, , ,v
, ,
=
,
1
0 0, 0 01
kv −
LLLLLLLLL, ,,
Additionally:
(7)
14. 3 Mathematical Analysis
1
( 1) ( ) 1,2, ,
k
i j ji
j
a m a m q i k
=
= =∑ L+ ,
Therefore, if the original state has been presented, the state of
any interval m can be calculated by the expressions ( 8 )~
( 11 ) , and the intervals that the system need to identify all the
tags can be calculated, then we can know the efficiency of the
identification.
( 1) ( )a m a m Q+ = •
Then the basic equation ( 9 ) can be expressed as:
(11)
1 2( ) ( ( ), ( ), , ( ))ka m a m a m a m= L
The state probability vector (row vector) is used as the following:
(10)
The basic state probability equation of the model is:
(9)
15. 4.The Simulated Analysis of the Algorithmic Model
The difference of this algorithmic model to common Markov
chain model is that: of different states at different intervals will
dynamically change, it will result in that the value of transfer
matrix is different at different interval, therefore the analysis of
the efficiency can’t be deduced directly from the mathematical
way. So we used the experimental measure and the computer
simulation to analyze some typical applied example.
ln
In the following analysis of the model, it assumes that is
twelve, the result is the average value after the model run ten
thousand times.
k
16. 4.1tags entering dynamically by the linear function
in the rapid operative product line,the process of the tags
passing the reader can be abstracted as the linear function:
presents the discrete interval
s n t= •
t
Firstly, it assumes that the linear velocity of the tags entering is
0.1 、 0.15 、…、 0.95 、 1 、 2 、…、 10 in turn, the total
number of tags is 20, the original answer probability of tags is =
1/16 . Its identified probability , which is equal to the total
number of tags, comparing to the total number of consumed
intervals is showed in the figure 3:
4p
efficp
17. in the begin, the velocity of tag entering is low and the is
comparatively low;
efficp
This indicated that this algorithm has a strong self-adaptability.
efficpafter that the dropped little, and finally kept at 0.321. The
reason is that the probability of tags can diffuse dynamically
according to the congested situation of current signal channel;
consequently the whole capability of reader can stay in the
saturated state.
efficpwith the velocity of tag increasing, the was improved
gradually and reached the culmination 0.3273 while n is 0.4;
18. It can be seen from figure 4 that: along with the number of tag
increasing, the identifying efficiency of reader didn’t decrease
and stabilized at 0.322. This also indicated that this algorithm
was very stable.
Secondly, it assumes that the linear velocity of the tags
entering is 0.35, the total number of tags is 5 、 10 、…、 500 in
turn, the original answering probability of tags is , the identified
probability is showed in the figure 4:
19. 4.2 tags entering abruptly by impulse function
There will be the situation that a batch of tags enter abruptly,
that can be abstracted as impulse function:
m is the discrete interval
( )s n mδ= •
It assumes that the original answering probability of tags is
,the number of tags is 5 ~ 500, the successfully identifying
probability is showed in the figure 6:
4p
efficp
20. It can be seen From figure 6 that: while the tags enter abruptly,
the efficiency was the highest in the range of 36.2~41.3% when n
was lower than 15. Thereafter, the efficiency decreased slowly
while the number of tags increasing; but it decreased by a certain
value, the efficiency didn’t decrease with the number of tags
increasing, and finally stabilized at 0.322.
21. Assuming the number of tags is 20, the original answering
probability of tags is , the changes from 0.3 to 0.95, the
successful identifying probability is showed in the figure 7:
It can be seen from figure 7 that :while the is 0.45 ~ 0.75,
the efficiency was the highest and above 0.35, when the original
answering probability of tags was in the two side value, the
efficiency was a little lower; the fluctuating range didn’t exceed
1.43%.
1p
4p 1p
efficp
22. 5 Conclusion
From our analysis, the features of this algorithm
included:
(1) In the ideal static state, the efficiency of this
algorithm was lower than that of tree searching
algorithm, but was higher than that of dynamic
slotted- ALOHA algorithm.
(2) In the dynamic situation, the efficiency of this
algorithm was higher than that of dynamic slotted-
ALOHA algorithm, and extraordinarily higher than
that of tree searching algorithm.
23. 5 Conclusion
(3) The performance of this algorithm was very stable. While
tags entered with different original answering probability, the
efficiency of identification fluctuated little. When the number of
tags increased greatly, the efficiency of identification dropped
slowly in the beginning, but quickly attained to a stable value
and didn’t decrease again, unlike that of the ALOHA algorithm
drops sharply.
(4) This algorithm is impartial to all the tags. The case that
while adopting the binary exponential backoff algorithm in the
IEEE802.3 protocol the tag entering latter will be identified
firstly didn’t exist. Selecting the original answering probability
properly, it is useful to form the situation that the one entering
first is identified first. This is also superior to the all-equal
service of the ALOHA algorithm.