Method and apparatus for transmitting radio frequency signals

By dynamically allocating time slots and anchor points, the interference problem between UWB signals and cellular LTE signals was solved, improving the coverage and connectivity of the positioning system, and enhancing the reception success rate and positioning accuracy of UWB signals.

CN115134921BActive Publication Date: 2026-02-06APPLE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210249373.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-12
Filing Date
2022-03-14
Publication Date
2026-02-06
Estimated Expiration
2042-03-14

AI Technical Summary

Technical Problem

In positioning systems, interference between coexisting wireless communication systems leads to transmission/reception errors and data loss, especially the frequency band overlap and harmonic interference between UWB signals and cellular LTE signals.

Method used

By dynamically allocating time slots and anchor points, the time slot allocation engine identifies conflict-free time slots for UWB signal reception and dynamically adjusts the allocation of anchor points based on the location and trajectory of the wireless device to reduce interference.

Benefits of technology

It improved the coverage and connectivity of the positioning system, reduced data loss, increased the success rate of UWB signal reception, and improved positioning accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115134921B_ABST
    Figure CN115134921B_ABST
Patent Text Reader

Abstract

The present disclosure relates to dynamic time slot and anchor allocation. Techniques for dynamic time slot and anchor allocation are disclosed, including accessing allocation data representing an allocation of at least one time slot for transmission of a radio frequency signal to a wireless device over a wireless communication channel, assigning the at least one time slot to an anchor of a positioning system, and causing the radio frequency signal to be transmitted from the anchor to the wireless device in the at least one time slot.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross Reference to Related Applications

[0002] This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63 / 160,554, filed March 12, 2021, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD

[0003] The present disclosure relates generally to wireless communications. BACKGROUND

[0004] Positioning systems, such as real-time location systems (RTLS), are used to identify and track the location of objects or people in real-time or near real-time. In some positioning systems, wireless tags or other wireless devices are attached to objects or carried by people, and fixed anchors or readers arranged at known locations communicate with the wireless tags or devices to determine their locations. The physical layer of a positioning system is often some form of radio frequency (RF) communication, but some systems use optical (e.g., infrared) or acoustic (e.g., ultrasonic) technology instead of or in addition to RF. SUMMARY

[0005] Generally, in a first aspect, a method includes accessing allocation data representing at least one time slot allocated for transmission of a radio frequency signal to a wireless device over a wireless communication channel; assigning the at least one time slot to an anchor of a positioning system; and causing the radio frequency signal to be transmitted from the anchor to the wireless device in the at least one time slot.

[0006] Generally, in a second aspect combinable with the first aspect, the anchor is a first anchor, the method includes receiving a location of the wireless device; and assigning the at least one time slot to a second anchor of the positioning system different from the first anchor based on the location of the wireless device.

[0007] Generally, in a third aspect combinable with the second aspect, the second anchor is positioned closer to the location of the wireless device than the first anchor.

[0008] Generally, in a fourth aspect combinable with any of the first through third aspects, the anchor is a first anchor, the method includes receiving data representing a trajectory of the wireless device; identifying a second anchor of the positioning system based on the trajectory of the wireless device; and assigning the at least one time slot to the second anchor.

[0009] Generally, in a fifth aspect combinable with the fourth aspect, identifying the second anchor includes determining, based on the trajectory of the wireless device, that the wireless device is approaching a range of the second anchor.

[0010] Generally, in a sixth aspect combinable with any of the first through fifth aspects, the anchor is a first anchor, and the method includes receiving data indicating that the wireless device has entered a vehicle, and assigning the at least one time slot to a second anchor of the positioning system within the vehicle.

[0011] Generally, in a seventh aspect combinable with any of the first through sixth aspects, the method includes receiving the assignment data from the wireless device.

[0012] Generally, in an eighth aspect combinable with any of the first through seventh aspects, the radio frequency signal is an ultra-wideband (UWB) signal.

[0013] Generally, in a ninth aspect, an apparatus includes one or more processors and one or more computer-readable storage media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform the operations of any of the first through eighth aspects.

[0014] Generally, in a tenth aspect, a non-transitory computer-readable medium stores instructions that, when executed by one or more processors, cause the one or more processors to perform the operations of any of the first through eighth aspects.

[0015] Generally, in an eleventh aspect, a method includes receiving, at a wireless device, data indicating that a radio frequency signal is expected to be received from an anchor of a positioning system over a first wireless communication channel; identifying at least one time slot in which a second wireless communication channel is free from transmissions by the wireless device; and generating assignment data representing the at least one time slot.

[0016] Generally, in a twelfth aspect combinable with the eleventh aspect, the method includes transmitting the assignment data to the anchor of the positioning system, and receiving, at the wireless device, the radio frequency signal from the anchor in the at least one time slot.

[0017] Generally, in a thirteenth aspect combinable with the twelfth aspect, the assignment data is transmitted to the anchor of the positioning system over a third wireless communication channel different from the first wireless communication channel and the second wireless communication channel.

[0018] Generally, in a fourteenth aspect combinable with any of the eleventh through thirteenth aspects, the method includes transmitting a transmission blanking request during the at least one time slot to prevent transmissions by the wireless device on the second wireless communication channel during the at least one time slot.

[0019] Generally, in a fifteenth aspect combinable with any of the eleventh through fourteenth aspects, the method includes accessing data representing a transmission pattern of transmissions by the wireless device on the second wireless communication channel; determining, based at least in part on the transmission pattern, whether the at least one time slot overlaps with a transmission on the second wireless communication channel; and identifying the at least one time slot in response to determining that the at least one time slot does not overlap with a transmission on the second wireless communication channel.

[0020] Generally, in a sixteenth aspect combinable with the fifteenth aspect, the transmission pattern includes a Long-Term Evolution Time Division Duplex (LTE-TDD) configuration.

[0021] Generally, in a seventeenth aspect combinable with any of the eleventh through sixteenth aspects, the expected reception of the radio frequency signal over the first wireless communication channel is triggered by a ranging operation between the wireless device and the anchor of the positioning system.

[0022] Generally, in an eighteenth aspect combinable with any of the eleventh through seventeenth aspects, the radio frequency signal includes a UWB signal.

[0023] Generally, in a nineteenth aspect combinable with any of the eleventh through eighteenth aspects, the at least one time slot is different from a time slot of the expected reception of the radio frequency signal.

[0024] Generally, in a twentieth aspect combinable with any of the eleventh through nineteenth aspects, at least a portion of a transmission by the wireless device on the second wireless communication channel interferes with reception of the radio frequency signal over the first wireless communication channel.

[0025] Generally, in a twenty-first aspect combinable with the twentieth aspect, the at least a portion of the transmission by the wireless device includes a harmonic of the transmission by the wireless device on the second wireless communication.

[0026] Generally, in a twenty-second aspect combinable with any of the eleventh through twenty-first aspects, at least a portion of a frequency band of the first wireless communication channel overlaps a frequency band of the second wireless communication channel.

[0027] Generally, in a twenty-third aspect, an apparatus includes one or more processors and one or more computer-readable storage media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform the operations of any of the eleventh through twenty-second aspects.

[0028] Generally, in a twenty-fourth aspect, a non-transitory computer-readable medium stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations of any of the eleventh through twenty-second aspects.

[0029] The details of one or more implementations are set forth in the accompanying drawings and the description below. The technology described herein can be implemented by one or more wireless communication systems, components of wireless communication systems (e.g., stations, access points, user equipment, base stations, etc.), or other systems, devices, methods or non-transitory computer-readable media, etc. Other features and advantages will be apparent from the detailed description, the drawings, and the claims. BRIEF DESCRIPTION OF DRAWINGS

[0030] Figure 1 An example positioning system is shown.

[0031] Figure 2 An example wireless computing device is shown.

[0032] Figure 3A An example of ranging is shown.

[0033] Figure 3B An example of positioning is shown.

[0034] Figure 4A An example of a wireless device with coexisting wireless communication systems is shown.

[0035] Figure 4B An example of yield statistics is shown.

[0036] Figure 5A And Figure 5B An example of dynamic slot allocation is shown.

[0037] FIG. 6 shows an example of dynamic anchor allocation.

[0038] Figure 7 And Figure 8 An example process of dynamic slot and anchor allocation is shown.

[0039] Like reference symbols in the various drawings indicate like elements. DETAILED DESCRIPTION

[0040] Figure 1An example positioning system 100 according to aspects of the present disclosure is shown. In this example, the system 100 is configured to identify and track a location of a wireless device 102, such as a smartphone, a tag device, or another portable electronic device (e.g., a tablet, a laptop, or a wearable device such as a smartwatch, etc.). To this end, the system 100 includes a set of anchors 104a, 104b,..., 104N arranged at known locations within an environment. Each of the anchors 104a, 104b,..., 104N (collectively, “anchors 104”) communicate with one another and with the wireless device 102 over a wireless communication channel 106 to perform ranging operations. For example, the wireless communication channel 106 can be an ultra-wideband (UWB) channel, and the wireless device 102 and the anchors 104 can use UWB signals to perform ranging operations (e.g., transmissions from an antenna with a transmission bandwidth exceeding 500 MHz or 20% of the center frequency, whichever is smaller, and conforming to the Federal Communications Commission (FCC) power spectral density upper limit - 41.3 DBm per Mh). In this context, the term “ranging” refers to a measurement of a relative distance between the wireless device 102 and the anchors 104. Once measured, the distance between the wireless device 102 and each of the anchors 104 is provided to a controller 108. A positioning engine 110 of the controller 108 performs positioning operations using the measured distances to determine an absolute or relative location of the wireless device 102.

[0041] At times, the wireless device 102 can communicate with a wireless access point 112 over a wireless communication channel 114. For example, the wireless access point 112 can be a cellular base station, and the wireless device 102 can communicate with the cellular base station over a cellular network 114 according to one or more cellular communication protocols (e.g., Third Generation Partnership Project (3GPP) protocols such as Universal Mobile Telecommunications System (UMTS) and related 3G standards, Long Term Evolution (LTE) and related 4G standards, 5G New Radio (NR) and related 5G standards, or Institute of Electrical and Electronics Engineers (IEEE) 802.16 protocols such as WiMAX, etc.). In some examples, the wireless access point 112 can be a wireless local area network (WLAN) access point (e.g., a router), and the wireless device 102 can communicate with the router over a WLAN network 114 according to one or more WLAN communication protocols (e.g., IEEE 802.11 / Wi-Fi). In some examples, the wireless communication channel 114 can be another non-UWB (e.g., narrowband) communication channel that provides communication between the wireless device 102 and another type of wireless access point 112.

[0042] In some examples, coexistence of wireless communications over communication channel 106 and communication channel 114 can cause interference at wireless device 102. For example, simultaneous reception of UWB signals from anchor 104 over wireless communication channel 106 and transmission of cellular LTE signals over wireless communication channel 114 can cause mutual or non-mutual interference, resulting in transmission / reception errors and data loss. Such interference can be caused by, for example, overlapping frequency bands of signals transmitted / received over wireless communication channels 106, 114, harmonics of signals transmitted / received over wireless communication channels 106, 114, or a combination thereof (such as third harmonic frequency interference of cellular LTE signals transmitted over wireless communication channel 114 with UWB signals received over wireless communication channel 106).

[0043] To reduce interference, wireless device 102 includes a time slot allocation engine 116 configured to allocate time slots, for example, for reception of UWB signals over communication channel 106. For example, time slot allocation engine 116 can issue a blanking request to prevent transmission over wireless communication channel 114 during a particular time period, and can assign those time slots for reception of UWB signals over channel 106. As another example, time slot allocation engine 116 can identify time slots that have no conflicts (e.g., based on transmission / reception schedules and / or patterns), and can allocate those time slots for reception of UWB signals over channel 106.

[0044] In some examples, information indicating time slots reserved by time slot allocation engine 116 are transmitted to anchors 104 and / or controller 108 to allocate those time slots to appropriate anchors. For example, an anchor allocation engine 118 of controller 108 can assign allocated time slots to one or more of anchors 104 based on a location of wireless device 102 (such as the anchor 104 closest to wireless device 102). As another example, anchor allocation engine 118 can allocate time slots to anchors 104 based on a predicted trajectory of wireless device 102. In this way, coverage of system 100, and connectivity between anchors 104 and device 102, is improved relative to a system without dynamic time slot or anchor allocation.

[0045] Generally, each of wireless device 102, anchors 104, controller 108, and wireless access point 114 can be a computing device, such as Figure 2 Wireless computing device 200 is shown. Note that system 100 can be configured to determine the location of more than one wireless device 102, and can include additional or fewer anchors 104 without departing from the scope of the present disclosure. Additionally, although some components are described as part of a particular component of system 100, in some implementations, these components can be made part of different components. For example, in some implementations, instead of or in addition to controller 108, positioning engine 110 can be included in wireless device 102.

[0046] Reference is made to Figure 2 , which shows an example wireless computing device 200 configured for use in conjunction with aspects of the present disclosure. In this example, the device 200 includes a memory 202, a processor 204, wireless communication circuitry 206, and one or more antennas 208. The processor 204 is configured to execute instructions and manipulate data to perform the operations of the device 200, including operations using algorithms, methods, functions, processes, flows, and procedures as described herein. The processor 204 can be, for example, a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP) such as a baseband processor, a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), or a combination of these or others. Although shown as a single processor 204 in Figure 2 , two or more processors 204 can be used in some implementations.

[0047] The processing element 204 can include or be coupled to one or more local and / or system memory elements, such as the memory 202. The memory 202 can include any of a variety of permanent / non-permanent and volatile / non-volatile memory and media devices, and can store instructions and / or data as described herein. For example, the memory 202 can be a RAM used as system memory for the processing element 204. Other types of memory and functionality are also possible. Although shown as a single memory 202 in Figure 2 , two or more (same or different type) memories 202 can be used in some implementations of the device 200.

[0048] The device 200 also includes wireless communication circuitry 206 coupled to one or more antennas 208. In one example, the wireless communication circuitry 206 (sometimes referred to herein as a "radio") includes analog and / or digital circuitry components. In general, the radio can include any combination of baseband processors, analog RF signal processing circuitry (e.g., filters, mixers, oscillators, amplifiers, etc.), and digital processing circuitry (e.g., for digital modulation, among other digital processing). Similarly, the radio can implement one or more receive and transmit chains using the aforementioned hardware. For example, the wireless device 200 can share one or more portions of receive and / or transmit chains between one or more wireless communication technologies, such as those discussed above. In one example, the radio is configured to receive baseband uplink signals from, for example, a baseband processor, convert the baseband uplink signals to radio frequency uplink signals, and transmit the radio frequency uplink signals onto a wireless medium using one or more antennas 208. The radio is further configured to receive RF downlink signals from the wireless medium using one or more antennas 208, convert the RF downlink signals to baseband downlink signals, and provide the baseband downlink signals to, for example, a baseband processor.

[0049] Note that the wireless communication circuitry 206 can include a separate processor or processing element in addition to the processor 204. For example, the processor 204 can be an "application processor," while the wireless communication circuitry 206 can include its own "baseband processor." Alternatively (or in addition), the processor 204 can provide processing capabilities for the wireless communication circuitry 206. The device 200 can communicate using any of a variety of wireless communication techniques through the wireless communication circuitry 206 and antennas 208.

[0050] Depending on the intended functionality of the device 200, the device 200 can also include any of a variety of other components (not shown) for implementing device functionality, which can also include processing and / or memory elements, one or more power source elements (which can rely on battery power and / or an external power source), user interface elements (e.g., displays, speakers, microphones, cameras, keyboards, mice, touch screens, etc.), additional communication elements (e.g., antennas for wireless communication, I / O ports for wired communication, communication circuitry / controllers, etc.), and / or any of a variety of other components.

[0051] The components of device 200, such as memory 202, processor 204, wireless communication circuitry 206, and antenna 208, can be operatively coupled using one or more on-chip or off-chip interconnect interfaces. For example, a USB High-Speed on-Chip (HSIC) interface can be provided for off-chip communication between processor 204 and wireless communication circuitry 206. Alternatively (or in addition), a Universal Asynchronous Receiver Transmitter (UART) interface, Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C), System Management Bus (SMBus), and / or any of a variety of other communication interfaces can be used for communication between any of memory 202, processor 204, wireless communication circuitry 206, and / or various other device components. Other types of interfaces can also be provided as part of device 200 (e.g., a peripheral interface for communicating with peripheral components internal or external to device 200, etc.).

[0052] Figure 3A An example of a two-way ranging operation 300 is shown in accordance with aspects of the present disclosure. In this example, wireless device 102 transmits a poll message at time T SP to one or more anchors 104. Anchor 104 receives the poll message at time T P after a propagation delay T RP . Anchor 104 transmits a response to the poll at time T responseA after a processing delay T SR . Wireless device 102 receives the response message at time T P after another propagation delay T RR , thereby completing the first round of ranging (T roundA ). At this point, the distance between wireless device 102 and anchor 104 can be calculated as the propagation delay T times the wave propagation speed (e.g., c, the speed of light).

[0053] To reduce the likelihood of error, a second round of ranging can be performed, and the average propagation delay of the two rounds used. To do so, wireless device 102 transmits a final message to anchor 104 at time T responseB after a processing delay T SF . Anchor 104 receives the final message at time TRF after another propagation delay period T P . In some examples, the final message from wireless device 102 includes the previous timestamps (e.g., T SP , T RR , T SF ) to allow subsequent calculation of the average propagation delay and distance. Anchor 104 (or another component of system 100) can calculate the distance between wireless device 102 and anchor 104 as the average propagation delay T Multiply by wave propagation speed. Anchor 104 can report the determined range (or propagation delay or timestamp) to wireless device 102 or controller 108 or both.

[0054] Although Figure 3A One example of a ranging operation is shown, but other ranging techniques can be implemented by system 100 without departing from the scope of the disclosure. For example, in addition to or instead of ranging operation 300, system 100 can use another time-of-flight (ToF) ranging operation or time-difference-of-arrival (TDoA) ranging operation. Additionally, system 100 can be configured to calculate angle-of-arrival (AoA) in cases where wireless device 102 and / or anchor 104 are equipped with antennas capable of resolving phase or time-of-arrival differences. System 100 can also augment the radio frequency ranging techniques described herein with other ranging techniques, such as received signal strength indication (RSSI) techniques, inertial ranging techniques, optical ranging techniques, or combinations thereof, among others.

[0055] Referring to Figure 3B , an example positioning operation 350 is shown. In this example, distances d A1 , d A2 , and d AN between wireless device 102 and each anchor 104 are calculated (e.g., using ranging operation 300). Spheres with radii corresponding to the measured distances are plotted according to the three-dimensional (3D) locations 352a, 352b, 352n of each anchor 104. The location 354 of wireless device 102 is determined according to the intersection of the spheres. In some examples, an algorithm such as Fang, Bancroft, and / or Pythagoras theorem is used to identify the intersection between the spheres and discard false results.

[0056] Referring to Figure 4A , an example of wireless device 102 with coexisting wireless communication systems is shown. Generally, when multiple wireless systems coexist in a small form factor (such as when wireless device 102 is a smartphone or another portable electronic device), the wireless communication circuitry 400a, 400b and / or antennas 402a, 402b of each system are prone to interference. This is particularly evident when the systems have interfering harmonics or overlapping or partially overlapping frequency bands, such as when LTE and UWB systems coexist. Additionally, the time slot assignments of anchors 104 are currently done in a fixed manner (e.g., the time slots used by the anchors are fixed not only in each session but for the entire software life cycle). Since the communication and resource limitations are inherently dynamic, the transmission and reception performance within each time slot varies over time, leading to unpredictable data corruption and data loss (e.g., unpredictable ranging results).

[0057] As Figure 4AAs shown, wireless communication circuit 400a and corresponding antenna 402a transmit data (e.g., radio frequency signals) over wireless communication channel 114 to wireless access point 112. In this example, wireless access point 112 is a cellular base station, and the transmissions are in the form of LTE-TDD subframes 404 having LTE-TDD configuration 2 (e.g., one transmission subframe every 5 ms, as shown by the shaded subframes). On the other hand, wireless communication circuit 400b and corresponding antenna 402b receive data (e.g., radio frequency signals) from anchor 104 over wireless communication channel 106. In this example, data in the form of UWB signals is received from anchor 104 assigned to time slot 1 (e.g., as shown by the shaded time slot 1). Since UWB data reception in time slot 1 occurs simultaneously with LTE data transmission in shaded subframes 404, the reception of UWB data is corrupted by the LTE transmissions (and vice versa), as shown by the bolded box 406. With a fixed UWB reception time slot to anchor mapping, this corruption is unavoidable since UWB reception and LTE transmission are two independent events.

[0058] Figure 4B A yield loss statistical plot 450 is shown. In this example, the statistics collect over 5000 UWB sessions with LTE transmissions interfering with a 20% duty cycle (e.g., LTE-TDD configuration 2). Even with a fairly low duty cycle, the average yield is only about 75.6% with a standard deviation of 8.8%.

[0059] To reduce interference and resulting data loss in coexisting wireless communication systems, the technology described herein provides for dynamic time slot and anchor allocation. Referring to Figure 5A A system 500 for dynamic time slot allocation according to one aspect of the disclosure is shown. In this example, when wireless communication circuit 400b anticipates receiving UWB data, it sends an indication of the anticipated reception to time slot allocation engine 116. The indication can be sent in the form of a reception schedule 502 identifying the time slot (e.g., time slot 1) of the anticipated reception, although other forms of indication can be used in some implementations (e.g., a number of time slots of the anticipated reception, a length of time of the anticipated reception, etc.). In response, time slot allocation engine 116 generates a blanking request 504 to wireless communication circuit 400a requesting that the wireless communication circuit temporarily blank its transmissions. In this example, time slot allocation engine 116 has requested that wireless communication circuit 400a blank its transmissions during the time slot associated with UWB time slot 1, as shown by the hashed bolded black box 506.

[0060] Since the interfering LTE transmissions have been blanked by the operation of the blanking request, there is no need for further operation to successfully receive the UWB data in timeslot 1. In some examples, such as when the timeslot allocation engine 116 is unable to blank one or more of the timeslots required for UWB reception (e.g., because only a portion of the transmissions during a portion of the UWB reception period are blanked to minimize the impact on LTE), the timeslot allocation engine 116 can generate data indicating the allocated timeslots 508. The allocated timeslot data 508 can be transmitted to the anchors 104 and / or the controller 108 for assignment of the allocated timeslots to the appropriate anchors 104, as described below.

[0061] Referring to Figure 5B , a system 550 for dynamic timeslot allocation is shown in accordance with another aspect of the disclosure. In this example, no transmission blanking is required. Rather, the timeslot allocation engine 116 receives UWB reception schedule 552 (e.g., receiver timing, expected reception, etc.) from the wireless communication circuitry 400b and LTE transmission schedule 554 (e.g., transmission timing, expected transmission, etc.) from the wireless communication circuitry 400a. In practice, the wireless device 102 can only know the LTE transmission schedule shortly before (e.g., a few milliseconds) the transmission occurs. Thus, it can not be possible to rely completely on knowledge of the LTE transmission schedule to plan timeslot allocation. However, information about a fixed or semi-fixed transmission pattern can be used for timeslot allocation in place of a full transmission schedule. For example, in LTE-TDD configuration 2, transmission subframes occur every 5 ms, and the timeslot allocation engine 116 can utilize this pattern for timeslot allocation.

[0062] Based on the UWB reception schedule 552 and the LTE transmission schedule (whether a full transmission schedule or information indicative of a fixed or semi-fixed transmission schedule, such as an indication of an LTE-TDD configuration), the timeslot allocation engine 116 determines whether the UWB reception timeslot (i) overlaps with an LTE transmission subframe. In some examples, the timeslot allocation engine 116 aligns the reception / transmission timing before making the comparison. If the timeslot allocation engine 116 determines that the UWB reception timeslot (i) overlaps with an LTE transmission subframe (and thus can cause interference), the timeslot allocation engine considers the next timeslot (e.g., timeslot (i+1)). On the other hand, if the timeslot allocation engine 116 determines that there is no overlap between the UWB reception timeslot (i) and the LTE subframe, the timeslot allocation engine 116 allocates (e.g., reserves) a timeslot for an anchor 104. In this example, the timeslot allocation engine 116 has determined that timeslot 2 (currently allocated to anchor 2) has no overlap, and thus allocates timeslot 2 for an anchor 104 (e.g., anchor 1, currently assigned to timeslot 1, but expected to transmit UWB data to the wireless device 102 that would interfere with LTE transmissions occurring during timeslot 1).

[0063] After identifying the necessary time slots for accommodating the anticipated or scheduled UWB reception (or running out of time slots to consider), the time slot assignment engine 116 generates data indicating the assigned time slots 556. The time slot assignment engine 116 transmits the assigned time slot data 556 out-of-band to the anchors 104 of the controller 108 and / or the anchor assignment engine 118, for example, using the wireless communication circuitry 400b and antennas 402b or using another wireless communication network (e.g., Bluetooth or another transmission). The anchor assignment engine 118 assigns (e.g., assigns) time slots to the anchors 104 based on the assigned time slot data 556 and / or other data, such as the location or trajectory of the wireless device 102, as described below. Since the anchors 104 have fixed time slots throughout their software lifecycle, the anchor assignment engine 118 can, for example, reinitialize the software of the anchors 104 to assign or assign new time slots. In this example, the anchor assignment engine 118 has assigned time slot 2 to anchor 1 to allow clear reception of the anticipated UWB data, as shown by the bolded box 558. The anchor assignment engine 118 has also assigned time slot 1 to anchor 2 to prevent interference with LTE transmissions during that time slot.

[0064] In some examples, the anchor assignment engine 118 can assign time slots to the anchors 104 using the location or trajectory of the wireless device 102 alone or in combination with the assigned time slot data. Referring to Figure 6A A system 600 for dynamic anchor assignment is shown in accordance with aspects of the present disclosure. In this example, the system 600 includes anchors 604a, 604b, 604c, 604d, 604e, and 604f (collectively, “anchors 604”) attached to a vehicle 602. In one example, the anchors 604 are the same as or similar to the anchors 104. Initially, when the controller 108 at the vehicle 602 has no a priori knowledge of the location or trajectory of the wireless device 102, the anchor assignment engine 118 assigns the external anchors 604a, 604b, 604c, 604d to the reserved time slots identified in the assigned time slot data 606 (shown as hatched). In this way, the location detection range and opportunities to detect the wireless device 102 are maximized regardless of the device user’s approach. In some examples, the anchor assignment engine 118 can deactivate or de-assign the internal anchors 606e and 606f until resource consumption needs to be reduced.

[0065] Referring to Figure 6B The system 600 has detected an approaching wireless device 102 and has performed a ranging operation as described herein to determine the location 608 of the device. In this example, the anchor assignment engine 118 has determined that the anchor 604c (anchor 3) is no longer needed based on the location 608 of the wireless device 102 being in the right front region of the vehicle 602 (e.g., no longer in proper line of sight or communication range of the wireless device 102). Accordingly, the anchor assignment engine 118 can deactivate or de-assign the anchor 604c to conserve resources.

[0066] In Figure 6C , the system 600 has detected that the wireless device 102 is moving along a trajectory 612 from a first location 608 at time Tl (e.g., the location 608 in Figure 6B ) to a second location 610 at time T2. Generally, the system 600 can determine to switch time slot assignments for one or more of the anchors 604 based on the trajectory 612 of the wireless device 102 (e.g., moving in a direction). For example, the system can use the currently prioritized anchor 604 (e.g., the anchor with the assigned time slot) to determine the trajectory that the wireless device 102 is taking, and predict which of the anchors 604 the wireless device 102 will be in line-of-sight or communication range of in the near future (e.g., at time T2). This allows the system 600 to predict which anchor(s) 604 the wireless device 102 is approaching (e.g., will come into range of) and determine to assign time slots to which anchor(s), giving the system 600 the best chance to maintain continuous positioning of the wireless device 102.

[0067] In this example, the anchor assignment engine 118 has determined that the previously assigned anchors 604a, 604c, 604d are the most appropriate anchors for ranging based on the location 610 and the trajectory 612 of the wireless device 102. Accordingly, the anchor assignment engine 118 maintains the assignments of these anchors (or reassigns if, for example, the assigned time slots 606 have changed). In some examples, the controller 108 can unlock the doors of the vehicle, start the engine of the vehicle, operate a vehicle accessory, or a combination thereof, based on determining that the location 610 or trajectory 612 of the wireless device 102 satisfies a threshold distance or approach vector to the vehicle 602, among other examples.

[0068] Referring to Figure 6D , the system 600 has detected that the wireless device 102 is moving toward a location 614 within the vehicle 602. Based on this information, the anchor assignment engine 118 assigns time slots from the assigned time slot data 606 to the interior anchors 604e and 606f to provide accurate ranging within the vehicle 602. In this example, the anchor assignment engine 118 also deactivates or deassigns the exterior anchors 604a, 604c, and 604d. In some examples, the anchor assignment engine 118 can assign the interior anchors 604e and 604f in response to detecting an interaction with the vehicle 608 (e.g., unlocking the vehicle, opening a vehicle door, starting the engine, etc.), alone or in combination with the location of the wireless device 102. In some examples, the controller 108 performs other operations (e.g., starting the vehicle engine, operating a vehicle accessory, etc.) in response to determining that the wireless device 102 is located within the vehicle 602.

[0069] When the wireless device 102 exits the vehicle 602, the controller 108 and the anchor assignment engine 118 can reverse the example in Figures 6A to 6CThe process of approaching the wireless device 102 (e.g., de-allocating the internal anchor 604, allocating anchors 604 based on the location and / or trajectory of the wireless device 102, and allocating all external anchors 604 when the location of the wireless device 102 can no longer be detected, such as by walking out of range of the anchors 604). The controller 108 can also perform other operations (e.g., locking the vehicle doors, closing the vehicle windows, etc.).

[0070] Note that although the process of anchor allocation is described in the context of being deployed within a vehicle 602, the techniques described herein can be readily applied to other use cases without departing from the scope of the disclosure.

[0071] Figure 7 A flowchart illustrating an example process 700 for dynamic time slot and anchor allocation is shown. In some examples, Figure 1 The electronic device, network, system, chip, or component of FIG. 6, or portions or implementations thereof, can be configured to perform the method 700.

[0072] The operations of the process 700 include accessing 702 allocation data representing at least one time slot allocated for transmission of a radio frequency signal to a wireless device over a wireless communication channel. In some examples, the radio frequency signal is a UWB signal and the wireless communication channel is a UWB wireless communication channel (e.g., the wireless communication channel 106) between an anchor (e.g., the anchor 104, 604) and a wireless device (e.g., the wireless device 102). In some examples, the at least one time slot is allocated by a time slot allocation engine 116 of the wireless device 102, and the allocation data is received from the wireless device at the anchor or a controller 108 of the anchor.

[0073] The at least one time slot is allocated 704 to an anchor of a positioning system. For example, an anchor allocation engine 118 included in the controller 108 can determine which anchor 104, 604 to assign the at least one time slot to based on the location and / or trajectory of the wireless device relative to the anchor (or based on determining that the location of the wireless device is unknown). The anchor allocation engine 118 can then assign the at least one time slot to the identified anchor (e.g., by initializing the anchor with the allocated time slot).

[0074] In some examples, the anchor assigned the at least one time slot is a first anchor, and the operations include receiving a location of the wireless device, and assigning the at least one time slot to a second anchor of the positioning system different from the first anchor based on the location of the wireless device. The second anchor can be positioned closer to the location of the wireless device than the first anchor. In some examples, the anchor assigned the at least one time slot is a first anchor, and the operations include receiving data representing a trajectory (e.g., trajectory 612) of the wireless device, identifying a second anchor of the positioning system based on the trajectory of the wireless device, and assigning the at least one time slot to the second anchor. Identifying the second anchor can include determining, based on the trajectory of the wireless device, that the wireless device is approaching a range of the second anchor (and optionally, leaving a range of the first anchor). In some examples, the anchor assigned the at least one time slot is a first anchor, and the operations include receiving data indicating that the wireless device has entered a particular location (e.g., a vehicle), and assigning the at least one time slot to a second anchor of the positioning system located within the particular location (e.g., within the vehicle, such as within a cabin of the vehicle).

[0075] The operations of process 700 further include causing 706 the radio frequency signal to be transmitted from the anchor to the wireless device in the at least one time slot. For example, once the anchor has been assigned the at least one time slot as described herein, the controller 108 (or the anchor 105, 604 itself) can transmit the radio frequency signal to the wireless device 102 in the assigned time slot.

[0076] Figure 8 A flow diagram illustrating an example process 800 for dynamic time slot and anchor assignment is shown. In some examples, Figure 1 An electronic device, network, system, chip, or component of FIG. 6, or portions or implementations thereof, can be configured to perform the method 800.

[0077] The operations of process 800 include receiving 802, at a wireless device, data indicating an expected reception of a radio frequency signal from an anchor of a positioning system over a first wireless communication channel. In some examples, the radio frequency signal is a UWB signal, and the first wireless communication channel is a UWB wireless communication channel (e.g., wireless communication channel 106) between the anchor (e.g., anchor 104, 604) and the wireless device (e.g., wireless device 102). In some examples, the expected reception of the radio frequency signal over the first wireless communication channel is triggered by a ranging operation between the wireless device and the anchor of the positioning system.

[0078] Identifying 804 at least one time slot in which the second wireless communication channel is clear of transmissions by the wireless device. In some examples, the second wireless communication channel (e.g., wireless communication channel 114) is a radio frequency channel used for cellular communication (e.g., LTE communication) between the wireless device 102 and a wireless access point 112, such as a cellular base station. In some examples, the at least one time slot is identified by a time slot assignment engine 116 of the wireless device 102 (which can be different from the time slots of intended reception of radio frequency signals).

[0079] In some examples, the at least one time slot is identified based on a transmission blanking request to prevent the wireless device from transmitting on the second wireless communication channel during the at least one time slot. For example, the time slot assignment engine 116 can cause transmission of a transmission blanking request to the wireless communication circuitry 400a of the wireless device 102 to prevent transmission of signals (e.g., LTE signals) through the second wireless communication channel 114 for a particular time period, and can assign the at least one time slot for the particular time period.

[0080] In some examples, the operations include accessing data representing a transmission pattern of transmissions by the wireless device on the second wireless communication channel, determining whether the at least one time slot overlaps with transmissions on the second wireless communication channel based at least in part on the transmission pattern, and identifying the at least one time slot in response to determining that the at least one time slot does not overlap with transmissions on the second wireless communication channel. In some examples, the transmission pattern is (or is derived from) a Long Term Evolution Time Division Duplex (LTE-TDD) configuration, such as LTE-TDD configuration 2.

[0081] The operations of the process 800 further include generating 806 assignment data representing the at least one time slot. In some examples, the assignment data is transmitted to an anchor of a positioning system (e.g., directly or through the controller 108). In some examples, the assignment data is transmitted to an anchor of a positioning system through a third wireless communication channel (e.g., a Bluetooth channel or other transmission) different from the first wireless communication channel and the second wireless communication channel. Radio frequency signals are then received at the wireless device from the anchor in the at least one time slot.

[0082] In some examples, at least a portion of the transmissions by the wireless device on the second wireless communication channel interfere with reception of radio frequency signals through the first wireless communication channel. For example, harmonics of the wireless device’s transmissions on the second wireless channel can interfere with the wireless device’s reception on the first wireless channel (and vice versa). In some examples, at least a portion of a frequency band of the first wireless communication channel overlaps with a frequency band of the second wireless communication channel.

[0083] It is well understood that the use of personally identifiable information should follow privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy of users. In particular, personally identifiable information data should be managed and handled in a manner that minimizes the risks it faces of being lost, accessed without authorization, or used contrary to authorized purposes.

[0084] Specific embodiments of the subject matter and functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Software implementations of the subject matter can be implemented as one or more computer programs. Each computer program can include one or more modules of computer program instructions encoded on a tangible non-transitory computer-readable computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or additionally, the program instructions can be encoded in / on an artificially generated propagated signal, for example, a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of computer storage mediums.

[0085] The terms“data processing apparatus,”“computer,” and“computing device” (or equivalent as understood by one of ordinary skill in the art) refer to data processing hardware. For example, a data processing apparatus can include a variety of apparatuses, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can also include special purpose logic, for example, a central processing unit (CPU), a field programmable gate array (FPGA), or an application-specific integrated circuit (ASIC). In some embodiments, a data processing apparatus or special purpose logic can be hardware-based or software-based (or a combination of both), as desired. A data processing apparatus can optionally include a code that creates an execution environment for computer programs, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of

[0086] A computer program, which can also be referred to or described as a program, software, a software application, a module, a software module, a script, or code, can be written in any form of programming language. The programming language can include, for example, a compiled language, an interpreted language, declarative language, or a procedural language. The program can be deployed in any form, including as a stand-alone program, a module, a component, a subroutine, or a

[0087] The methods, processes, or logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The methods, processes, and logic flows can also be performed by special purpose logic circuitry, e.g., a CPU, an FPGA, or an ASIC, and apparatuses can also be implemented as special purpose logic circuitry.

[0088] Computers suitable for the execution of a computer program can be based on general or special purpose microprocessors and other kinds of CPUs, as well as other kinds of CPUs. The elements of a computer are a CPU for performing instructions and one or more memory devices for storing instructions and data. Generally, a CPU can receive instructions and data from memory (and write data to memory). A computer can also include, or be operatively coupled to, one or more mass storage devices for storing data. In some implementations, a computer can receive data from, and transmit data to, mass storage devices, including for example, a magnetic, magneto-optical, or optical disk. Also, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive). In general, a computer can receive data from and transmit data to, a network, e.g., a private network or a public network such as the Internet. As another example of a computer, a mobile telephone can communicate voice and / or data packets over a voice and / or data network.

[0089] Computer-readable media (transitory or non-transitory, as appropriate) suitable for storing computer program instructions and data include all forms of permanent / non-permanent and volatile / non-volatile memory, media and memory devices. Computer-readable media can include, for example, semiconductor memory devices, such as random access memory (RAM), read only memory (ROM), phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), and flash memory devices. Computer-readable media can also include, for example, magnetic devices, such as tape, cartridges, cassettes, and pockets. Computer-readable media can also include magneto-optical disks and optical memory devices and technologies, including, for example, digital video disc (DVD), CD ROM, DVD+ / -R, DVD-RAM, DVD-ROM, HD-DVD, and BLURAY. The memory can store various objects or data, including caches, classes, frameworks, applications, modules, backup data, jobs, web pages, web page templates, data structures, database tables, repositories, and dynamic information. The types of objects and data stored in the memory can include parameters, variables, algorithms, instructions, rules, constraints, and references. Additionally, the memory can include log, policy, security, or access data, and reporting files. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0090] While the specification contains many specific implementation details, these should not be construed as limitations on the scope of what can be claimed, but rather as descriptions of features that can be specific to particular implementations. Certain features that are described in the context of separate implementations can also be implemented in combination. Conversely, various features that are described in the context of a single implementation can also be implemented separately or in any suitable subcombination. Moreover, although features can be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination and the claimed combination can be directed to a subcombination or variation of a subcombination.

[0091] Particular implementations of the subject matter have been described. Other implementations, alterations, and permutations of the described implementations are within the scope of the following claims, as will be apparent to those skilled in the art. While operations are depicted in the drawings or claims in a particular, chronological order, this should not be understood as requiring or implying that such operations be performed in that order— and that not all operations be performed (some operations can be considered optional), to achieve desirable results. In certain circumstances, multitasking or parallel processing (or a combination of multitasking and parallel processing) can be advantageous, and be employed hereof, as can be appreciated by those skilled in the art.

[0092] Moreover, the division or integration of system modules and components in the previously described implementations should not be understood as requiring such division or integration in all implementations and should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0093] Thus, the previously described example implementations do not limit or restrict the present disclosure. Other changes, substitutions, and alterations are also possible. The scope of the present disclosure is not intended to be limited to the particular implementations described.

Claims

1. A method of transmitting a radio frequency signal, the method comprising: accessing assignment data for a wireless device, the assignment data representing at least one time slot assigned by the wireless device for receiving a radio frequency signal over a first wireless communication channel, wherein the assignment data is generated based on: i) data indicating that a radio frequency signal is expected to be received over the first wireless communication channel from an anchor of a positioning system, and ii) the at least one time slot in which a second wireless communication channel is free from transmissions by the wireless device; assigning the at least one time slot to an anchor of a positioning system; and causing the radio frequency signal to be transmitted from the anchor to the wireless device in the at least one time slot.

2. The method of claim 1, wherein the anchor is a first anchor, the method comprising: receiving a location of the wireless device; and based on the location of the wireless device, assigning the at least one time slot to a second anchor of the positioning system different from the first anchor.

3. The method of claim 2, wherein the second anchor is positioned closer to the location of the wireless device than the first anchor.

4. The method of claim 1, wherein the anchor is a first anchor, the method comprising: receiving data representing a trajectory of the wireless device; identifying a second anchor of the positioning system based on the trajectory of the wireless device; and assigning the at least one time slot to the second anchor.

5. The method of claim 4, wherein identifying the second anchor comprises determining, based on the trajectory of the wireless device, that the wireless device is approaching a range of the second anchor.

6. The method of claim 1, wherein the anchor is a first anchor, the method comprising: receiving data indicating that the wireless device has entered a vehicle; and assigning the at least one time slot to a second anchor of the positioning system within the vehicle.

7. The method of claim 1, comprising receiving the assignment data from the wireless device.

8. The method of claim 1, wherein the radio frequency signal comprises an ultra- wideband (UWB) signal.

9. A device for transmitting a radio frequency signal, the device comprising: one or more processors; and one or more computer-readable storage media storing instructions that, when executed by the one or more processors, cause the one or more processors to: access assignment data for a wireless device, the assignment data representing at least one time slot assigned by the wireless device for receiving a radio frequency signal over a first wireless communication channel, wherein the assignment data is generated based on: i) data indicating that a radio frequency signal is expected to be received over the first wireless communication channel from an anchor of a positioning system, and ii) the at least one time slot in which a second wireless communication channel is free from transmissions by the wireless device; assign the at least one time slot to an anchor of a positioning system; and cause the radio frequency signal to be transmitted from the anchor to the wireless device in the at least one time slot. ​ 10. The device of claim 9, wherein the anchor is a first anchor, the one or more computer-readable storage media store instructions that, when executed by the one or more processors, cause the one or more processors to: receive a location of the wireless device; and assign the at least one time slot to a second anchor of the positioning system different from the first anchor based on the location of the wireless device.

11. The device of claim 10, wherein the second anchor is positioned closer to the location of the wireless device than the first anchor.

12. The device of claim 9, wherein the anchor is a first anchor, the one or more computer-readable storage media store instructions that, when executed by the one or more processors, cause the one or more processors to: receive data representing a trajectory of the wireless device; identify a second anchor of the positioning system based on the trajectory of the wireless device; and assign the at least one time slot to the second anchor.

13. The device of claim 12, wherein identifying the second anchor comprises determining, based on the trajectory of the wireless device, that the wireless device is approaching a range of the second anchor.

14. The device of claim 9, wherein the anchor is a first anchor, the one or more computer-readable storage media store instructions that, when executed by the one or more processors, cause the one or more processors to: receive data indicating that the wireless device has entered a vehicle; and assign the at least one time slot to a second anchor of the positioning system within the vehicle.

15. The device of claim 9, wherein the radio frequency signals comprise ultra- wideband (UWB) signals.

16. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to: access assignment data for a wireless device, the assignment data representing at least one time slot assigned by the wireless device for receiving radio frequency signals over a first wireless communication channel, wherein the assignment data is generated based on: i) data indicating that radio frequency signals are expected to be received over the first wireless communication channel from an anchor of a positioning system, and ii) the at least one time slot in which a second wireless communication channel is free from transmissions by the wireless device; assign the at least one time slot to an anchor of a positioning system; and cause the radio frequency signals to be transmitted from the anchor to the wireless device in the at least one time slot.

17. The non-transitory computer-readable medium of claim 16, wherein the anchor is a first anchor, the non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive a location of the wireless device; and assign the at least one time slot to a second anchor of the positioning system different from the first anchor based on the location of the wireless device, wherein the second anchor is positioned closer to the location of the wireless device than the first anchor. ​ 18. The non-transitory computer-readable medium of claim 16, wherein the anchor is a first anchor, the non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive data indicative of a trajectory of the wireless device; identify a second anchor of the positioning system based on the trajectory of the wireless device; and assign the at least one time slot to the second anchor.

19. The non-transitory computer-readable medium of claim 18, wherein identifying the second anchor comprises determining, based on the trajectory of the wireless device, that the wireless device is approaching a range of the second anchor.

20. The non-transitory computer-readable medium of claim 16, wherein the anchor is a first anchor, the non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive data indicating that the wireless device has entered a vehicle; and assign the at least one time slot to a second anchor of the positioning system within the vehicle. ​ ​ ​ ​ ​

Citation Information

Patent Citations

  • Methods and systems for scheduling the transmission of localization signals and operating self-localizing apparatus

    CN107923963A

  • Indoor positioning system

    US20150247916A1