|This article needs additional citations for verification. (October 2010)|
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.
Generally collision occurs when two entities require the identical resource; for example, two ships with crossing courses in a narrows. In wireless technology, 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 dangerous situation.
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 walked without interference from them, and then finally they can be queried individually.
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 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 is another variety offering better properties than the initial concept.
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, elementary term explanation in RFID Tribe) as well as with concurrence of tags.