RFID based Geiger counting is one of the most common RFID applications on the shop floor. In this article our in-house RFID experts discuss, from a more technical point of view, how to create best practices for Geiger counting and why.

Most mobile RFID readers carry tag locating software. In other words, a software for locating individual tags. The idea of Geiger counting is to locate a specific tag in a densely packed environment with the help of a handheld device. The name ‘Geiger counting’ comes from the ticking sound heard when the RFID reader approaches the target tag. The ticking sound speeds up as the RFID reader nears the tag.

Geiger counting can be used, for example, to find a specific shirt in a certain size in a store, or to locate a missing cardboard box in a warehouse. To be able to locate a specific item, all relevant items need to be tagged. 

Geiger counting is used for locating single items. 

GEIGER COUNTING basics

In simple terms, Geiger counting uses the RSSI values of tags to determine if the tags are close or far away from the reader, and to indicate this to the RFID device user. However, as in any RF environment, the more the transceiver emits RF energy, the higher the signal strength received from the tag. Therefore, in addition to the RSSI values, a good Geiger counting application must take into account the output power. This section will describe how to work with the RSSI values and output power to optimize locating items and discuss how to build an application for Geiger counting.

The output power should be optimized such that when the reader receives the “highest” possible RSSI value, it lowers the output power and checks if it still receives the same signal strength. If it does, the reader continues to decrease power until it either reaches the lowest possible setting for the output power, or the RSSI value starts to decrease. If the RSSI value gets low enough, the application should increase the output power. If the signal strength stays at the same level even with low output power, then it is reasonable to assume that the tag is very close to the reader.

This method of performing Geiger counting is very typical, as a majority of devices have only one antenna mode. When a device has multiple antenna modes, including proximity and circular antenna modes, the additional antennas can determine the proximity of the tag with higher accuracy. When working with such units, the application can monitor the power output and, when it is low enough and the RSSI stays at a certain level, the reader can switch to an antenna with a shorter read range.

BUILDing A GEIGER COUNTING APPLICATION

 

To implement Geiger counting:

  1. Perform inventory with select parameters using the EPC you want to locate. Use session 0 since the tag must reply to every query. An inventory with select parameters allows restricting tag populations to tags that have a specific bit pattern or patterns in their memory at a specified bank and bit address. 
    • Note: Even if the session-value is adjustable, you must use session 0 when performing Geiger counting.
  2. Calculate a buffer RSSI value for the tag.
    • If the tag is seen, acquire the RSSI from the tag and “buffer” it by calculating an average value of, for instance, the last 5 received RSSI values.
    • If the tag is not seen, then buffer a scaled RSSI value of 0 to imply that the tag was not seen.
  3. Calculate an average value based on the received RSSI and react based on it.
    • If the averaged RSSI is within the “maximum” RSSI range (for example between 70-100%), lower the output power by 1dBm.
    • If the averaged RSSI is within the “low” RSSI range (for example between 0-40%), raise the output power by 1dBm. 

In the UI thread, implement a timer that ticks every 100ms and updates the Geiger beeping and any other UI-related tasks:

  • In addition to the timer, make sure that the beeps are also visible in a separate thread, and let the timer ticks reset an event which tells this “Beeping”-thread to generate the required sounds. When the event is received, use the averaged value of the received RSSIs to manipulate the interval and frequency of the beeping.
  • Itis a matter of preference which kind of beeping each possible value should generate. For example, a 1568Hz frequency beep can signify when the tag is seen and a 1046Hz beep when it is not seen. You can also define the length and interval of each beep based on the averaged RSSI value. As an example, 100% can be represented by a beep for 100ms without any interval and anything below 100% can be represented by a 50ms beep at an interval of 250ms minus the averaged RSSI value.


FITTING RFID READERS 

Most mobile RFID readers available on the market can be equipped with tag locating software. To maximize accuracy when locating a specific tag, the mobile RFID reader should have as narrow an antenna beam as possible. Since most RFID readers on the market are equipped with an omni-directional antenna beam, the application software must control the antenna beam as well.