title: Singulation
text: # Singulation
  
  Singulation is a method by which an RFID reader identifies a tag with a specific serial number from a number of tags in its field. This is necessary because if multiple tags respond simultaneously to a query, they will jam each other. In a typical commercial application, such as scanning a bag of groceries, potentially hundreds of tags might be within range of the reader.
  
  When all the tags cooperate with the tag reader and follow the same anti-collision protocol, also called singulation protocol, then the tag reader can read data from each and every tag without interference from the other tags.
  
  ## Collision avoidance
  
  Generally, a collision occurs when two entities require the same resource; for example, two ships with crossing courses in a narrows. In wireless technology, a collision occurs when two transmitters transmit at the same time with the same modulation scheme on the same frequency. In RFID technology, various strategies have been developed to overcome this situation.
  
  ## Tree walking
  
  There are different methods of singulation, but the most common is tree walking, which involves asking all tags with a serial number that starts with either a 1 or 0 to respond. If more than one responds, the reader might ask for all tags with a serial number that starts with 01 to respond, and then 010. It keeps doing this until it finds the tag it is looking for. Note that if the reader has some idea of what tags it wishes to interrogate, it can considerably optimise the search order. For example with some designs of tags, if a reader already suspects certain tags to be present then those tags can be instructed to remain silent, then tree walking can proceed without interference from these.
  
  This simple protocol leaks considerable information because anyone able to eavesdrop on the tag reader alone can determine all but the last bit of a tag's serial number. Thus a tag can be (largely) identified so long as the reader's signal is receivable, which is usually possible at much greater distance than simply reading a tag directly. Because of privacy and security concerns related to this, the Auto-ID Labs have developed two more advanced singulation protocols, called Class 0 UHF and Class 1 UHF, which are intended to be resistant to these sorts of attacks. These protocols, which are based on tree-walking but include other elements, have a performance of up to 1000 tags per second.
  
  The tree walking protocol may be blocked or partially blocked by RSA Security's blocker tags.
  
  ## ALOHA
  
  The first offered singulation protocol is the ALOHA protocol, originally used decades ago in ALOHAnet and very similar to CSMA/CD used by Ethernet. These protocols are mainly used in HF tags. In ALOHA, tags detect when a collision has occurred, and attempt to resend after waiting a random interval. The performance of such collide-and-resend protocols is approximately doubled if transmissions are synchronised to particular time-slots, and in this application time-slots for the tags are readily provided for by the reader. ALOHA does not leak information like the tree-walking protocol, and is much less vulnerable to blocker tags, which would need to be active devices with much higher power handling capabilities in order to work. However when the reader field is densely populated, ALOHA may make much less efficient use of available bandwidth than optimised versions of tree-walking. In the worst case, an ALOHA protocol network can reach a state of congestion collapse. The Auto-ID consortium is attempting to standardise a version of an ALOHA protocol which it calls Class 0 HF. This has a performance of up to 200 tags per second.
  
  ## Slotted Aloha
  
  Slotted Aloha is another variety offering better properties than the initial concept. It is implemented in most of the modern bulk detection systems, especially in the clothing industry.
  
  ## Listen before talk
  
  This concept is known from polite conversation. It applies as well to wireless communication, also named listen before send. With RFID it is applied for concurrence of readers (CSMA) as well as with concurrence of tags.
  
  