Anti-collision is how a reader takes the many tags in its field one at a time without their replies colliding, and with it a UHF RAIN reader can inventory hundreds of tags per second, depending on tag population, reader settings and RF conditions. The RAIN Alliance quotes a headline figure of “up to 1,000 items per second” (RAIN Alliance). GS1’s Gen2 standard lists tag inventory capacity as unlimited for tags with unique EPCs, and its linearity as linear up to 215 tags in the reader’s field, N log N above that (Table 6-4, GS1 EPC Gen2, Release 3.0.1).
Short answer: one at a time on 125 kHz LF, several labels on a 13.56 MHz HF library pad, and hundreds per second on UHF, set by tag population, reader settings and RF conditions.
Identium is a BIS and WPC approved RFID manufacturer in New Delhi that designs and manufactures UHF, HF and LF tags and UHF and HF readers.
| Band | Anti-collision method | Practical read pattern | Typical use |
|---|---|---|---|
| LF, 125 / 134.2 kHz | None in practice; a read-only 125 kHz chip such as the EM4100 repeats its code while powered (EM Microelectronic EM4100 datasheet) | One at a time | Fobs, access cards, animal ID |
| HF, 13.56 MHz | ISO/IEC 14443-3:2018 and ISO/IEC 15693-3:2026 anticollision: one card among several | One card selected at a time on 14443 (access, payment); several labels per pass on a 15693 library pad; reader- and tag-dependent | Access cards, payments, library books |
| UHF RAIN, EPC Gen2 | Random-slotted collision arbitration with Q and sessions (Gen2 section 6.3) | Many in one round; hundreds per second, population- and settings-dependent | Stock counts, portals, assets |
What is anti-collision, and how does a Gen2 inventory round work?
Under ISO/IEC 18000-63:2021, a passive UHF tag is powered by the reader’s continuous carrier and backscatters only when directed to. One carrier powers many tags at once, so their replies have to be taken in turn. Gen2 calls this singulation, identifying an individual tag in a multiple-tag environment, and runs it as random-slotted collision arbitration with the reader talking first. A round, per Gen2 section 6.3.2.10:
- The reader sends a Query with a value Q. Each tag loads a random slot from 0 to 2Q − 1 into a slot counter.
- Each QueryRep counts every waiting tag’s counter down by one. A tag that reaches zero backscatters a random number, the RN16.
- If exactly one tag replied, the reader sends an ACK carrying that RN16, and the tag answers with its EPC. At the next QueryRep, QueryAdjust or Query in the same session, the tag inverts its inventoried flag (A to B, or B to A) and drops out of the round.
- If several tags replied, the reader can still ACK one whose RN16 it resolves at waveform level (capture). The rest go back to waiting.
QueryAdjust makes waiting tags re-pick slots with Q raised or lowered; neither it nor QueryRep brings new tags into the round.
How does Q set the number of reply slots?
Q is an integer from 0 to 15, and each tag picks one of 2Q reply slots: Q = 4 gives 16 slots and Q = 8 gives 256. A tag’s response probability therefore runs from 20 = 1 down to 2−15, about 0.000031 (Gen2 6.3.2.10).
Gen2’s informative Annex D gives one way to adapt Q: a floating value, Qfp, starts at 4.0, rises by a step of typically 0.1 to 0.5 when more than one tag replies, falls when none replies and holds on exactly one. Readers differ.
Some reader APIs do not ask for Q directly. Zebra’s RFID SDK singulation settings ask for a session, an estimate of the tag population in the antenna’s field and an estimate of tag transit time (Zebra techdocs). The tutorial does not say how these inputs map to Q.
A worked Q example: what happens with 3, 16, 50 and 200 tags?
Expected values for one pass through 2Q slots, from the Gen2 slot rule, ignoring capture and mid-round QueryAdjust: arithmetic, not measured reader behaviour.
| Q | Slots | Tags waiting | Empty slots | Single (tag read) | Collided slots | Tags left |
|---|---|---|---|---|---|---|
| 4 | 16 | 3 | 13.2 | 2.6 | 0.2 | 0.4 |
| 4 | 16 | 16 | 5.7 | 6.1 | 4.2 | 9.9 |
| 4 | 16 | 200 | about 0 | about 0 | 16 | 200 |
| 6 | 64 | 50 | 29.1 | 23.1 | 11.8 | 26.9 |
| 8 | 256 | 200 | 117 | 92 | 47 | 108 |
Too many slots for the population wastes time on silence. Too few is worse: almost every slot collides and nothing is read. When the slot count roughly matches the waiting tags, about a third of slots carry a clean reply. That is close to the theoretical limit: for dynamic-frame ALOHA with a known population size, Barletta, Borgonovo and Cesana prove that throughput is maximised by setting each frame length equal to the number of tags still unread, and that this optimum’s efficiency tends to 1/e, about 37%, as the population grows (arXiv:1202.3914). A Gen2 reader does not know the population, and 2Q slots come only in powers of two, so it approximates this by adjusting Q. A large population therefore takes several rounds, with Q resized as it shrinks. The RFID glossary defines these terms.
What are sessions, and why do counted tags go quiet?
Gen2 defines four sessions, S0 to S3. Each tag keeps an independent inventoried flag, A or B, for each session, and takes part in one session per round (Gen2 6.3.2.2). Once a tag is read its flag flips, so a reader targeting A stops seeing it. Gen2 Table 6-21 sets how long that lasts (nominal temperature range):
- S0: indefinitely while the tag is powered; no persistence after power loss.
- S1: between 500 ms and 5 s, powered or not.
- S2 and S3: indefinitely while powered, and more than 2 s after power loss.
So an S0 tag answers again when the reader turns RF off, which it must do to switch antenna or frequency channel (RAIN RFID System Design Guidelines V2, section 3.1.1), or when the reader targets B as well as A, which the guidelines say many readers offer as Target = AB or Dual Target.
The guidelines choose a session from persistence, tag count and reader throughput. S0 works when one antenna reads the whole population within a single channel dwell; their worked example is about 20 tags at 100 tags per second, which takes 200 ms against the US FCC dwell limit of 400 ms (47 CFR 15.247(a)(1)(i)). Once S0 is ruled out, S1 suits a population that reads in under 0.5 s, and S2 or S3 one that takes longer (sections 3.1.2 to 3.1.4). Where several readers share tags, the guidelines suggest a cellular layout, S2 on one reader and S3 on the next; see two UHF readers and dense reader mode.
Does India’s 865–868 MHz band change these settings?
Only indirectly. Under G.S.R. 853(E) of 10 December 2021, Table IV allows 2 W e.r.p. only in four channels of up to 200 kHz. Continuous transmission on a channel may not exceed 4 s, with at least 100 ms between transmissions on the same channel, and EN 302 208 is the reference (Gazette of India).
Those rules govern channels, power and channel dwell; tag population and reader throughput set Q and session. Under EN 302 208, which Table IV references, the 4 s channel limit lets S0 work for a population that one antenna reads within a single dwell (RAIN guidelines, section 3.1.2). If the reader must switch antenna or channel before the count ends, S0 flags reset and the S1 or S2/S3 rule above applies.
What limits the count with a handheld or a dense pallet?
A handheld runs the same Gen2 inventory round as a fixed reader, so the protocol does not cut its count. The difference is antenna, power and geometry; the handheld reader and fixed reader pages give read range. A handheld sees only what its beam reaches as you walk, so the count builds over the sweep; use S2 or S3 so counted tags stay quiet.
Inside a dense pallet the cause is usually power, not count: a tag that never harvests enough energy from the carrier never joins the round.
- Strong tags crowd weak ones. NXP explains that a tag goes dormant after it reports its EPC, freeing the air for weaker tags, and that sessions can help prevent stronger tags repeatedly overshadowing them (NXP, May 2020).
- Static populations need diversity. With a large, static population, a reader will always need to switch antennas or channels to energise and read every tag (RAIN guidelines, section 3.1.1).
- Ports take turns. A single-radio multi-port reader switches between its antennas, turning RF off at each switch (same section), so its reads-per-second figure is shared across the ports in use.
Use S2 or S3, give each antenna enough dwell to finish a round, and try another antenna angle before adding power. Our tag-not-reading troubleshooting guide has the full sequence.
Why is 125 kHz LF limited to one card at a time?
The EM4100 is a read-only LF chip with a 64-bit laser-programmed code. After its last bit it continues with the first, repeating until power goes off (EM Microelectronic EM4100 datasheet). With no arbitration, two such cards in one field transmit over each other, so present 125 kHz RFID cards and fobs one at a time. Treat 134.2 kHz FDX-B animal identification tags the same way: LF has no anti-collision in practice.
How does HF anticollision work on a library pad?
ISO/IEC 15693-3:2026 specifies how a reader detects and communicates with one card among several (IEC Webstore), so a pad can take several labels in turn. Identium’s RFID library system is built on HF ISO/IEC 15693 labels: books stacked on a staff pad are read together, and the short range keeps tags on the neighbouring shelf out. How many labels one pad reads depends on its field and how the labels sit, so test with your own books.
Should you change the UHF reader settings or the hardware?
Test one tag alone, in free air, at working distance.
- It reads alone, but some tags go missing in a group: settings. Check Q or the population estimate, session and target, and dwell per antenna.
- It never answers in place, even alone: hardware. Look at the tag construction for the surface, the antenna angle or another antenna port, or a multi-port reader.
ReaderSense ships free with every Identium UHF reader and exposes Gen2 session, target and Q. Its AISense routine trials 10, 21 or 40 candidate configurations (Quick, Standard or Deep) on the live reader, comparing unique tags seen, read rate, RSSI and per-antenna performance. For portals, identiumone’s guide to portal missed reads and stray reads goes deeper.
What should you send for a recommended configuration?
Send us the tag count, how the tags sit (pallet, shelf, conveyor or portal) and how long they stay in the read zone, and we will recommend a configuration: contact Identium. In a tender, ask for the same facts behind any tags-per-second figure; our tender BOQ guide explains why a bare figure should not be accepted.