2.1. Numerical Model
In dynamic RFID systems, objects with transponders are identified in a specified finite time determined by inventory rounds. The process is based on the RWD’s queries and tags’ responses sent in accordance with the established communication protocol. Therefore, it was assumed that all objects move by a certain distance Δ
d during one inventory round. The rounds form sections of the interrogation zone, and results from the required identification time, the assumed size of IZ and the duration of one inventory round (
Figure 3a):
where:
Ti—identification time,
dIZ—dimension of IZ,
Tr—duration of inventory round, Δ
d—section of IZ that is determined by moving transponders in one inventory round. The sections are stationary—they do not move with transponders.
The first section of the interrogation zone is designated as
n1 and new transponders appear in it during the identification process. The last section is described by
nmax:
For convenience, the concept of the system state is introduced into further considerations. The system state is the number of unread transponders that are in the IZ. It is a function of time and may vary from round to round. The system state consists of the number of tags unread in individual sections. Thus, the section state can be determined for subsequent rounds.
During the identification process carried out in a single round, the RWD’s queries are answered by transponders located in the entire IZ. As a consequence, the system state has to be described in the spatial and time domain and following requirements have to be involved in the numerical model:
Transponders in the IZ are subjected to identification in a given inventory round;
The probability of tag recognition does not depend on its location in the IZ;
The number of unread transponders in a moving group decreases over time as a result of performed identifications;
The number of transponders read in a round and section is proportional to the number of previously unread tags in that section.
The system state varies between sections and rounds. In order to model the described problem, the approach proposed in [
22] is developed and a matrix notation is used to represent the system state. It is generally assumed that the columns of matrix set correspond to the successive inventory rounds, whereas the rows to the successive sections (
Figure 3b). The following matrices are defined to describe the system operation:
P with terms p(n,k), equals number of tags unread in section n and round k;
PISR with terms pisr(n,k), equals number of correct identifications in section n and round k;
PIR with terms pir(k), equals number of identifications in IZ in round k;
PS with terms ps(k), equals number of tags lost in round k, tags that have not yet been read.
When analyzing the system state, it is important to relate the section state in a given round with the section state in the previous round. In the discussed method, this relationship can be described as follow:
where
and
. The formula expresses the fact that the number of transponders that are not read in a given section at the beginning of a round is equal to their number in the previous section at the beginning of the previous round minus the number of transponders that occurred in the previous section and round.
As follows the made and justified assumptions, the total number of identifications that takes place in a round in the entire IZ is divided into individual sections in proportions depending on the size of these sections before identification. This number is expressed by the formula:
The number of correct identifications depends on the number of identifications in round
k in the entire IZ (
pir(
k)), and the ratio of the number of unread transponders in section
n and round
k and the number of unread transponders in the entire IZ at the beginning of this round (
Figure 3d).
The number of transponders lost in the round
k can be determined from the relationship:
The proposed model covers various cases of dynamic RFID identification systems. Situations for finite or infinite groups of transponders passing through the IZ can be considered in the calculations. Moreover, since the stream of objects entering the IZ may have both regular or random distribution, the rate of their entry per second is assumed as one of the main parameters. The transponders enter the IZ at the number of
pIDr (transponders/round) and it is recorded in successive columns of the first row of the matrix
P; the rows correspond to the sections of the IZ. The fragment of the algorithm is presented in
Figure 3c. Further, a method for estimating lost tags in a round is implemented in order to determine whether all transponders in the IZ are read. It should be noticed that the boundary of IZ does not always coincide with the boundary of the last section into which the area is divided. The situation where the last section expressed by
nmax + 1 is only partially located in the IZ is shown in
Figure 3e. The part A is in the IZ while the part B is outside it. The coefficient
α is introduced to determine what part of the last section is in the IZ. It is described by the relation:
Due to the fact that there may still be identifications in the part A of the section
nmax + 1, although the tags in the part B are lost, it can be written that the total number of unread transponders is equal:
Since total number of identifications in a given inventory round
k is equal
pir(
k), the number of lost transponders
ps(
k) can be expressed by the formula:
It means that the number of lost transponders in the round
k is equal to the sum of unread transponders in the parts A and B of section
nmax + 1 minus the number of recognized transponders during a given round in the part A. It is presented in the form of algorithm in
Figure 3f and is described as:
Another aspect of the dynamic identification is the persistence time
Tper of transponders. Under infinite persistence conditions, a tag is only read once—an exemplary distribution of unread transponders can be presented as in
Figure 3g. But, in real life, every tag is read multiple times during the identification session and the time in which it holds the recognition flag is finite—after this time, the tag is read again. Thus, in the case of a finite persistence time, the observed system state changes as shown in
Figure 3g. If the number of unread transponders in section
n and round
k is
p(
n,
k), then the number in the next section and round
k cannot be greater:
The persistence time is not directly present in the loss estimation algorithm. However, it is present by the fact that for some rounds and sections inequality (10) is not satisfied. The value of this time affects the parameter m for which this inequality is false, and further the right side of this inequality is the number of lost transponders in a given round.
Based on the presented dependencies, which are the basis of the proposed model, the block diagram of the algorithm for simulating the dynamic RFID system can be formulated as in
Figure 4.
Data from the transponders to the RWD are sent by means of modulation of the reflection coefficient of the backscattered carrier wave. The
BLF subcarrier frequency is used, and it can be set in the range of 40 kHz–640 kHz. One period of this subcarrier is therefore in the range of 25 µs–1.5625 µs, and it is denoted as
Tpri. The
BLF frequency is related to the
TRcal parameter in a way resulting from the relationship:
where the division ratio
DR can take two values given in
Table 1.
Free choice of the
DR parameter in the frequency range 95 kHz–465 kHz allows for partially flexible selection of the
TRcal time at a fixed
BLF frequency or vice versa. The
Tpri time is the basis for determining the duration of the
TbTR bits in the transponder-RWD transmission (this time is the same for bits 0 and 1) according to the dependence:
where for FM0 coding
M = 1, and for Miller coding
M = 2, 4 or 8. The
M parameter determines how many
BLF frequency periods fall on one bit of transmitted data. The most extensive response of the transponder to the Query reader command can be as shown in
Figure 5.
If the slot is the first slot in the inventory round, it is started with the
Query command preceded by a preamble. The
PreRT preamble contains information defining the transmission speed between the RWD and the transponder, while the
Query command contains, among others, information about the
TRext parameter defining the length of the
PreTR preamble (
Table 2) and may take the value 0 or 1. If a given slot is another slot in round, the transponder response is initiated by the
QueryRep command.
If a round needs to be modified due to empty slots or collisions, a slot can be started by the
QueryAdjust command. Both of these commands are preceded by
FS frame synchronization signals to maintain communication consistency. In response to one of the above three commands, the transponder replies with its
RN16 number preceded by a preamble. The
RN16 number is a unique 16-bit address of the transponder valid only during a single inventory round and generated at the time of receiving the
Query command. In case of correct receipt of the transponder address by the RWD, the
ACK confirmation of correct communication is followed, preceded by a frame synchronization signal, to which the transponder sends a preamble and then components of the electronic product code EPC. If the EPC code along with the PC auxiliary data and 16-bits CRC (Cyclic Redundancy Check) error detection code are correctly sent (128 bits in total), the reader issues one of the commands starting the next time slot. In the event of errors in the EPC code, the RWD sends the
NAK command, which informs that the given transponder has not been correctly recognized and cannot change its status to read, which results in its further participation in the inventory round. Then the RWD starts another slot. The structure of a frame verified experimentally is presented in
Figure 6.
According to the provisions of the standard, both FM0 and Miller coding end, the transponder transmission with End-of-Signaling symbol. Therefore, in reality these transmissions are longer (
Table 3).
On the basis of the given dependencies and parameters, it is possible to determine the lengths of complete time slots that occur when reading transponders. Each of the slot types can start with one of the three RWD commands and it can be a slot with correct identification, an empty slot, a slot with data collision, or a slot with “started” identification and unfinished due to transmission errors. Data structure in these slots is shown in
Figure 7.
The time intervals
T1–
T4 shown in this
Figure 7 are the predicted delay time intervals between reader/programmer queries and transponder responses. The delay time
T4 is the minimum time interval between successive rounds of the inventory. The time ranges
T1–
T4 are not strictly defined, the standard only provides ranges of values for them, and for the purposes of the developed model, the values listed in
Table 4 are adopted.
Finally, the time of particular types of reader queries can be expressed using the dependencies listed in
Table 5, while the sessions of the actual data exchange will have lengths described by the dependencies listed in
Table 6.
Multiple RFID systems use techniques based on TDMA methods. In the case of systems based on the EPC protocol, the multiple access protocol is based on the DFSA method. This method differs from FSA in that it allows dynamic adjustment of the number of slots in the data frame. The number of time slots in the frame, called the
Inventory Round, is selected by the RWD on the basis of the
Q parameter according to dependence:
where
Q can vary from 2–15.
The inventory round is initiated by the Query command, in the syntax of which the Q parameter is sent to the transponders. On its basis, each transponder generates a random number in the range from 0 to 2Q−1, called the SC (Slot Counter), which is decremented by 1 after receiving the command QueryRep. The transponders that drew the number zero respond immediately after the Query command, while the remaining transponders whose SC number is greater than zero go into the arbitration state and wait for the next QueryRep commands or in the case of the need to correct the number of slots in the QueryAdjust inventory round. In the case of correct sending of its electronic product code EPC, the transponder goes into the Invetoried state. The RWD issues the QueryRep command, starting the next slot and changing the inventory flag of the previously recognized transponder, and waits for data from subsequent transponders. It should be emphasized that the time for which the recognition flag is held can be defined and is up to 5 s. The QueryRep command starts each subsequent slot in the inventory round. If more than one transponder answers the queries or none of the transponder’s answers, undesirable phenomena such as collisions and empty slots may occur in a given slot. Problems with the appearance of two or more collisions or empty slots (none of the transponders are engaged in data exchange) are solved by the RWD by using the QueryAdjust commands.
Using this command, it is possible to increase or decrease the
Q parameter. The inventory round is shortened or extended (
Figure 8) and unrecognized transponders involved in the inventory round generate new values of the
SC counter.