Method for waking from energy-efficient hibernation
10841894 ยท 2020-11-17
Assignee
Inventors
Cpc classification
H04W52/0219
ELECTRICITY
H04W64/00
ELECTRICITY
H04W4/80
ELECTRICITY
Y02D10/00
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y02D30/70
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04W4/70
ELECTRICITY
International classification
H04W4/80
ELECTRICITY
H04W64/00
ELECTRICITY
H04W4/70
ELECTRICITY
Abstract
The present invention is directed to energy-efficient hibernation in indoor wireless localization systems. A tag passively associates with a detection point (DP) and establishes a reveille time. The tag will awaken at the reveille time and send or receive a beacon to or from its associated DP. If the tag is receiving a beacon, it will awaken, receive, phase-lock its clock based on when the beacon was expected and when it was actually received, and return to hibernation. The DP transmits a scattershot of beacons, one for every tag in the system. If the tag is sending a beacon, it will awaken, send its beacon, and return to hibernation. The DP will receive the beacon and adjust its own clock based on the delay between when the beacon was expected and when it was actually received. The tag will broadcast its location to the DP on a set interval.
Claims
1. A method (200) of waking from energy-efficient hibernation to transmit an indoor localization beacon, wherein the method comprises: a. passively associating (201), by a tag (1001), with a DP of a plurality of DPs if the tag (1001) has moved to a new location, wherein associating comprises determining, by the tag (1001), a reveille time, wherein the reveille time is equal to at least one of a hash or a concatenation of a tag ID and a DP ID; b. awakening (202) at a second interval, by the tag (1001), at the reveille time using a first clock (1004), wherein awakening further comprises: i. transmitting (203) at a first interval, by the awakened tag (1001), a beacon, wherein the beacon comprises an address, ii. receiving (204), by the DP (1002), the beacon, iii. confirming (205), by the DP (1002), the address, iv. updating (210), by the DP (1002), the location of the tag (1001), v. delaying (206), by the DP (1002), the timing of future transmission to the tag (1001) using a second clock (1005), wherein the delay is equal to a difference between when the beacon was received to when the beacon was expected vi. sleeping (209), by the awakened tag (1001); wherein communication between the tag (1001) and the DP (1002) comprises two-way authentication, wherein the two-way authentication comprises comparing a first challenge encrypted by the tag (1001) and a second challenge encrypted by the DP (1002), wherein the first challenge is a prime integer equal to the second challenge.
2. The method of claim 1, further comprising receiving, by each DP (1002) of the plurality of DPs, the updated location and filtering, by each DP (1002) of the plurality of DPs, noise associated with each transmission using a Kalman filter.
3. The method of claim 2 further comprising: a. determining, by each DP (1002) of the plurality of DPs, an Angle of Arrival of the Kalman-filtered transmission; and b. applying, by each DP (1002) of the plurality of DPs, MUltiple SIgnal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
4. The method of claim 1, wherein the clock is a resistive-capacitive circuit timing element (1004).
5. The method of claim 1, wherein the tag (1001) awakens from sleep by initiating a bare boot, wherein the bare boot comprises booting from a hibernation state directly to an awakened state.
6. The method of claim 5, wherein the bare boot comprises booting from hibernation without performing a system check, without reading all memory locations to ensure that memory has not been corrupted, and without checking the IO of peripherals.
7. A method (200) of waking from energy-efficient hibernation to transmit an indoor localization beacon, wherein the method comprises: a. passively associating (201), by a tag (1001), with a DP of a plurality of DPs if the tag (1001) has moved to a new location, wherein associating comprises determining, by the tag (1001), a reveille time, wherein the reveille time is equal at least one of a hash or a concatenation of a tag ID and a DP ID; b. awakening (202) at a second interval, by the tag (1001), at the reveille time using a first clock (1004), wherein awakening further comprises: i. transmitting (203) at a first interval, by the awakened tag (1001), a beacon, wherein the beacon comprises an address, ii. receiving (204), by the DP (1002), the beacon, iii. confirming (205), by the DP (1002), the address, iv. updating (210), by the DP (1002), the location of the tag (1001), v. delaying (206), by the DP (1002), the timing of future transmission to the tag (1001) using a second clock (1005), wherein the delay is equal to a difference between when the beacon was received to when the beacon was expected vi. sleeping (209), by the awakened tag (1001); wherein communication between the tag (1001) and the DP (1002) comprises two-way authentication, wherein the two-way authentication comprises comparing a first challenge encrypted by the tag (1001) and a second challenge encrypted by the DP (1002), wherein the first challenge is a prime integer equal to the second challenge.
8. The method of claim 7, further comprising receiving, by each DP (1002) of the plurality of DPs, the updated location and filtering, by each DP (1002) of the plurality of DPs, noise associated with each transmission using a Kalman filter.
9. The method of claim 8 further comprising: a. determining, by each DP (1002) of the plurality of DPs, an Angle of Arrival of the Kalman-filtered transmission; and b. applying, by each DP (1002) of the plurality of DPs, MUltiple SIgnal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
10. The method of claim 7, wherein the first clock (1004) is a resistive-capacitive circuit timing element (1004) and the second clock (1005) is a temperature-compensated crystal oscillator (TCXO) timing element (1005).
11. The method of claim 7, wherein the tag (1001) awakens from sleep by initiating a bare boot, wherein the bare boot comprises booting from a hibernation state directly to an awakened state.
12. The method of claim 11, wherein the bare boot comprises booting from booting from hibernation without performing a system check, without reading all memory locations to ensure that memory has not been corrupted, and without checking the IO of peripherals.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
(1) The features and advantages of the present invention will become apparent from a consideration of the following detailed description presented in connection with the accompanying drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
DETAILED DESCRIPTION OF THE INVENTION
(19) Following is a list of elements corresponding to a particular element referred to herein:
(20) 1001 tag/radiofrequency (RF) tag
(21) 1002 detection point (DP)
(22) 1003 first challenge integer in two-way authentication
(23) 1004 resistive-capacitive circuit timing element
(24) 1005 temperature-compensated crystal oscillator (TCXO) timing element
(25) 1006 second challenge integer in two-way authentication
(26) 1101 processor of tag/RF tag
(27) 1102 RAM device of tag/RF tag
(28) 1103 antenna of tag/RF tag
(29) 1104 memory device of tag/RF tag
(30) 1105 processor of DP
(31) 1106 RAM device of DP
(32) 1107 antenna of DP
(33) 1108 memory of DP
(34) 1201 transmission
(35) 1301 beacon (RF advertising packet)
(36) 1302 payload
(37) 1303 RecipientArray
(38) 1304 command
(39) Referring to
(40) In some embodiments, the method may further comprise each DP (1002) of the plurality of DPs receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise each DP (1002) of the plurality of DPs determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(41) Referring to
(42) In some embodiments, the method may further comprise each DP (1002) of the plurality of DPs receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise each DP (1002) of the plurality of DPs determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(43) Referring to
(44) Referring to
(45) In some embodiments, the method may further comprise each DP (1002) of the plurality of DPs receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise each DP (1002) of the plurality of DPs determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival. In some embodiments, a second clock (1005), associated with the DP (1002) is a TCXO timing element (1005).
(46) Referring to
(47) In some embodiments, the method may further comprise each DP (1002) of the plurality of DPs receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise each DP (1002) of the plurality of DPs determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(48) Referring to
(49) In some embodiments, the system may further comprise the DP (1002). The DP may comprise a second processor (1105) capable of executing computer-executable instructions, a second RAM component (1106), a second antenna (1107), and a second memory component (1108). The memory may further comprise instructions for transmitting (102) at a first interval the beacon for every possible address, wherein the beacon comprises the address.
(50) In some embodiments, the memory (1108) of the DP (1002) may further comprise instructions for receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(51) In some embodiments, the first clock (1004), associated with the RF tag (1001), is a resistive-capacitive circuit timing element (1004) and the second clock (1005), associated with the DP (1002), is a TCXO timing element (1005).
(52) Referring again to
(53) In some embodiments, the system may further comprise the DP (1002). The DP may comprise a second processor (1105) capable of executing computer-executable instructions, a second RAM component (1106), a second antenna (1107), and a second memory component (1108). The memory may comprise instructions for receiving (204) the beacon, confirming (205) the address, and delaying (206) future transmissions to the RF tag (1001) using a second clock (1005). In some embodiments, the delay may be equal to a difference between when the beacon was received to when the beacon was expected.
(54) In some embodiments, the memory (1108) of the DP (1002) further comprises instructions for receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(55) In some embodiments, the first clock (1004), associated with the RF tag (1001) is a resistive-capacitive circuit timing element (1004) and the second clock (1005), associated with the DP (1002) is a TCXO timing element (1005).
(56) Referring again to
(57) In some embodiments, the system may further comprise the DP (1002). The DP may comprise a second processor (1105) capable of executing computer-executable instructions, a second RAM (1106), a second antenna (1107), and a second memory component (1108). The memory may comprise instructions for transmitting (403) at a first interval the beacon for every possible address, wherein the beacon comprises the address.
(58) In some embodiments, the memory (1108) of the DP (1002) may further comprise instructions for receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(59) In some embodiments, the first clock (1004), associated with the RF tag (1001), is a resistive-capacitive circuit timing element (1004) and the second clock (1005), associated with the DP (1002), is a TCXO timing element (1005).
(60) Referring again to
(61) In some embodiments, the system may further comprise the DP (1002). The DP may comprise a second processor (1105) capable of executing computer-executable instructions, a second RAM component (1106), a second antenna (1107), and a second memory component (1108). The memory may comprise instructions for receiving (504) the beacon, confirming (505) the address, and delaying (506) future transmission to the RF tag (1001) using a second clock (1005). The delay may be equal to a difference between when the beacon was received to when the beacon was expected.
(62) In some embodiments, the memory (1108) of the DP (1002) may further comprise instructions for receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise determining an Angle of Arrival of the Kalman-filtered transmission, applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(63) In some embodiments, the first clock (1004), associated with the RF tag (1001), is a resistive-capacitive circuit timing element (1004) and the second clock (1005), associated with the DP (1002), is a TCXO timing element (1005).
(64) Referring again to
(65) In some embodiments, the system may further comprise the DP (1002). The DP may comprise a second processor (1105) capable of executing computer-executable instructions, a second RAM component (1106), a second antenna (1107), and a second memory (1108). The memory may comprise instructions for transmitting (602) every 100 milliseconds the beacon 4 times for every array index of the array. The beacon may comprise the array of bits and wherein the bit located at the array index that is equal to reveille time is set to 1 and all other bits are set to 0.
(66) In some embodiments, each DP (1002) of the plurality of DPs may receive the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise determining, by each DP (1002) of the plurality of DPs, an Angle of Arrival of the Kalman-filtered transmission, and applying, by each DP (1002) of the plurality of DPs, MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(67) In some embodiments, the first clock (1004), associated with the tag (1001), is a resistive-capacitive circuit timing element (1004) and the second clock (1005), associated with the DP (1002), is a TCXO timing element (1005).
(68) Referring again to
(69) In some embodiments, the system may further comprise a DP (1002). The DP may comprise a second processor (1105) capable of executing computer-executable instructions, a second RAM component (1106), a second antenna (1107), and a second memory component (1108). The memory may comprise instructions for receiving (704) the beacon in the DP (1002), and confirming that the beacon is addressed to the DP (1002). The procedure for confirming may comprise finding (705) the bit in the array that is equal to 1, and verifying (706) whether the array index of the found bit is equal to reveille time. The memory may further comprise instructions for the DP (1002) adjusting its timing of future transmissions to the tag (1001) according to a delay that is equal to a difference between when the beacon was received and when the beacon was expected using a second clock (1005).
(70) In some embodiments, each DP (1002) of the plurality of DPs may receive the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise determining, by each DP (1002) of the plurality of DPs, an Angle of Arrival of the Kalman-filtered transmission, and applying, by each DP (1002) of the plurality of DPs, MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(71) In some embodiments, the first clock (1004), associated with the tag (1001), is a resistive-capacitive circuit timing element (1004) and the second clock (1005), associated with the DP, is a TCXO timing element (1005).
(72) In some embodiments of the present invention, the frequency at which a system executes a WakeUp subroutine may be increased in order for a DP (1002) to reach a greater plurality of tags in a sector or to account for noise. The frequency at which the system executes a WakeUp subroutine may also be decreased for a smaller plurality of tags in a sector. In some embodiments, a tag (1001) will await a transmission from a DP (1002) at reveille time for a specific amount of time before timing out and returning to sleep. In other embodiments, a tag (1001) will continue waiting for a transmission by a DP (1002) at reveille time until a transmission is received. In some embodiments, a DP (1002) may send an alert to a higher-level layer of a network when an unresponsive tag (1001) is detected.
EXAMPLE
(73) The following is a non-limiting example of the present invention. It is to be understood that said example is not intended to limit the present invention in any way. Equivalents or substitutes are within the scope of the present invention.
(74) Referring to
(75) The method of the specific embodiment may further comprise the tag (1001) executing a WakeUp subroutine every 30 seconds. The WakeUp subroutine may comprise the tag (1001) awakening (603) at the reveille time using a first clock (1004), initiating (604) a bare boot, receiving (605) at least one of the 4 beacons, and confirming that each received beacon of the at least 4 beacons is addressed to the tag (1001). The first clock (1004) may be a resistive-capacitive circuit timing element (1004). The procedure for confirmation may comprise the tag (1001) finding (606) the bit in the array that is equal to 1, and verifying (607) whether the array index of the found bit is a combination of the tag (1001) ID and the DP (1002) ID. The WakeUp subroutine may further comprise the tag (1001) phase-locking (608) the first clock (1004) based on a difference between when the beacon was received and when the beacon was expected, and returning to sleep (609). The method may further comprise the tag (1001) broadcasting (610) 20 transmissions (1201) to the plurality of DPs every 15 minutes at a rate of 1 transmission every 100 milliseconds, wherein each of the 20 transmissions (1201) comprises an updated location of the tag (901).
(76) The method may further comprise each DP (1002) of the plurality of DPs receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise each DP (1002) of the plurality of DPs determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival. A second clock (1005), associated with the DP (1002) may be a temperature-compensated crystal oscillator (TCXO) timing element (1005).
(77) Referring to
(78) The method of the specific embodiment may further comprise each DP (1002) of the plurality of DPs receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise each DP (1002) of the plurality of DPs determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival. The second clock (1005), associated with the DP (1002) may be a TCXO timing element (1005).
(79) Referring to
(80) The method of the specific embodiment may further comprise the DP (1002) executing a WakeUp subroutine for each index of the RecipientArray. The WakeUp subroutine may comprise the DP (1002) transmitting (805) 4 beacons at a rate of 1 beacon every 100 milliseconds using a TCXO timing element (1005). For each beacon (1301) of the 4 beacons, the bit located at the index of RecipientArray (1303) is equal to 1 and every other bit of the RecipientArray (1303) is equal to 0.
(81) The method of the specific embodiment may further comprise the tag (1001) executing a Respond subroutine every 30 seconds. The Respond subroutine may comprise the tag (1001) awakening (806) at the ReveilleTime using a resistive-capacitive circuit timing element (1004), and listening (807) for the 4 ExpectedBeacons. The procedure for listening may comprise the tag (1001) receiving (808) the beacon (1301) comprising a RecipientArray (1303), wherein each bit of the RecipientArray is located at an index. Listening may further comprise the tag (1001) finding (809) an index of a bit that is equal to one, and determining (810) that the received beacon is an ExpectedBeacon if the index of the bit is equal to the combination of the tag ID and the DP ID. The procedure for listening may be repeated until the tag (1001) receives the 4 ExpectedBeacons. The Respond subroutine may further comprise the tag (1001) determining (811) a time difference between a time when the 4 ExpectedBeacons were received and a time when the 4 ExpectedBeacons were expected, utilizing (812) the time difference in a phase lock loop to correct the resistive-capacitive circuit timing element (1004) of the tag (1001), and returning to sleep (813).
(82) The method of the specific embodiment may further comprise updating (814), by the tag (1001), the location of the tag (1001) every 15 minutes. The procedure for updating may comprise the tag (1001) transmitting (815) 20 transmissions (1201) at a rate of 1 transmission every 100 milliseconds, each DP (1002) of the plurality of DPs receiving (816) the 20 transmissions (1201), and filtering (817) noise associated with each transmission of the 20 transmissions (1201).
(83) The method of the specific embodiment may further comprise each DP (1002) of the plurality of DPs receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise each DP (1002) of the plurality of DPs determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(84) Referring to
(85) The method of the specific embodiment may further comprise the tag (1001) executing a WakeUp subroutine every 30 seconds. The WakeUp subroutine may comprise the tag (1001) awakening (904) at the ReveilleTime using a resistive-capacitive circuit timing element (1004), and transmitting (905) 4 beacons at a rate of 1 beacon every 100 milliseconds using a resistive-capacitive circuit timing element (1004). For each beacon of the 4 beacons, the bit located at an index of RecipientArray (1303) is equal to 1, wherein the index is equal to ReveilleTime, and every other bit of the RecipientArray (1303) is equal to 0. The WakeUp subroutine may further comprise the tag (1001) returning to sleep (915).
(86) The method of the specific embodiment may further comprise the DP (1002) executing a Respond subroutine for each index of the RecipientArray (1303). The Respond subroutine may comprise the DP (1002) listening (906) for the 4 ExpectedBeacons. The procedure for listening may comprise the DP (1002) receiving (907) the beacon (1301), comprising a RecipientArray (1303). Each bit of the RecipientArray is located at an index. The Respond subroutine may further comprise the DP (1002) finding (908) an index of a bit that is equal to one, and determining (909) that the received beacon (1301) is an ExpectedBeacon if the index of the bit is equal to the combination of the tag ID and the DP ID. The procedure for listening may be repeated until the DP (1002) receives the 4 ExpectedBeacons. The Respond subroutine may further comprise the DP (1002) determining (910) an awakening time difference between a time when the 4 ExpectedBeacons were received and a time when the 4 ExpectedBeacons were expected, and delaying (911) the time at which future transmission will be sent to the tag (1001) using a delay equal to the awakening time difference.
(87) The method of the specific embodiment may further comprise updating (916), by the tag (1001), the location of the tag (1001) every 15 minutes. The procedure for updating may comprise the tag (1001) transmitting (917) 20 transmissions (1201) at a rate of 1 transmission every 100 milliseconds, each DP (1002) of the plurality of DPs receiving (918) the 20 transmissions (1201), and filtering (919) noise associated with each transmission of the 20 transmissions (1201).
(88) The method of the specific embodiment may further comprise each DP (1002) of the plurality of DPs receiving the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise each DP (1002) of the plurality of DPs determining an Angle of Arrival of the Kalman-filtered transmission, and applying MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(89) Referring to
(90) The system may further comprise a RF tag (1001). The RF tag may comprise a first processor (1101) capable of executing computer-executable instructions, a first RAM component (1102), and a first memory component. The memory may comprise instructions for executing (801) a PassiveAssociation subroutine if the tag (1001) detects a change of a location of the tag (1001). The PassiveAssociation subroutine may comprise listening (802) for a duration of 1 millisecond every 100 milliseconds for 20 seconds (301), and selecting (803) a DP (1002) of the plurality of DPs. The procedure for selecting may comprise combining the tag ID and the DP ID. The PassiveAssociation subroutine may further comprise determining (804) a ReveilleTime based on the combination of the tag ID and the DP ID, wherein the ReveilleTime is when to wake up and listen for 4 ExpectedBeacons (1301) transmitted by the DP (1002). The reveille time may be equal at least one of a hash or a concatenation of a tag ID and a DP ID. The memory may further comprise instructions for executing a Respond subroutine every 30 seconds. The Respond subroutine may comprise awakening (806) at the ReveilleTime using a resistive-capacitive circuit timing element (804), and listening (807) for the 4 ExpectedBeacons (1301). The procedure for listening may comprise receiving (808) the beacon (1301), comprising a RecipientArray (1303), wherein each bit of the RecipientArray is located at an index. The procedure for listening may further comprise finding (809) an index of a bit that is equal to one, and determining (810), that the received beacon is an ExpectedBeacon (1301) if the index of the bit is equal to the combination of the tag ID and the DP ID. The procedure for listening may be repeated until the DP (1002) receives the 4 ExpectedBeacons. The Respond subroutine may further comprise determining (811) a time difference between a time when the 4 ExpectedBeacons (1301) were received and a time when the 4 ExpectedBeacons were expected, utilizing (812) the time difference in a phase lock loop to correct the resistive-capacitive circuit timing element (804) of the tag (1001), and returning to sleep (813). The memory may further comprise instructions for updating (814) the location of the tag (1001) every 15 minutes. The procedure for updating may comprise transmitting (815) 20 transmissions (1201) at a rate of 1 transmission every 100 milliseconds.
(91) The system may further comprise a plurality of detection points. Each DP (1002) may comprise a second processor (1105) capable of executing computer-executable instructions, a second RAM component (1106), an antenna (1107), and a second memory component (1108). The memory may comprise instructions for executing a WakeUp subroutine for each index of the RecipientArray (1303). The WakeUp subroutine may comprise transmitting (805) 4 beacons (1301) at a rate of 1 beacon every 100 milliseconds using a TCXO timing element (1005). For each beacon of the 4 beacons, the bit located at the index of RecipientArray (1303) is equal to 1 and every other bit of the RecipientArray (1303) is equal to 0. The memory may further comprise instructions for updating (806), by the tag (1001), the location of the tag (1001) every 15 minutes. The procedure for updating may comprise each DP (1002) of the plurality of DPs receiving (816) the 20 transmissions (1201), and filtering (817) noise associated with each transmission of the 20 transmissions (1201).
(92) In the system of the specific embodiment, each DP (1002) may receive the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for receiving through the use of the Kalman filter may comprise determining, by each DP (1002) of the plurality of DPs, an Angle of Arrival of the Kalman-filtered transmission, and applying, by each DP (1002) of the plurality of DPs, MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(93) In the system of the specific embodiment, the first clock (1004), associated with the RF tag (1001), is a resistive-capacitive circuit timing element (1004) and the second clock (1005), associated with the DP (1002), is a TCXO timing element (1005).
(94) Referring again to
(95) The system may further comprise a RF tag (1001). The RF tag may comprise a first processor (1101) capable of executing computer-executable instructions, a first RAM component (1102), and a first memory component (1104). The memory may comprise instructions for executing a PassiveAssociation subroutine if the tag (1001) detects a change of a location of the tag (1001). The PassiveAssociation subroutine may comprise listening (902) for a duration of 1 millisecond every 100 milliseconds for 20 seconds (301), and selecting (903) a DP (1002) of the plurality of DPs. The procedure for selecting may comprise combining the tag ID and the DP ID. The reveille time may be equal at least one of a hash or a concatenation of a tag ID and a DP ID. The PassiveAssociation subroutine may further comprise determining (903) a ReveilleTime based on the combination of the tag ID and the DP ID, wherein the ReveilleTime is when to wake up and listen for 4 ExpectedBeacons transmitted by the DP (1002). The memory may further comprise instructions for executing a WakeUp subroutine every 30 seconds. The WakeUp subroutine may comprise awakening (904) at the ReveilleTime using a resistive-capacitive circuit timing element (1004), and transmitting (905) 4 beacons at a rate of 1 beacon every 100 milliseconds using a resistive-capacitive circuit timing element (1004). For each beacon of the 4 beacons, the bit located at an index of RecipientArray is equal to 1, wherein the index is equal to ReveilleTime and every other bit of the RecipientArray is equal to 0. The WakeUp subroutine may further comprise returning to sleep (915). The memory may further comprise instructions for updating the location of the tag (1001) every 15 minutes. The procedure for updating may comprise transmitting (916) 20 transmissions (1201) at a rate of 1 transmission every 100 milliseconds.
(96) The system of the specific embodiment may further comprise a plurality of detection points. Each DP (1002) comprises a second processor (1105) capable of executing computer-executable instructions, a second RAM component (1106), an antenna (1107), and a second memory component (1108). The memory may comprise instructions for executing a Respond subroutine for each index of the RecipientArray. The Respond subroutine may comprise the DP (1002) listening (906) for the 4 ExpectedBeacons. The procedure for listening may comprise receiving (907) the beacon (1301) comprising a RecipientArray, wherein each bit of the RecipientArray is located at an index, finding (908) an index of a bit that is equal to one, and determining (909) that the received beacon is an ExpectedBeacon if the index of the bit is equal to the combination of the tag ID and the DP ID. The procedure for listening may be repeated until the DP (1002) receives the 4 ExpectedBeacons. The Respond subroutine may further comprise determining (910) an awakening time difference between a time when the 4 ExpectedBeacons were received and a time when the 4 ExpectedBeacons were expected, and adjusting its timing to send future transmission to the tag (1001) with a delay equal to the awakening time difference. The memory may further comprise instructions for updating (916) the DP (1002) on the location of the tag (1001) every 15 minutes. The procedure for updating may comprise the tag (1001) transmitting (917) 20 transmissions (1201) at a rate of 1 transmission every 100 milliseconds, each DP (1002) of the plurality of DPs receiving (918) the 20 transmissions (1201), and filtering (919) noise associated with each transmission of the 20 transmissions (1201).
(97) In the system of the specific embodiment, each DP (1002) of the plurality of DPs may receive the updated location and filtering noise associated with each transmission using a Kalman filter. The procedure for filtering through the use of the Kalman filter may comprise determining, by each DP (1002) of the plurality of DPs, an Angle of Arrival of the Kalman-filtered transmission, and applying, by each DP (1002) of the plurality of DPs, MUltiple Signal Classification (MUSIC) to improve the accuracy of the determined Angle of Arrival.
(98) In the system of the specific embodiment, the first clock (1004), associated with the RF tag (1001), is a resistive-capacitive circuit timing element (1004) and the second clock (1005), associated with the DP (1002), is a TCXO timing element (1005).
(99) Although there has been shown and described the preferred embodiment of the present invention, it will be readily apparent to those skilled in the art that modifications may be made thereto which do not exceed the scope of the appended claims. Therefore, the scope of the invention is only to be limited by the following claims. In some embodiments, descriptions of the inventions described herein using the phrase comprising includes embodiments that could be described as consisting essentially of or consisting of, and as such the written description requirement for claiming one or more embodiments of the present invention using the phrase consisting essentially of or consisting of is met.
(100) The reference numbers recited in the below claims are solely for ease of examination of this patent application, and are exemplary, and are not intended in any way to limit the scope of the claims to the particular features having the corresponding reference numbers in the drawings.