Implementation and extension of a GNU-Radio RFID reader

. The development of a ﬂexible software deﬁned RFID is discused. Commercial reader systems only allow a top level view on the communication and restrict the variation for many transmission parameters. Recently a software reader from the CGran project was proposed which uses the GNU Radio environment in combination with an USRP front end. Because most of the signal processing is done on a common host PC, this reader offers high ﬂexibility, but also has several disadvantages. One of the main hardware limitations is the usage of only one separated antenna per transmit and receive path. Commercial readers usually use four antennas which are time multiplexed and can be used as transmitter and receiver. In this work a HF multiplexer for the USRP device is introduced. With this extension up to four transmit and receive antennas can be used in combination with the software reader. It is shown that the multiplexer achieves good read rates for a switching interval of 100 ms. Using this multiplexer the read range of the system decrease compared to the basic software reader, but distances over two meters can still be realized without additional hardware extensions.


Introduction
Radio Frequency Identification (RFID) (Finkenzeller, 2008) is a communication technique where one reader with several transceiver antennas interacts with a mostly unknown number of transponders (tags). The RFID transmission scenario regard in this work is standardized by the EPC Class-1 Gen-2 protocol (EPCglobal, 2005). The protocol is defined for a communication with a carrier frequency between 865-920 MHz and passive tags. This type of tags do not have any power source which makes them very long-living and cheap to produce. The communication is done via backscattering (Stockmann, 1948) where the incoming continuous wave (CW) of the reader is modulated by the tag. In this case a read range over a couple meters can be achieved.
Commercial RFID systems are already used in logistic chains for detection, tracking and localization of goods. These systems have many disadvantages for research and experimental work regarding the variation of the transmission parameters and the accessibility to the protocol layer of the communication. To achieve an adequate system for research which can overcome these disadvantages most of the signal processing should be done in software. GNU Radio (GNU-Radio, 2012) is an open source project which achieves this type of communication. The hardware front end used in this system is an Universal Software Radio Peripheral (USRP) device which provides a flexible mixing and analog-digital (AD)/ digital-analog (DA) conversion (Ettus, 2012). Based on these components an UHF RFID software reader was developed and presented in Buettner and Wetherall (2008) and Buettner and Wetherall (2009). Like a commercial reader this transmission system can communicate with a variable number of UHF tags based on the EPC Gen-2 protocol with full flexibility and good accessibility to the protocol layer. But this reader system has also several disadvantages compared to a commercial reader. One of the main disadvantages is the limited number on transmit and receive antennas which can be used by an USRP. This work describe the possibilities and technical limitations of the software reader and introduces a UHF multiplexer as a hardware extension to this system. With this extension a variable number of transmit and receive antennas can be used by the USRP. It will be shown that an antenna switching interval of t = 100 ms produces very reliable results regarding the read accuracy. Also a read range over d = 2 m can be achieved with switching multiplexer on transmitter and/or receiver side.
In Sect. 2 the basic components of the Software Reader are introduced. The technical modifications including the HF multiplexer and the system limitations are shown in Sect. 3. In Sect. 4 the measurement results of the reader/multiplexer transmission device are presented. The last section gives a short conclusion of this work. The software RFID system can be divided into three main components. The GNU Radio software environment, the USRP front end which connect the antennas with GNU Radio and the actual reader software. This software detects the answer of the tag and produces reader commands based on this answer. This components are described in the following subsections.

GNU Radio
The software tool used in this work is the open source GNU Radio environment. This software is used for the design of a software defined radio (SDR), where most of the signal processing is done on a common host PC. With this concept high flexibility can be achieved because software implementations and updates are easier to handle compared to any hardware modifications. The GNU Radio software is divided into three main components. First the C + + signal processing blocks where most of the calculations are done. Additional to this processing blocks, GNU Radio provides an application component in Python (Python, 2012). This component organizes mainly the signal flow of the overall application. Both parts are connected via Simplified Wrapper and Interface Generator (SWIG) scheduler, the third main component of GNU Radio. This tool has many predefined functions for basic signal processing operations, signal visualization and communication with the hardware components. This hardware is described in the following subsection. For a more detailed view on the GNU Radio software packet see GNURadio (2012).

USRP front end
For the front end of the RFID software reader an USRP device is used. This hardware is designed for GNU Radio applications which makes it easily controllable by this software. The USRP has one motherboard with four analog/digital and four digital/analog converters and a data rate of 64 and 128 Megasamples per second (MS s −1 ), respectively. The incoming/outgoing samples are decimated/ interpolated on an Altera EP1C12 FPGA. With this conversion a communication with an acceptable data rate can be realized with a USB 2.0 connection between USRP and PC host. The USB connection is a limiting factor regarding the data rate. It also produces a high system latency for the whole transmission. This latency problem will be explained in Sect. 3.
The USRP can provide a wide range of frequencies. This is done by several daughterboards which are mainly used for mixing of the incoming/outgoing signal. In this work two RFX900 daughterboards are used. One for the transmit and one for the receive signal. The setting of the used front end is shown in Fig. 1.

RFID Software Reader
After the description of the transmission components the actual RFID software is presented. The implementation is done by the CGran project (CGran, 2012). For a detailed view see (Buettner and Wetherall, 2008). This software can be divided into several blocks (see Fig. 2), where a slight simplified schematic of the reader is shown.
The first signal processing step after the USRP block and some trivial preprocessing steps (matched filtering, decimation, conversion of complex values to magnitude) is the Tag Response Gate, where the tag response is separated from the continuous wave (CW). The timing recovery synchronizes this tag response. After that the decoding of this message is done within the Tag Decoder block. As a response to that the reader commands are generated in the Gen2 Logic block and send back to the USRP. The whole communication is implemented according to the Gen2 protocol for UHF RFID communication. For a closer view on this communication protocol it is refereed to EPCglobal (2005).

Technical modifications and limitations
To achieve a functional RFID reader system with the components mentioned above, it is necessary to provide several modifications on the soft-and hardware of the system. This modifications including the novel multiplexer component are describe in the next section. Additional the limitations of the software reader are mentioned in this section to show the differences between the software reader and a commercial system after all modifications.

Modifications
Without any modifications the reader provides only a limited frequency range between 900-920 MHz. This range does not cover the European frequency band of 868 MHz for UHF RFID transmission. Also the used RFX900 daughterboards do not provide enough output power (200 mW) to cover the read range of a commercial reader. The Equivalent Isotropically Radiated Power (EIRP) specified by the Gen2 protocol is 2 W. In this case an antenna with 10 dB gain would be necessary but common RFID reader antennas usually have only a 6 dB gain. Both problems can be solved with a simple hardware modification on both RFX900 daughterboards. The RFX900 provides an ISM bandpass filter which cuts off the European RFID frequencies and reduces the transmit power. By removing this filter and bypassing the connection with a 100 pF capacitor the reader provides the whole frequency band for RFID communication. Additionally the output power increases to nearly 500 mW. The resulting EIRP is close to 2 W with basic RFID antennas in this case.
The modification mentioned above provides a transmission with accurate power and carrier frequencies. Nevertheless the software reader can not realize a communication with commercial tags in this case, because of the high system latency. Depending on the used encoding scheme tags are waiting maximum 500 µs for a reader command and power down after this period is exceeded. Without any modification of the USRP/PC data flow this timing is not feasible. A system latency of 250 µs can be achieved, when several software modifications are carried out in the system. First the CW at the transmitter side has to be generated within the FPGA of the USRP, where this very simple data processing does not influence the transmission between host and USRP. Because of the USB 2.0 connection the data flow between USRP and host is the major bottleneck regarding the system latency. For further optimization the size of the transmitted USB packets is reduced and the decimation rate of the USRP must be as low as possible to achieve a continuous data flow without much time for filling the buffer in the USB communication. Additionally the read function for the USRP is rewritten, so every received sample is directly send to the PC host. For further details Buettner and Wetherall (2008) provides a closer look on software modifications of the GNU Radio software reader.

HF-Multiplexer
To achieve a communication with the software reader and several transmit and receive antennas a simple bidirectional antenna multiplexer for UHF transmission is developed. The hardware is defined by three main components. One UHF part with one input/output port for the USRP, four antenna ports and one HF chip, which does the port switching. The second part is an FTDI chip which controls the switching of the UHF part. The third component is the USB connection which transmits the switching commands from the PC host and supplies both chips with power. Figure 3 shows a schematic of this system.
The multiplexer can equivalently be used on the transmitter and receiver side. It can handle up to four antennas but also works with less. The switching interval of the ports can be varied with times larger then microseconds. In the next section it will be shown which switching time is sophisticated for a reliable transmission.

Limitation
With the mentioned modifications a communication between software reader and common tags is possible. Nevertheless there are still some restrictions of the system which are not yet solved. Because of the high protocol timing requirement, two of the possible four tag encoding schemes do not work. This is because the maximal waiting time of a tag is smaller compared to the minimal possible system latency time using the fastest encoding schemes. The next generation of USRP could solve the latency problems of the system by usage of an Ethernet connection between front end and PC host. But in this case two daughterboards have to be used, to achieve a separated transmit and receive path for the reader. With the size of this daughterboards only the USRP 1 device can be used for transmission and this device communicates via USB 2.0 with the host. In this case it should also be mentioned that a separation between transmitter and receiver is necessary because the USRP device can not handle a bidirectional transmission in this case. A cascaded connection in combination with smart switching of a couple of multiplexer devices could also solve this problem.

Measurement results
First the performance of the antenna multiplexer is analyzed. As a key performance parameter the switching interval is used. This value defines the time between two antenna switches. Note that the multiplexer can do a switch between two ports with an accuracy of several microseconds. However in this case no communication between tag and reader is possible because the tag request can not be detected by the reader. The behavior during the switching is equal for transmit and receive multiplexer. The read rate for different switching intervals is shown in Fig. 4. It can be seen that a correct tag detection is achieved with a switching interval of 10 ms although the read rate is very poor. With an interconnect of 70 ms a good read accuracy is achieved. For a switching interval of 100 ms and more the read rate is practically 100 %. At this point the time for a complete transmission between reader and tag becomes very small compared to the switching interval of one port. It is to mention that because of the system latency the most time intense Miller-8 spreading sequence is used for tag encoding. In case of further latency reduction, the possible usage of faster encoding schemes could also reduce the switching interval of the reader.
After the switching interval the read range of the reader system is considered. All measurements are done for a scenario where reader antennas and transponder are static and at nearly the same height. The read rate is defined as follow: Read Rate = Correct detected EPC value Number of Querys for one distance (1) For a transmission without multiplexer a read range up to 6.8 m can be achieved. This is comparable to a commercial system and proves that the power provided by the USRP in combination with a common reader antenna is comparable to the power of a commercial system. The read range with active multiplexers decrease significantly compared to the reference system. In Fig. 5 it can be seen that the read range with a multiplexer on the receiver side is practically 100 % at 2.5 m. The additional noise produced by the multiplexer during the switching has a significant influence on the performance of the system. Note that a non-switching multiplexer does not influence the read range significantly, so the general attenuation of the multiplexer is not the main reason for the decreasing performance. The performance with a transmit multiplexer is even poorer compared to the transmission with a receive multiplexer. The reason is probably the negative influence of the multiplexer for the transmit power during the switching process. The performance decreases further when multiplexers are used on both sides of the transmission chain. Additional hardware extensions on transmitter and receiver side could improve the transmission system but have to be custom made to guarantee a good accessibility of the software reader. Furthermore the overall system with and without multiplexer is relatively fragile towards changes in the communication environment. This could be an explanation for the read rates at low distances for a communication with a transmit multiplexer.

Conclusion and future work
In this work the developed software RFID reader was analyzed and extended with a bidirectional antenna multiplexer to serve up to four transmit and receive antennas. Also the multiplexer achieves a flexible switching order. It is shown that the switching interval of one port has to be at least 70 ms and that this system can achieve a read range over 2 m. The read range significantly decreased by the noise and interferences of the multiplexer during the switching procedure. The read range for a system without switching multiplexer is over 6 m which is equivalent to a commercial reader system.
For further research and development the read range of the reader system with multiplexer has to be improved. This can be done by a custom made power amplifier on transmitter and a low noise amplifier on receiver side. Also alternative combination schemes of the multiplexer ports and the I/O of the USRP must be taken into account. With an alternative switch one antenna can be used as a transmitter and receiver. With additional hardware modifications the modified software-defined reader can be used for the investigations of the possibilities of using multiple input multiple output signal processing concepts for RFID. Also detailed measurements in different spatial environments regarding the protocol layer should be considered in future research.