Synchronizing RFID tag readers

WO2026169848A1PCT designated stage Publication Date: 2026-08-13AUTOMATION INC(US)
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2026-02-05
Publication Date
2026-08-13

Smart Images

  • Figure US2026014059_13082026_PF_FP_ABST
    Figure US2026014059_13082026_PF_FP_ABST
Patent Text Reader

Abstract

Systems and methods for synchronizing RFID tag readers (sensors) by an interrogator controller (IC) are disclosed. An IC synchronizes a first clock in a first radio-frequency identification (RFID) sensor to a reference time using a first protocol, such as the network time protocol (NTP). The IC then causes the first RFID sensor to transmit a first signal including a timestamp of transmission based on the first clock. The IC causes a second RFID sensor to receive the first signal and respond with a timestamp at which the first signal was received according to a clock of the second sensor as well as a timestamp at which the first signal was transmitted according to a clock of the first sensor. The IC then calculates the difference between the timestamps and transmits a second signal adjusting the second clock based on the difference.
Need to check novelty before this filing date? Find Prior Art

Description

Attorney Docket No. RADR-023W001SYNCHRONIZING RFID TAG READERSCROSS-REFERENCE TO RELATED APPLICATION(S)

[0001] This application claims the priority benefit, under 35 U.S.C. 119(e), of U.S. Application No. 63 / 754,305, filed February 5, 2025, which is incorporated herein by reference in its entirety for all purposes.BACKGROUND

[0002] Radio-frequency identification (RFID) tags, or tags, are low-cost devices that can be attached to objects and offer the promise of automated tracking, locating, sales check-out, and inventory of the objects among other commercial and medical applications. There are passive, semi-active, and active types of RFID tags that can be wirelessly interrogated by an RFID tag reader, also called a reader, interrogator, or sensor, and emit wireless radio-frequency (RF) replies to the reader. Each reply can include information stored in the RFID tag, such as an electronic product code (EPC), tag identification number, or other alpha-numeric sequence. Other information may be included with the reply. Each EPC is unique and so can be used to identify the tag that sent a particular reply.

[0003] Passive RFID tags have no battery and are therefore typically less expensive than semiactive and active RFID tags. A passive RFID tag is powered by an unmodulated, continuous-wave (cw) RF signal from the RFID tag reader. This cw RF signal powers up the passive RFID tag’s circuitry and precedes a query or command from the RFID tag reader in the form of a modulated RF signal. The passive RFID tag receives and demodulates the modulated RF signal and responds to the RFID tag reader by modulating and backscattering a cw portion of the RF signal that follows the query or command. This modulated, backscattered RF signal is the passive RFID tag’s reply and is at the same carrier frequency as the RF signal from the RFID tag reader. The replies from passive RFID tags are detected by the RFID tag readers and are typically many orders of magnitude weaker than the RF signals from the RFID tag readers.

[0004] Each cycle of transmitting a continuous-wave RF signal at a given carrier frequency from the sensor to the tag and receiving the tags’ replies at the same carrier frequency at the sensor is called a hop. The sensor can transmit one or more commands or queries during a hop. A single sensor can also repeat hops periodically, at different carrier frequencies, until it has read all of the tags within range. For ultrahigh frequency (UHF) passive RFID tags, the carrierAttorney Docket No. RADR-023W001frequencies are typically within bands of 865-868 MHz (Europe) or 902-928 MHz (North America). The sensor can continue to query the tags within range periodically, for example, to monitor inventory of objects affixed to the tags.

[0005] Sensors can also be used to estimate a tag’s location in two or three dimensions using one of several techniques. For instance, a sensor may record a received signal strength indicator (RSSI), which is a measure of the amplitude or power of the tag’s reply, in addition to the unique modulation (e.g., encoding the EPC) that identifies which tag is replying to the query. If the sensor has an antenna array, it can sense the angle-of-arrival (AO A) of the tag’s reply in addition to or instead of the RSSI or other measurement of the detected signal power or amplitude. A computer, controller, or appliance coupled to the sensors can use the RSSIs and / or AO As to estimate the tag’s position in two or three dimensions. If the appliance knows or assumes the tag’s position in one dimension (e.g., height), the appliance can estimate the tag’s location in three dimensions from a single AOA estimate (e.g., by computing the position at which the AOA intersects a plane at a given height).SUMMARY

[0006] One challenge with operating multiple RFID tag readers or sensors in the same environment is coordinating or synchronizing the timing of their transmissions or hops. Generally, sensors interrogate RFID tags in a staggered or round-robin fashion with a gap of at least 1 ms between hops or command packets per the EPC™ Radio-Frequency Identity Protocols Generation-2 UHF RFID Standard, Release 3.0. If the sensors follow a common schedule for hops, with only one sensor transmitting at a time, then the sensors’ internal clocks should be synchronized to within better than 1 ms (e.g., to within 100 ps, 10 ps, 1 ps, or less) to avoid overlapping transmissions. In other words, if one sensor’s clock is too fast or too slow, that sensor could transmit earlier or later than scheduled, causing its transmission to overlap with or bleed into another sensor’s transmission or a tag’s reply and leading to unwanted distortion, interference, and / or attenuation. If the distortion, interference, or attenuation is bad enough, the sensor(s) may have to repeat one or more hops, increasing the time it takes to interrogate the RFID tag(s).

[0007] Unfortunately, simply synchronizing the sensors’ internal clocks to a network clock, e.g., using Network Time Protocol (NTP), does not yield the desired level of synchronization for at least three reasons. First, network synchronization protocols like NTP are intended to synchronize computing devices to within a few milliseconds of a reference time, such asAttorney Docket No. RADR-023W001Coordinated Universal Time (UTC). A deviation of a few milliseconds among the sensors’ internal clock could lead to overlapping transmissions and so is larger than desired.

[0008] Second, it can be challenging to measure and compensate for differences in propagation time between the sensors and the reference time source. Consider sensors coupled via Ethernet connections or other wired network connections to a reference time source, such as an interrogator controller that schedules the hops and provides a reference time to the sensors. In practice, each sensor may be coupled to the interrogator controller with an Ethernet cable of a different length, possibly via different network equipment (e.g., switches, routers, etc.), resulting in a different propagation delay to and from the interrogator controller for each sensor. The network equipment could also introduce unknown variable latency, e.g., due to changes in switching or routing. These variations in propagation make it more difficult to synchronize the sensors’ internal clocks to the reference time source.

[0009] Third, each sensor has a different internal clock, and each of these internal clocks may operate under different environmental conditions (e.g., different temperature, voltage, stress, or strain). These variations in environmental conditions may cause the sensors’ internal clocks to drift apart from each other. They may also cause the clocks to jitter at different rates or by different amounts.

[0010] Fortunately, the clocks of different RFID tag readers can be synchronized using a variety of methods. For example, a RFID tag reader can transmit an RF signal at a first time according to its clock. A second RFID tag reader receives the RF signal at a second time different than the first time according to its clock (i.e., the clock of the second RFID sensor). The second RFID tag reader transmits an indication of the second time to an interrogator controller, which determines an offset between the first and second times. The first RFID tag reader’s clock, the second RFID tag reader’s clock, or both of these clocks are then adjusted based on the offset between the first and second times.

[0011] In some cases, the interrogator controller instructs the first RFID tag reader to transmit the radio-frequency (RF) signal at the first time. The first RFID tag reader can also transmit an indication of the first time to the interrogator controller.

[0012] The indication of the second time can be a timestamp of a start or an end of a command (e.g., the first command) in the RF signal or a timestamp of a start or an end of a delimiter (e.g., before the first command) in the RF signal.Attorney Docket No. RADR-023W001

[0013] Another method of synchronizing the clocks of the first and second RFID tag readers includes broadcasting, by the first RFID tag reader, an RFID signal indicating a first time. The second RFID tag reader receives the RFID signal indicating the first time and sets its clock to the first time in response to the RFID signal. In some cases, the first RFID tag reader is a handheld RFID tag reader, and the second RFID tag reader is either another handheld RFID tag reader or a fixed (e.g., ceiling-mounted) RFID tag reader.

[0014] Yet another method of synchronizing the clocks of first and second RFID tag readers involves transmitting, to the first and second RFID tag readers, a schedule instructing the first RFID tag reader to transmit a radio-frequency (RF) signal at a first time. The first RFID tag reader transmits the RF signal (e.g., via an antenna of the first RFID tag reader) at the first time according to the clock of the first RFID tag reader. The second RFID tag reader receives the RFID signal (e.g., with an antenna of the second RFID tag reader) at a second time different than the first time according to the clock of the second RFID sensor. (The first and / or second RFID tag readers can also receive a reply to the RF signal from an RFID tag.) The clock of the second RFID tag reader is adjusted in response to receiving the RFID signal at the second time according to the clock of the second RFID tag reader.

[0015] Adjusting the clock of the second RFID tag reader can include calculating an offset between the first and second times and setting the clock of the second RFID tag reader to eliminate the offset. Alternatively, it can include setting the clock of the second RFID tag reader to the first time upon receipt, by the second RFID tag reader, of the RF signal. In either case, adjusting the clock of the second RFID tag reader can include setting the clock of the second RFID tag reader to within 0.1 ms of the clock of the first RFID tag reader.

[0016] This method can be extended to synchronizing other RFID tag readers by transmitting the schedule to a third RFID tag reader, which receives the RF signal at a third time different than the first time according to the clock of the third RFID tag reader. The clock of the third RFID tag reader is adjusted in response to receiving the RF signal at the third time according to the clock of the third RFID tag reader. Alternatively, or in addition, the schedule can instruct the second RFID tag reader to transmit a second RF signal at a third time. The third RFID tag reader receives the second RF signal at a fourth time different than the third time according to the clock of the third RFID tag reader and adjusts its clock accordingly. The first RFID tag reader can also receive the second RF signal and adjust its clock accordingly.Attorney Docket No. RADR-023W001

[0017] Still another method of synchronizing the clocks of first and second RFID tag readers includes transmitting, by the first RFID tag reader, an RFID signal to an RFID tag. The first RFID tag reader receives a reply to the RFID signal from the RFID tag at a first time according to the clock of the first RFID sensor and transmits an indication of the first time to an interrogator controller. The second RFID tag reader also receives the reply to the RFID signal from the RFID tag, but at a second time different than the first time according to the clock of the second RFID sensor. The second RFID tag reader transmits an indication of the second time to the interrogator controller, which determines an offset between the first and second times. This offset is used to adjust the first RFID tag reader’s clock and / or the second RFID tag reader’s clock.

[0018] All combinations of the foregoing concepts and additional concepts discussed in greater detail below (provided such concepts are not mutually inconsistent) are part of the inventive subject matter disclosed herein. In particular, all combinations of claimed subject matter appearing at the end of this disclosure are part of the inventive subject matter disclosed herein. The terminology used herein that also may appear in any disclosure incorporated by reference should be accorded a meaning most consistent with the particular concepts disclosed herein.BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The skilled artisan will understand that the drawings primarily are for illustrative purposes and are not intended to limit the scope of the inventive subject matter described herein. The drawings are not necessarily to scale; in some instances, various aspects of the inventive subject matter disclosed herein may be shown exaggerated or enlarged in the drawings to facilitate an understanding of different features. In the drawings, like reference characters generally refer to like features (e.g., functionally similar and / or structurally similar elements).

[0020] FIG. 1 illustrates a system for locating RFID tags with RFID tag readers that are synchronized to a hop schedule set by an interrogator controller coupled to the RFID tag readers.

[0021] FIG. 2A illustrates a process for synchronizing RFID tag readers using a hop schedule.

[0022] FIG. 2B illustrates an alternative process for synchronizing RFID tag readers using a hop schedule.Attorney Docket No. RADR-023W001

[0023] FIG. 2C illustrates a process for synchronizing RFID tag readers using RF signals with timestamps.

[0024] FIG. 3 is a block diagram of an RFID tag reader that can synchronize itself to a transmission from another RFID tag reader.

[0025] FIG. 4 is a block diagram of an interrogator controller that can schedule hops by RFID tag readers and synchronize the RFID tag readers to the hops.DETAILED DESCRIPTION

[0026] FIG. 1 illustrates a system 100 for interrogating radio-frequency identification (RFID) tags 120 with synchronized RFID tag readers or sensors 110a-l lOn (collectively, sensors 110). The sensors 110 interrogate the tags 120 according to a hop schedule set and distributed to the sensors 110 by an interrogator controller or appliance 130. The sensors 110 and interrogator controller 130 can also estimate the locations of the tags 120 based on the tags’ responses 121 to interrogation signals 150 from the sensors 110. The sensors 110 also use these interrogation signals 150 and the hop schedule for synchronization as explained below.

[0027] Each sensor 110 includes a processor 112, a (local) clock 114, a clock generator 116, an antenna or antenna array 118, and a network interface 111. The processor 112 may be or include a microprocessor, field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or any other suitable processing device. The processor 112 may include or be operably coupled to a memory, such as random-access memory (RAM), dynamic random-access memory (DRAM), flash memory, or any suitable type of memory for shortterm (volatile) or long-term (non-volatile) data storage. The processor 112 may also be communicatively coupled to a storage device, which may be a hard disk drive (HDD), solid-state drive (SSD), cloud storage, or any suitable type of non-volatile storage for storing data over long periods of time.

[0028] Each processor 112 implements or includes a clock 114 that keeps (local) time for the sensor 110 based on a clock signal from the corresponding clock generator 116. The clock signal is a periodic signal, such as a train of voltage pulses, generated by an oscillator in the clock generator 116. Suitable oscillators include but are not limited to crystal oscillators (which may utilize piezoelectric crystals such as quartz crystals), relaxation oscillators, voltage-controlled oscillators (VCOs), RC oscillators, and LC oscillators. The clock 114 increments or advances the time by counting the oscillations (pulses or ticks) in the clock signal from the clock generator 116. The clock 114 may represent or indicate the time in any suitable format,Attorney Docket No. RADR-023W001including as a local time (e.g., in a time zone in which sensor 110 is located), a universal time (e.g., Greenwich Mean Time (GMT), Coordinate Universal Time (UTC), “Zulu” military time, or the like), or a reference time (e.g., a world clock time).

[0029] The sensor 110 carries out hops and other operations according to the (local) time kept by its (local) clock 114. The hops and other operations are scheduled by the interrogator controller 130, which is operably coupled to the sensors 110 via Ethernet connections 142 or other suitable connections to the sensors’ network interfaces 111, which may include Ethernet ports, network interface cards (NICs), or other suitable network connections. (There may be routers, switches, or other network components (not shown) between the interrogator controller 130 and one or more of the sensors 110.) Together, the sensors 110, interrogator controller 130, Ethernet connections 142, and other network components form a local area network (LAN) that can be connected to the internet via the interrogator controller 130 or another network component.

[0030] The interrogator controller 130 synchronizes the sensors 110 and other network components to a reference clock signal from a reference clock using the Network Time Protocol (NTP) or another suitable protocol. The interrogator controller 130 receives the reference clock signal via a network interface 131, which is coupled to the interrogator controller’s processor 132. This processor 132 may implement a time server for NTP. Unfortunately, NTP and similar protocols for synchronization on packet-switched networks like the LAN that connects the interrogator controller 130 and sensors 110 generally cannot yield synchronizations better than within a few milliseconds.

[0031] The synchronization of the sensors 110 can be improved using a hop schedule generated by the interrogator controller 130. The hop schedule can be used to synchronize the sensors 110 to each other to within a fraction of millisecond (e.g., to within 250 ps, 125 ps, 100 ps, 50 ps, 25 ps, 10 ps, or less). This hop schedule specifies when each hop begins (hop start time), how long each hop lasts (hop duration), which sensor 110 is supposed to transmit for each hop, the beam steering direction for each hop, and, optionally, the power level for each hop, when each hop ends, and the gap between hops. The hop schedule can also include additional information, such as EPC masks for selecting certain tags to address during the hop and expected tag population or expected number of tags being addressed by the hop. The interrogator controller can also specify one sensor to act as the reference clock for synchronization, either explicitly or implicitly with the hop schedule. Each sensor is free to dictate the sequence of commands to transmit based on what tag replies it receives. TheAttorney Docket No. RADR-023W001processor 132 distributes this hop schedule to the sensors 110 via the Ethernet connections 142 as shown in FIG. 1 A.

[0032] The sensors 110 carry out the hop schedule according to the time kept by their clocks 114. Ideally, the clocks 114 in the sensors 110 should indicate the same time to within a fraction of 1 ms, which is the gap or period between hops. In practice, however, the clocks 114 in different sensors 110 may indicate different times. In FIG. 1, for example, clock 114a indicates a time of 10:04:31.102935823, clock 114b indicates a time of 10:04:32.394829293, and clock 114n indicates a time of 10:04:31.112333100. The differences, or offsets, between these clocks 114 could be due to a variety of factors — they could have been set to different times initially, their clock generators 116 could generate clock signals at different frequencies, and so on. In any event, if the offsets or time differences are too large, then one or more sensors 110 may start hops too early or late, causing the sensors 110 to emit overlapping signals and leading to unwanted interference and / or distortion as explained above.

[0033] To prevent hops from overlapping in time or bleeding into each other, the clocks 114 in the different sensors 110 can be synchronized using one or more of the following methods, each of which takes advantage of the shared hop schedule and each sensor’ s ability to broadcast and detect radio-frequency (RF) signals, including RFID signals, using its antenna 118. Each antenna 118 may be embodied as an antenna array with two, three, four, five, six, seven, eight, nine, ten, or more antenna elements, each of which can transmit and / or receive RF signals, including signals 150 from other sensors 110 and signals 121 from RFID tags 120. The processor 112 can analyze the received signals and / or transmit information contained within or derived from the received signals to the interrogator controller 130. If desired, the sensors 110 and / or interrogator controller 130 can also estimate the RFID tags’ locations from the signals 121 emitted by the RFID tags 120, e.g., as described in U.S. Pre-Grant Publication No.2026 / 0016590 Al, which is incorporated herein by reference in its entirety for all purposes.

[0034] FIGS. 2A and 2B illustrate different processes 200, 250 for synchronizing the sensors using the scheduled hop transmissions. In the synchronization process 200 of FIG. 2A, the sensors synchronize themselves autonomously once they have received the hop schedule from the interrogator controller (202). The sensors follow the hop schedule, with a first sensor (e.g., sensor 110a in FIG. 1 A) transmitting an RF signal at the beginning of a first hop (though not necessarily the first hop on the hop schedule) (204). That is, the first sensor transmits the RF signal with its antenna at a time specified in the hop schedule for the start of the first hop according to its own clock (e.g., clock 114a). This could be a regular hop for interrogating anAttorney Docket No. RADR-023W001RFID tag that starts with the broadcast or transmission of continuous-wave (cw) RF radiation that powers up the tags (e.g., tag 120 in FIG. 1 A) within range so that the tags can demodulate and respond to modulated RFID signals transmitted later in the hop. This could also be a synchronization hop in which the first sensor transmits an RF signal modulated with a query or command intended for the sensors within range.

[0035] One or more of the sensors within range (e.g., sensor 110b in FIG. 1 A) receive or detect the RF signal from the first sensor with their antennas. When these other sensors receive the RF signal from the first sensor, they set their clocks to the time on the hop schedule set for the first sensor’s transmission. By setting their clocks to the time specified in the hop schedule for the start of the first hop, they effectively synchronize their clocks to the clock of the first sensor (i.e., the first sensor acts as the reference clock), neglecting the delay associated with the RF signal’s propagation from the first sensor. (Generally, the time it takes the RF signal to propagate from the first sensor to the other sensor(s) is so short (e.g., much less than 1 ps) that it can be neglected.) The sensors can also measure or compute the propagation delay and offset their clock adjustments to account for the propagation delay.

[0036] The sensors can also account for latency associated with determining the frequency channel for the hop. As explained above, the sensors hop pseudo-randomly among frequency channels in a predetermined band (e.g., 865-868 MHz in Europe or 902-928 MHz in North America) as they interrogate the tags. For each hop, the sensor that is transmitting picks the frequency channel for the transmission. It can take the other sensors a finite amount of time (e.g., up to 200 ps) to detect the transmission and identify the frequency channel. The sensors can account for this time when synchronizing their clocks to the transmission and hop schedule. This delay or latency and the propagation delay for the RF signals can also be incorporated into the hop schedule.

[0037] This synchronization process 200 can be repeated every hop, for only predetermined hops (e.g., every tenth, hundredth, or thousandth hop), or in response to a command from the interrogator controller. The synchronization process 200 can also be repeated with different sensors acting as the first sensor, or reference clock source. This is especially useful when not every sensor can detect transmissions from every other sensor. Referring again to FIG. 1, suppose that sensor 110b is within range of sensors 110a and 1 lOn, but sensors 110a and 1 lOn are not within range of each other. In this scenario, sensors 110a and 11 On can synchronize their clocks 114a and 114b to scheduled transmissions from sensor 110b. Alternatively, or in addition, sensor 110b can synchronize its clock 114b to a transmission from sensor 110a, thenAttorney Docket No. RADR-023W001broadcast an RF signal from its antenna 118b at the beginning of a second scheduled hop (210). Sensor HOn detects this transmission using its antenna 118n (212) and sets its clock 114n to the time for the transmission specified in the hop schedule (214). In other words, sensor 110b synchronizes itself to a transmission from sensor 110a, then sensor 1 lOn synchronizes itself to a transmission from sensor 110b — in effect, a synchronization daisy chain.

[0038] The process 250 in FIG. 2B involves commanding synchronization of the sensors’ clocks using the interrogation controller. As before, the interrogation controller distributes a hop schedule to the sensors (252) specifying when the hops start and which sensor transmits during each hop. Alternatively, the interrogation controller could command one sensor to begin a hop at a predetermined time instead of distributing a hop schedule to all of the sensors. During a first hop (again, not necessarily the first hop on the schedule), a first sensor transmits an RF signal (e.g., an RFID signal) to the tags and other sensors within range at the time specified in the hop schedule according to its clock (254). The first sensor can also report the time, according to its clock, at which it transmitted the RF signal (255). This accounts for any deviation of the actual transmission time from the scheduled transmission time. The sensors within range record the time(s) at which they detect the RF signal according to their own clocks (256) and report the recorded time(s) to the interrogator controller (258).

[0039] Each hop typically starts with a 1.5-millisecond transmission of a cw signal by the interrogator on the frequency channel selected by the interrogator for that hop. Detecting the start of a hop may be difficult (for example, if the sensor is scanning to find an active frequency channel), so the sensors may use the start or end of the first command as the marker or event for synchronization. They can also use the start or end of the delimiter, which is a 12.5 ps period of no (cw) transmission before the start of the first command, as the marker or event for synchronization. Using the first command or delimiter instead of the start of the hop gives the sensor time to detect the hop and complete any channel-specific tuning or calibration. If the hop schedule from the interrogator controller does not specify the timing of the delimiters or commands — for example, if the sensor in interrogator mode sets the timing of the delimiters and commands — then the sensors may send hop status messages to the interrogator controller via the Ethernet connections. These hop status messages include timestamps that indicate when the first command was sent or received, depending on whether the corresponding sensor transmitted or received the first command. The hop status messages may include timestamps for the start and / or end of the delimiter and / or other commands as well. The interrogatorAttorney Docket No. RADR-023W001controller can use any extra timestamps for more precise synchronization and / or to estimate the drift of each sensor’s clock as explained below.

[0040] The interrogator controller computes the offsets between the sensors’ clocks and a reference clock, such as the interrogator controller’s clock or the first sensor’s clock, by taking the differences between the reported times from the sensors (and / or, optionally, the scheduled hop start time according to the reference clock) or between the timestamps indicated in the hop status messages. The interrogator controller can use the same reference clock for each hop (e.g., its own reference clock or a particular sensor’s reference clock), or it can choose a different reference clock for each hop. For instance, for each hop, the interrogator controller can use the clock of the interrogator (transmitting sensor) as the reference clock. By using the clock of the interrogator (transmitting sensor), the interrogator controller adjusts the clocks of the listeners “towards” the clocks of the interrogators such that the clocks converge to an average or median time. This can be helpful if there are hidden sensors (i.e., if there are some sensors that cannot receive signals from the sensor whose clock is selected as the reference clock).

[0041] Alternatively, the sensors could report timestamps indicating when they received one or more of the tag replies to the commands to the interrogator controller as well as the EPCs encoded in those tag replies. The interrogator controller can correlate the tag replies by EPC, then compute the offsets between the timestamps from different sensors for a given tag reply. (When using tag replies to determine offsets, the tags may be commanded or the tags or sensors may be configured to receive only one reply per tag per hop to prevent the interrogator controller from matching replies from the same tag at different times to each other.)

[0042] The interrogator controller then transmits instructions to the sensors to adjust their clocks so as to reduce or eliminate the offsets. The interrogator controller can also compare the offsets to a threshold and transmit adjustments to the sensors if the offsets are above the threshold so as to reduce the offsets below a threshold value (e.g., 10 is) (260). These adjustments may account for the RF signal’s propagation delay(s) from the first sensor to the other sensor(s) as well as any latency associated with identifying the frequency channel of the RF signal. Because the offsets and adjustments are based on the scheduled transmission time and the times reported by the clocks, they are not affected by variations in latency among the interrogator controller’s connections to the sensors. This synchronization process 250 can be repeated every hop (e.g., every 20-400 ms), for only predetermined hops (e.g., every tenth, hundredth, or thousandth hop), at regular intervals (e.g., every 5, 10, 15, 20, 25, or 30 seconds), or in response to a command from the interrogator controller, possibly depending on theAttorney Docket No. RADR-023W001estimated drift(s) the sensor clocks. The interrogator controller and sensors can also alternate between these synchronization processes 200, 250.

[0043] The interrogator controller can also estimate the clock drift from timestamps of different commands in the same hop, different commands in different hops, and / or different replies. For instance, the interrogator controller may receive hop status messages from the sensors indicating when the sensors received different commands and / or detected different delimiters, compute offsets from the reference time for each timestamp, and use the changes in the offsets to estimate the drift of the clocks from the reference time. For instance, suppose that a given sensor reports timestamps for two commands sent 100 ms apart during the same hop. If the offset between that sensor’s clock and the reference time increases by 10 ns over the hop, then the interrogator controller can estimate that senor’s clock is drifting by approximately 100 ns per second and adjust the changes to that sensor’s clock accordingly.

[0044] FIG. 2C shows a process 290 for synchronizing sensors using RF signals modulated with timestamps in the form of custom or proprietary RFID commands. In this process 290, a first sensor broadcasts an RF signal modulated with a timestamp indicating the time according to the first sensor’s clock when the first sensor broadcasts the RF signal (292). The RF signal may also be modulated with a synchronization command directing the sensors that receive the RF signal to set their clocks to the time indicated by the timestamp. The first sensor can broadcast this RF signal on a (pseudo-)randomly selected frequency channel or on a frequency channel reserved for sensor-to-sensor communication. The sensors within range receive the RF signal (294), decode it (296), and then set their clocks to the times indicated by the timestamp, possibly with an offset to account for latency associated with broadcasting, receiving, and decoding the RF signal. This is especially useful for synchronizing sensors without reliable connections to the interrogator controller. For example, a ceiling-mounted sensor could be used to synchronize a handheld or standalone sensor without any connection to an interrogator controller. Or a handheld sensor could broadcast a synchronization command to ceilingmounted sensors acting as listeners that are connected to an interrogator controller and synchronize themselves to the handheld sensor without the interrogator controller participating in the synchronization process.Interrogator and Listener Modes

[0045] Referring again to FIG. 1, the sensors 110 can optionally be switched between an interrogator mode and a listener or receive-only mode. Typically, only one sensor 110 is inAttorney Docket No. RADR-023W001interrogator mode at a time while one or more of the other sensors are in listener mode. In FIG.1, sensor 110a is in interrogator mode and interrogates an RFID tag 120 with an interrogation signal 150. Sensor 110a and all of the sensors 110 in listener mode within range receive the interrogation signal 150 and the tag’s reply 121. For TV sensors 110, this means making up to TV measurements of the tag’s reply 121 simultaneously even though only one sensor 110a may be transmitting an interrogation message at a time. This TV-fold increase in the number of simultaneous measurements can be used to increase the speed (e.g., by a factor of TV), fidelity (e.g., by a factor of TV through incoherent averaging), or speed and fidelity of the RFID tag location performed by the system 100.

[0046] Making many simultaneous measurements, by synchronized sensors 110 at different locations, of each reply 121 offers several advantages over using conventional techniques, which involve detecting a reply with only one sensor at a time. To start, because the sensors 110 are synchronized with a precision better than 1 ms, the interrogator controller 130 can collect and average different copies of the same reply 121 detected by different sensors 110 to improve signal fidelity. This increases the likelihood that the reply 121 will be decoded correctly and reduces the likelihood of having to repeat an interrogation because of insufficient signal fidelity. The sensors 110 in listener mode can also steer their antenna receptivity patterns, for example, based on the location of the sensor 110a in interrogator mode, in a coordinated fashion to increase signal fidelity.

[0047] During the 1 ,5-millisecond cw transmission by the interrogator at the beginning of each hop, the listeners scan the available frequency channels for this cw signal, estimate the frequency and / or phase of the cw signal , and perform any other receiver training / calibration functions. If the sensors are synchronized to each other or to a common reference clock, then the listeners should start “listening” at the beginning of each hop so they can use the entire 1.5-millisecond cw transmission for frequency / phase estimation and other receiver training / calibration functions. Synchronization also makes it less likely that a listener does not inadvertently latch onto the cw signal at the end of a previous hop or from another nearby RFID system.

[0048] The listeners could also latch onto hops that start on a synchronized boundary, e.g., of 100 ps, to avoid latching onto RFID transmissions from other nearby RFID systems. For example, consider Sensors 1-5 that interrogate tags in hops separated by 20 ps boundaries or gaps. If Sensor 1 transmits every 100 / 7 ps, where n is an integer greater than or equal to 0, and Sensor 2 transmits at every (100 / 7 + 20) ps, then another sensor, say, Sensor 3, can be instructedAttorney Docket No. RADR-023W001to listen to the hops that start every 100 / 7 + 20 ps but not every 100 / 7 ps. This would ensure that Sensor 3 detects responses to Sensor 2 instead of Sensor 1.

[0049] The interrogator controller 130 can use measurements from synchronized sensors 110 to estimate the tag’s location in two or three dimensions from a single reply 121. For environments with high tag densities and many sensors 110, this can cut the location measurement time by tens of seconds to minutes, which is how long it can take a second or third sensor 110 to read the tag 120. Using sensors at different locations to make multiple AOA and / or range measurements simultaneously reduces or eliminates these errors caused by tag movements.

[0050] Synchronization can also improve the ability to locate moving tags. Consider several sensors that interrogate a tag several times in quick succession while the tag is moving. For example, the sensors may use an EPC mask for that tag to read it 10-100 times during a single hop, with one sensor transmitting the interrogation signals with the EPC mask and all of the sensors in range detecting the tag’s replies. If the sensors are synchronized, then the interrogator controller can align the tag’s replies more precisely, which is especially useful if the reply error rate is high enough to prevent the interrogator controller from correlating replies received at different sensors in a 1:1 fashion.

[0051] Additional information about listener and interrogator modes and related systems and methods may be found in U.S. Patent No. 12,511,502, entitled “RFID Tag Readers Switchable Between Interrogator and Listener Modes,” the entirety of which is incorporated herein by reference.RFID Tag Reader Architecture

[0052] FIG. 3 illustrates a sensor 110 in greater detail, including components that can be enabled or disabled if the sensor 110 is in interrogator mode or listener mode. The sensor 110 includes an RF antenna array 118, front end 356, processor 112, RF calibration and tuning block 354, hop generator 360, and hop receiver 370. The RF antenna array 118 may include one or more antenna elements (e.g., arranged in a multi -element antenna array). The front end 356 includes amplifiers, filters, and / or other analog RF components for transmitting RFID interrogation signals 150 and receiving tag replies 121 and, optionally, RFID interrogation signals from other readers when operating in listener mode.

[0053] The processor 112 may be implemented in a microcontroller, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other suitable device andAttorney Docket No. RADR-023W001controls the operation of the sensor 110, including, if desired, steering of the reader’s antenna array 118. The processor 112 stores information in and retrieves information from a memory (not shown) and communicates with the interrogator controller 130 (FIG. 1) via the network connection 131, such as an Ethernet connection 142. If the sensor 110 is configured to operate in interrogator and listener modes, the processor 112 switches the sensor 110 between interrogator and listener modes, with the hop generator 360 being disabled or off in listener mode and enabled or on in interrogator mode and the hop receiver 370 being enabled or on in both modes. The RF calibration and tuning block 354 performs RF calibration and tuning functions.

[0054] Sensor 110 further includes a clock 114, which may be communicatively coupled to processor 112 and to a crystal oscillator or similar timekeeping signal generator 116 (FIG. 1). A typical crystal oscillator drifts at a rate of < 10 ppm. This equates to a drift of less than 40 ns over a 400 ms hop per sensor, or a relative drift of less than 80 ns per hop for two sensors with clocks drifting apart from each other. Sensor 110 can modify the time kept by its clock 114 based on the interrogator controller’s observations on timing offsets and timing drifts. For example, the sensor can perform both bulk adjustments (moving the time forward or backwards, e.g., by a certain number of microseconds) and accumulator adjustments (e.g., if the clock 114 increments the time by one second every 4,000,100 clock ticks instead of every 4,000,000 clock ticks, the clock 114 could drop one clock tick every 40,000 ticks). Block adjustments tend to be simpler and may be made periodically. For an accuracy better than 1 ps with a clock drift of about 10 ppm, the time kept by the clock 114 should be measured and possibly block-adjusted at least every 25 seconds. Performing block and accumulator adjustments and / or uses estimates of the clock drift reduces the frequency of these block adjustments, which is useful if there are long periods between synchronization updates.

[0055] The hop generator 360 generates the interrogation signals 150 that the sensor 110 transmits to the RFID tags 120. The hop generator 360 can optionally also generate commands or communications signals intended for other readers 110, e.g., on a dedicated reader communications channel or with particular preambles or payloads, such as synchronization commands or timestamps. It includes a digital command generator 362, which generates the digital queries, commands, and / or other information conveyed by the interrogation signals 150, and RF electronics 364 for turning the digital signals from the command generator 362 into analog signals suitable for transmission by the antenna array in the front end 356. The RF electronics 364 may include a digital-to-analog converter (DAC) that converts the digital signalAttorney Docket No. RADR-023W001into a baseband analog signal, a mixer and local oscillator to mix the baseband analog signal up to an intermediate frequency for broadcast, and filters and / or pulse shapers to remove sidebands and / or spurs.

[0056] The hop receiver 370 includes a receiver front end 372 coupled to a command demodulator 374 and a tag reply demodulator 376. Generally, the receiver front end 372 digitizes, downconverts, and estimates the phase of the RF signals detected by the antenna(s). There are a variety of ways to configure the receiver front end 372; in this example, it receives analog in-phase and quadrature (I / Q) signals at higher frequency (e.g., 40 MHz) and converts them into digital I / Q samples at baseband (e.g., 5 MHz).

[0057] The command demodulator 374 can determine when the sensor 110 receives a signal for synchronization. As explained above, the command demodulator 374 can use the start or end of the delimiter, which is a 12.5 ps period of no (cw) transmission indicating the start of the command, as the event for synchronization. The command demodulator 374 could also use the time of the first payload symbol or the start / end of the last payload symbol in the command as the event for synchronization. Or it can timestamp a feature of the tag’s reply, such as the start or end of the preamble or payload, although tag replies tend to be more difficult to detect given their lower amplitudes than commands.

[0058] In interrogator mode, the front end 372 also cancels any self-interference caused by the interrogation signals 150, for example, due to leakage within the receiver. Fortunately, the receiver front end 372 can generally cancel crosstalk between different antenna elements and the circuits coupled to those antenna elements because the crosstalk is correlated with the interrogation signal 150. This crosstalk can be further reduced or suppressed by spacing the antenna elements farther apart from each other as explained in U.S. Patent No. 12,541,662, entitled “Antenna Arrays and Signal Processing for RFID Tag Readers,” which is incorporated herein by reference in its entirety for all purposes.

[0059] When the sensor 110 is in listener mode, it does not transmit an interrogation signal, nor does it perform self-interference cancellation. In listener mode, the sensor 110 detects the channels on which the other readers 110 transmit interrogation signals 150 and estimates the carrier frequencies (frequency channels) of those other interrogation signals 150.

[0060] The command demodulator 374 is enabled when the sensor 110 is in listener mode and demodulates commands from other readers to reproduce the interrogator’s signals at the command bit rate (e.g., 26.7 kbps to 128 kbps). The command bit rate is equal to the reciprocalAttorney Docket No. RADR-023W001of 1.25 to 1.5 times the Type A Reference Interval (TARI), which the duration of a pulse of energy used to indicate a 0 in binary code. The TARI can vary from 6.25 ps to 25 ps. The command demodulator 374 uses the command payload to determine what the reader in interrogator mode is asking of the tag 120 (e.g., modulation, preamble type, expected reply type, etc.). For example, the sensor 110 in interrogator mode may ask the tag 120 to send the first 64 bits of its EPC using Miller-2 modulation at 320 kHz backscatter link frequency (BLF) with the standard preamble. The readers 110 in listener mode use that information to decode the tag reply 121. The command demodulator 374 is disabled when the reader 110 is in interrogator mode.

[0061] The tag reply demodulator 376 is enabled in both interrogator and listener modes and demodulates the baseband tag reply EQ samples to produce tag reply signals at the tag reply bit rate.Interrogator Controller Architecture

[0062] FIG. 4 shows an interrogator controller 130 in greater detail. The interrogator controller 130 can include one or more processors, non-volatile memories, and other logic devices implemented as integrated circuits and powered by appropriate power supplies and other housekeeping electronics. These processors and logic devices may include discrete components that perform discrete functions and / or more general -purpose components that are programmed to perform a variety of functions, either by themselves or in concert with other components of the interrogator controller 130. For instance, the interrogator controller 130 includes processor 132 (e.g., a central processor unit (CPU)) running an operating system (e.g., Alpine Linux OS) that manages the controller appliance’s hardware and software resources, including communications interfaces 131, shown as Ethernet connections EthO and Ethl, connected to the readers 110 and / or other devices. The interrogator controller’s non-volatile memory can store the operating system and other firmware and software as well as tag state information.

[0063] FIG. 4 illustrates the interrogator controller 130 as a block diagram, where each block represents a different function or sub-function performed by the interrogator controller 130. To monitor and update tag states, the interrogator controller 130 includes or implements an instore message router 480, RFID interrogator controller (RFID-IC) 482, location state manager 484, tag state manager 486, and retail backend application programming interface (API) 488. The in-store message router 480 queues and routes messages exchanged between the readersAttorney Docket No. RADR-023W001110 and RFID-IC 482 via the Ethernet connections EthO and Ethl . These messages may include timestamps from common events timestamped at the readers 110 controlled by the interrogator controller 130. The RFID-IC 482 can either adjust the scheduled times for each sensor 110 or ask the sensors 110 to adjust their (local) times based on these timestamps.

[0064] The RFID-IC 482 employs a split media access controller (MAC) design to handle messages exchanged with the readers 110, with a lower MAC layer implemented in the readers 110 and an upper MAC layer implemented in the RFID-IC 482. The lower MAC layer determines timestamps and parameters, estimated from the RFID tag’s backscattered response, useful for determining the tag’s position. The upper MAC layer schedules hop transmissions and the general purpose of each hop. For each hop, it determines which sensors are interrogators, which are listeners, potentially which directions each sensor’s antenna array should point, the hop duration, and possibly even the interrogators’ power levels. The lower MAC layer is implemented in the sensors and executes more time-critical functions, such as actually scheduling when to transmit commands and how to react to replies within a hop. A positioning layer comprising the RFID-IC 482 and / or the reader(s) 110 calculates the RFID tag’s position in a 3D coordinate system (e.g., Cartesian coordinates with an origin at a known location in the store or room) from data coming from the MAC and PHY layers. The messages from the reader 110 may also include data read from the RFID tag, including the RFID tag’s EPC and other metadata.

[0065] The location state manager 484 and tag state manager 486 track the RFID tag’s location and state, respectively. The location state manager 484 receives the RFID tag’s estimated location from the RFID-IC 482 (e.g., in a Cartesian coordinate frame with the origin at one corner of the store) and determines where (e.g., the room and zone) in the RFID environment in which the RFID tag is located. The rooms and zones may be extracted from a 3D model of the store or space. In a retail RFID environment, the rooms and zones can include a receiving area, stockroom, sales floor, and changing room, with the sales floor further divided into an entrance / exit zone and a checkout zone. The location state manager 484 updates each RFID tag’s location in an inventory database 490, which may be hosted locally or off site (e.g., in the cloud), based on changes in location detected by the reader(s) 110.

[0066] The tag state manager 486 manages the tag’s state, including its location and availability. There are several possible availability states, including but not limited to: (1) available; (2) stale (optional); (3) ignored; (4) missing; and / or (5) sold. There may be other states as well. The tag state manager 486 transitions the RFID tags 401 among these statesAttorney Docket No. RADR-023W001based on the tags’ responses (or lack of responses) to queries from the readers 110, including information about the tags’ locations, and on the tag states stored in the inventory database 490. For more on tag states and stateful inventory management, please see U.S. Pre-Grant Publication No. 2024 / 0386375 Al, entitled “Stateful Inventory for Monitoring RFID Tags,” which is incorporated herein by reference in its entirety.

[0067] The tag state manager 486 updates the tag states stored in the inventory database 490 and forwards both the tag state and tag location estimate to the retail backend lite API 488, which implements the backend functions for inventory, restocking, and product lookup. The retail backend lite API 488 can implement these functions via a web app gateway 494, which implements a Hypertext Transfer Protocol (HTTP) proxy, redirecting Representational State Transfer (REST) requests to the appropriate backend server (not shown). The web app gateway 494 can also provide user authentication and authorization and serves the static files used by browsers to render web pages.

[0068] FIG. 4 also shows several optional components of the interrogator controller 130, including a raw tag server 492, space server 493, Trivial File Transfer Protocol (TFTP) server 495, multicast Domain Name Service (mDNS) server 496, Network Time Protocol (NTP) server 497, Secure Shell (SSH) server 498, and Secure Sockets Layer (SSL) certificate store 499. The space server 493 handles firmware lifecycle management and configuration of the sensors 110 and Power-over-Ethemet (PoE++) switches (not shown) that connect the interrogator controller 130 to the sensors 110. The raw tag server 492 retrieves tag metadata for legacy APIs, such as those used by API clients for system debugging. When they boot, the sensors 110 download executable images from the TFTP Server 495. The mDNS server 496 enables the interrogator controller 130 to advertise itself using the mDNS and DNS-SD protocols, e.g., for debugging. The NTP server 497 connects and synchronizes with a remote (e.g., Internet-based) NTP server or reference clock (FIG. 1) and provides NTP service to the sensors 110. The SSH server 498 is also used for debugging. And the SSL certificate store 499 hosts the server certificates used by the sensors 110 and the web-server certificate used by the REST clients to authenticate the interrogator controller 130.

[0069] NTP server 497 may utilize an intersection algorithm (which may be a modified version of Marzullo’s algorithm) to select an accurate time source to synchronize one or more sensors or other devices communicatively coupled to interrogator controller 130. NTP may utilize a hierarchical layering of devices (also known as strata) that may be designated between stratum 0 and stratum 16, where stratum 0 is a high-precision timekeeping source such as an atomicAttorney Docket No. RADR-023W001clock, GPS-based system, radio clock, and / or precision time protocol (PTP) device, and stratum 16 is populated by unsynchronized devices. Devices on a given stratum n will act as synchronization sources for devices on stratum n+1.

[0070] The interrogator controller 130 could be at a lower stratum than the sensors. For example, the interrogator controller 130 may be a stratum 1 device and one or more sensors 110 synchronized through NTP server 497 may be stratum 2 devices. NTP server 497 may identify a synchronization source by using a reference identifier (refid). For devices on stratum 2 and below, the refid may be an encoded form of an upstream device (i.e., a device with a stratum between 0 and n-1 where n is the stratum level of the device). NTP server 497 may generate 64-bit binary timestamps, which may include a 32-bit portion for seconds and a 32-bit portion for fractional seconds.Conclusion

[0071] While various inventive embodiments have been described and illustrated herein, those of ordinary skill in the art will readily envision a variety of other means and / or structures for performing the function and / or obtaining the results and / or one or more of the advantages described herein, and each of such variations and / or modifications is deemed to be within the scope of the inventive embodiments described herein. More generally, those skilled in the art will readily appreciate that all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and / or configurations will depend upon the specific application or applications for which the inventive teachings is / are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific inventive embodiments described herein. It is, therefore, to be understood that the foregoing embodiments are presented by way of example only and that, within the scope of the appended claims and equivalents thereto, inventive embodiments may be practiced otherwise than as specifically described and claimed. Inventive embodiments of the present disclosure are directed to each individual feature, system, article, material, kit, and / or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and / or methods, if such features, systems, articles, materials, kits, and / or methods are not mutually inconsistent, is included within the inventive scope of the present disclosure.

[0072] Also, various inventive concepts may be embodied as one or more methods, of which an example has been provided. The acts performed as part of the method may be ordered inAttorney Docket No. RADR-023W001any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.

[0073] All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and / or ordinary meanings of the defined terms.

[0074] The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.”

[0075] The phrase “and / or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and / or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and / or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and / or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.

[0076] As used herein in the specification and in the claims, “or” should be understood to have the same meaning as “and / or” as defined above. For example, when separating items in a list, “or” or “and / or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of’ or “exactly one of,” or, when used in the claims, “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e. “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of,” “only one of,” or “exactly one of.” “Consisting essentially of,” when used in the claims, shall have its ordinary meaning as used in the field of patent law.

[0077] As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one elementAttorney Docket No. RADR-023W001selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and / or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.

[0078] In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of’ and “consisting essentially of’ shall be closed or semi-closed transitional phrases, respectively, as set forth in the United States Patent Office Manual of Patent Examining Procedures, Section 2111.03.

Claims

Attorney Docket No. RADR-023W001CLAIMS1. A method of synchronizing a clock of a first radio-frequency identification (RFID) tag reader with a clock of a second RFID tag reader, the method comprising:transmitting, by the first RFID tag reader, a radio-frequency (RF) signal at a first time according to the clock of the first RFID tag reader;receiving, by the second RFID tag reader, the RF signal at a second time different than the first time according to the clock of the second RFID tag reader;transmitting, by the second RFID tag reader, an indication of the second time to an interrogator controller;determining, by the interrogator controller, an offset between the first time and the second time; andadjusting at least one of the clock of the first RFID tag reader or the clock of the second RFID tag reader based on the offset between the first time and the second time.

2. The method of claim 1, wherein transmitting the RF signal comprises transmitting an RFID signal to an RFID tag.

3. The method of claim 1, wherein the indication of the second time is a timestamp of a start or an end of a command in the RF signal.

4. The method of claim 1, wherein the indication of the second time is a timestamp of a start or an end of a delimiter in the RF signal.

5. The method of claim 1, further comprising:transmitting, by the first RFID tag reader to the interrogator controller, an indication of the first time,wherein determining the offset between the first time and the second time is based on the indication of the first time and the indication of the second time.

6. The method of claim 1, further comprising:instructing, by an interrogator controller, the first RFID tag reader to transmit the RF signal at the first time.Attorney Docket No. RADR-023W0017. A radio-frequency identification (RFID) system comprising:a first RFID tag reader to transmit a radio-frequency (RF) signal at a first time according to a clock of the first RFID tag reader;a second RFID tag reader to receive the RF signal at a second time different than the first time according to the clock of the second RFID tag reader; andan interrogator controller, operably coupled to the first RFID tag reader and the second RFID tag reader, to receive an indication of the second time from the second RFID tag reader, to determine an offset between the first time and the second time, and to adjust at least one of the clock of the first RFID tag reader or the clock of the second RFID tag reader based on the offset between the first time and the second time.

8. The RFID system of claim 7, wherein the first RFID tag reader is configured to transmit the RF signal as an RFID signal to an RFID tag.

9. The RFID system of claim 7, wherein the first RFID tag reader is further configured transmit an indication of the first time to the interrogator controller and the interrogator controller is configured to determine the offset between the first time and the second time based on the indication of the first time and the indication of the second time.

10. The RFID system of claim 7, wherein the interrogator controller is configured to instruct the first RFID tag reader to transmit the RF signal at the first time.

11. The RFID system of claim 7, wherein the indication of the second time is a timestamp of a start or an end of a command in the RF signal.

12. The RFID system of claim 7, wherein the indication of the second time is a timestamp of a start or an end of a delimiter in the RF signal.

13. A method of synchronizing a clock of a first radio-frequency identification (RFID) tag reader with a clock of a second RFID tag reader, the method comprising:broadcasting, by the first RFID tag reader, an RFID signal indicating a first time; receiving, by the second RFID tag reader, the RFID signal indicating the first time; andAttorney Docket No. RADR-023W001setting the clock of the second RFID tag reader to the first time in response to the RFID signal.

14. The method of claim 13, wherein the first RFID tag reader is a handheld RFID tag reader.

15. A method of synchronizing a clock of a first radio-frequency identification (RFID) tag reader with a clock of a second RFID tag reader, the method comprising:transmitting, to the first RFID tag reader and the second RFID tag reader, a schedule instructing the first RFID tag reader to transmit a radio-frequency (RF) signal at a first time;transmitting, by the first RFID tag reader, the RF signal at the first time according to the clock of the first RFID tag reader;receiving, by the second RFID tag reader, the RFID signal at a second time different than the first time according to the clock of the second RFID tag reader; andadjusting the clock of the second RFID tag reader in response to receiving the RFID signal at the second time according to the clock of the second RFID tag reader.

16. The method of claim 15, wherein transmitting the RF signal comprises broadcasting the RF signal via an antenna of the first RFID tag reader and receiving the RF signal comprises detecting the RF signal with an antenna of the second RFID tag reader.

17. The method of claim 15, wherein adjusting the clock of the second RFID tag reader comprises calculating an offset between the first time and the second time and setting the clock of the second RFID tag reader to eliminate the offset.

18. The method of claim 15, wherein adjusting the clock of the second RFID tag reader comprises setting the clock of the second RFID tag reader to the first time upon receipt, by the second RFID tag reader, of the RF signal.

19. The method of claim 15, wherein adjusting the clock of the second RFID tag reader comprises setting the clock of the second RFID tag reader to within 0.1 ms of the clock of the first RFID tag reader.

20. The method of claim 15, further comprising:Attorney Docket No. RADR-023W001receiving, by the first RFID tag reader and the second RFID tag reader, a reply to the RF signal from an RFID tag.

21. The method of claim 15, further comprising:transmitting the schedule to a third RFID tag reader;receiving, by the third RFID tag reader, the RF signal at a third time different than the first time according to the clock of the third RFID tag reader; andadjusting the clock of the third RFID tag reader in response to receiving the RF signal at the third time according to the clock of the third RFID tag reader.

22. The method of claim 15, wherein the RFID signal is a first RF signal and the schedule further instructs the second RFID tag reader to transmit a second RF signal at a third time, and further comprising:transmitting the schedule to a third RFID tag reader;receiving, by the third RFID tag reader, the second RF signal at a fourth time different than the third time according to the clock of the third RFID tag reader; andadjusting the clock of the third RFID tag reader in response to receiving the second RF signal at the fourth time according to the clock of the third RFID tag reader.

23. The method of claim 15, wherein the RF signal is a first RF signal and the schedule further instructs the second RFID tag reader to transmit a second RF signal at a third time, and further comprising:transmitting, by the second RFID tag reader, the second RF signal at the third time according to the clock of the second RFID tag reader;receiving, by the first RFID tag reader, the second RF signal at a fourth time different than the third time according to the clock of the first RFID tag reader; andadjusting the clock of the first RFID tag reader in response to receiving the second RF signal at the fourth time according to the clock of the first RFID tag reader.

24. A method of synchronizing a clock of a first radio-frequency identification (RFID) tag reader with a clock of a second RFID tag reader, the method comprising:transmitting, by the first RFID tag reader, an RFID signal to an RFID tag; receiving, by the first RFID tag reader, a reply to the RFID signal from the RFID tag at a first time according to the clock of the first RFID tag reader;Attorney Docket No. RADR-023W001transmitting, by the first RFID tag reader, an indication of the first time to an interrogator controller;receiving, by the second RFID tag reader, the reply to the RFID signal from the RFID tag at a second time different than the first time according to the clock of the second RFID tag reader;transmitting, by the second RFID tag reader, an indication of the second time to the interrogator controller;determining, by the interrogator controller, an offset between the first time and the second time; andadjusting at least one of the clock of the first RFID tag reader or the clock of the second RFID tag reader based on the offset between the first time and the second time.