Patent Description:
Bluetooth Low Energy (BLE) is a radiofrequency (RF) technology for wireless communication that can be leveraged to detect and track the location of people, devices, and assets for many indoor positioning use cases - including asset tracking, indoor navigation, proximity services and more. Bluetooth is an accessible and widespread technology prevalent throughout indoor spaces and supported by many of today's devices. Like other communication protocols including Wi-Fi and UWB, BLE can be used to transmit data between devices using radio waves.

Indoor positioning systems based on BLE technology rely on a BLE beacon mounted on objects, walls, ceilings, and other places from where BLE beacons emit radio signals at predetermined intervals. A Bluetooth-enabled device within the emission area of the BLE beacon can detect the radio signals and can establish communication with the BLE beacon. Although one beacon is sufficient in establishing the presence of Bluetooth-enabled device, it cannot pinpoint the specific location of the Bluetooth-enabled device. Thus, to pinpoint the location of the Bluetooth enabled device, techniques such as trilateration, that uses multiple BLE beacons are used. Further, the distance of the Bluetooth enabled device from the multiple BLE beacons is estimated at the Bluetooth enabled device based on Received Signal Strength Indicator (RSSI) of radio signals from the multiple BLE beacons, where the RSSI is a representation of the power of the radio signal from each BLE beacon in the multiple BLE-beacons. The RSSI value is low when the distance is long and higher when the distance is short. Further, to determine location of the Bluetooth-enabled device, angle of arrival (AoA) of the radio signals from the multiple BLE beacons is estimated.

However, in real world the radio signals are received through multiple paths (also referred to as "multipath") that degrades AoA estimation. Further, resolution or accuracy of AoA is a function of number of antennas used. As the number of antennas is usually limited due to size and computational constraints in indoor positioning via BLE techniques, the accuracy of the AoA estimation is affected in such cases. Moreover, the multiple beacons require coordination among them which introduces additional computational overhead on systems using BLE techniques for positioning applications.

Accordingly, there is a need of a device and a method for position measurement that is robust to multipath and increases accuracy of the AoA with limited number of antennas. In prior art document <CIT>, a method for determining a location of a mobile device is proposed that uses BLE to estimate AoA and ToF to localize a user device. For the AoD estimation one or more BLE communications packets are sampled by switching different antennas during the receipt of the continuous wave. For the ToF estimation, it proposed to use multiple BLE communication packets with continuous frequency-modulated RF carrier signals within a single packet.

The present invention provides a device (also referred to as "Bluetooth-enabled device") and a method for determining exact location of a Bluetooth-enabled transmitter according to the independent claims. The location of the Bluetooth-enabled transmitter can be determined based on distance of the Bluetooth-enabled transmitter from the Bluetooth-enabled device and orientation of the Bluetooth-enabled transmitter with respect to the Bluetooth-enabled device. The distance of the Bluetooth-enabled transmitter from the Bluetooth-enabled device can be determined based on a time-of-flight (ToF) of radio waves (for example, Bluetooth signal) from the Bluetooth-enabled transmitter to the Bluetooth-enabled device. To that end, multiple BLE beacons are used, where based on RSSI of each beacon, distance of the Bluetooth-enabled transmitter from the Bluetooth-enabled device is determined. However, to increase accuracy of the distance measurement, multiple BLE beacons are required and coordination between these multiple BLE beacons introduces computational overhead. A phase difference between the two transmissions is used to determine the ToF. The antenna-switching AoA estimation is improved by estimating the AoA jointly from multiple frames that are made coherent by using the ToF estimates for compensating a frequency hopping phase change in each frame.

Further, the orientation or direction of the Bluetooth-enabled transmitter with respect to the Bluetooth-enabled device may be determined based on AoA of the radio signals at the Bluetooth-enabled device from the Bluetooth-enabled transmitter. However, AoA measurement may not be accurate due to multipath noise caused by the phase distortion and amplitude distortion generated when the radio waves are reflected from multiple surfaces while travelling to the Bluetooth-enabled device.

To overcome above-mentioned problems, a new Bluetooth direction finding feature that uses sampling of radio signal received at the Bluetooth-enabled device to measure a phase of the radio waves incident upon an antenna at a specific time is used. To determine the AoA at Bluetooth-enabled device comprising an array of antennas, the sampling process is applied to each antenna in the array of antenna, one at a time, and in some suitable sequence depending on the design of the array. The sampled data is then used to calculate the direction of the Bluetooth-enabled transmitter from the Bluetooth-enabled device.

To support sampling and the use of sampled data by higher layers in Bluetooth stack (also referred to as "stack"), a link layer (LL) in the stack is modified to include a Constant Tone Extension (CTE) field. The CTE field consists solely of digital ones since it means that the entire CTE is transmitted at one frequency and, therefore, has a constant wavelength. The CTE field is not subject to the whitening process.

Currently, in Bluetooth standards <NUM> and newer ones, the CTE signal is specifically defined for determining AoA of a radio signal. Some embodiments are based on the realization that the CTE signal may be used to determine ToF of the radio signal.

The present invention is based on the realization that the Bluetooth-enabled transmitter may be localized based on the ToF and AoA of the CTE signal transmitted by the Bluetooth-enabled transmitter. For determining the ToF and AoA of the CTE signal to localize the Bluetooth-enabled transmitter, the present disclosure proposes a signal model, that examines samples of the CTE signal with an unknown AoA of the CTE signal received at specific time and transmitted with an unknown ToF conditioned on the initial ToF. As the signal model has two unknowns, namely, ToF and AoA of the CTE signal, solving the signal model to determine the two unknowns is challenging. Therefore, the signal model is solved in two stages, where in a first stage (or at first period), an initial estimate of the ToF is determined, and in a second stage the initial estimate of the ToF is used to initialize the signal model to and determine the AoA and ToF jointly.

Some embodiments are based on the realization that the distance of the Bluetooth-enabled transmitter from the Bluetooth-enabled device can be determined based on the ToF that the radio signals (i.e., CTE signal) from the Bluetooth-enabled transmitter took to reach the Bluetooth-enabled device. The ToF may be calculated if time at which the Bluetooth-enabled transmitter transmitted the CTE signal and time at which the Bluetooth-enabled device received the CTE signal. However, often the time at which the Bluetooth-enabled transmitter transmitted the CTE signal is not known. Therefore, determining the ToF of the CTE signal is challenging.

The initial estimate of ToF is determined based on a phase of the CTE signal received at the Bluetooth-enabled device. The phase of the CTE signal is a function of a delay (time) and a channel frequency at which the CTE signal is transmitted. Further, the initial estimate of the ToF is used to jointly determine AoA of the CTE signal at the Bluetooth-enabled device from the Bluetooth-enabled transmitter. Further, in the first stage to determine the initial estimate of the ToF, the Bluetooth-enabled device is configured to control, during the first period, each RF chain to select a single antenna from multiple antennas comprised within a transceiver of the Bluetooth-enabled device. The Bluetooth-enabled device is configured to receive at the selected antenna, the CTE signal, where the CTE signal is comprised in multiple frames and is transmitted over multiple frequencies that are prescribed in a Bluetooth communication protocol.

Further, in the second stage, to determine the AoA based on the estimated ToF, the Bluetooth-enabled device is configured to control, during the second period, the RF chain to switch among the multiple antennas according to a switching schedule to receive the CTE signal at each antenna of the multiple antennas. To that end, samples of the CTE signal received during the second period are then fitted in the signal model determined earlier. The signal model is then initialized with the estimated ToF and is solved iteratively to calculate the AoA of the CTE signals.

In this way, by determining ToF that is indicative of distance of the Bluetooth-enabled transmitter from the Bluetooth-enabled device in a first stage during a first period; and then determining the AoA indicative of orientation of the Bluetooth-enabled transmitter with respect to the Bluetooth-enabled device in a second stage during a second period based on the ToF estimated in the first stage, the Bluetooth-enabled transmitter is accurately localized.

Accordingly, one embodiment discloses a Bluetooth-enabled device having a transceiver with multiple antennas for each RF chain, the device comprising: a processor; and a memory having instructions stored thereon that, when executed by the processor, cause the Bluetooth-enabled device to: control the RF chain during a first period to receive at a single antenna selected from multiple antennas, a CTE signal of multiple frames transmitted by a Bluetooth-enabled transmitter over multiple frequencies prescribed in a Bluetooth communication protocol; control the RF chain during a second period to switch among the multiple antennas according to a switching schedule to receive the CTE signal at each of the multiple antennas; recover, from first samples of the CTE signal received during the first period, an initial ToF of the CTE signal indicative of a distance between the Bluetooth-enabled device and the Bluetooth-enabled transmitter using phase of the CTE signal dependent on the ToF and the transmitted frequencies; and localize the Bluetooth-enabled transmitter with respect to a location of the Bluetooth-enabled device by fitting second samples of the CTE signal received during the second period into a signal model connecting the second samples with an unknown angle-of-arrival of the CTE signal received at times prescribed by the switching schedule and transmitted with an unknown ToF conditioned on the initial ToF.

Accordingly, another embodiment discloses a method comprising: controlling a RF chain corresponding to multiple antennas in a transceiver of a Bluetooth-enabled device during a first period to receive at a single antenna selected from the multiple antennas a CTE signal of multiple frames transmitted by a Bluetooth-enabled transmitter over multiple frequencies prescribed in a Bluetooth communication protocol; controlling the RF chain during a second period to switch among the multiple antennas according to a switching schedule to receive the CTE signal at each of the multiple antennas; recovering, from first samples of the CTE signal received during the first period, an initial ToF of the CTE signal indicative of a distance between the Bluetooth-enabled device and the Bluetooth-enabled transmitter using phase of the CTE signal dependent on the ToF and the transmitted frequencies; and localizing the Bluetooth-enabled transmitter with respect to a location of the Bluetooth-enabled device by fitting second samples of the CTE signal received during the second period into a signal model connecting the second samples with an unknown angle-of-arrival of the CTE signal received at times prescribed by the switching schedule and transmitted with an unknown ToF conditioned on the initial ToF.

In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure may be practiced without these specific details. In other instances, apparatuses and methods are shown in block diagram form only in order to avoid obscuring the present disclosure.

As used in this specification and claims, the terms "for example," "for instance," and "such as," and the verbs "comprising," "having," "including," and their other verb forms, when used in conjunction with a listing of one or more components or other items, are each to be construed as open ended, meaning that that the listing is not to be considered as excluding other, additional components or items. The term "based on" means at least partially based on. Further, it is to be understood that the phraseology and terminology employed herein are for the purpose of the description and should not be regarded as limiting. Any heading utilized within this description is for convenience only and has no legal or limiting effect.

<FIG> illustrates an environment <NUM> for a Bluetooth-enabled device <NUM> configured for localizing a Bluetooth-enabled transmitter <NUM>, according to some embodiments. The Bluetooth-enabled device <NUM> is configured to receive radio signals including Bluetooth data packets (as shown in <FIG>) comprising a CTE signal <NUM> in a CTE frame from the Bluetooth-enabled transmitter <NUM>. The Bluetooth-enabled transmitter <NUM> may correspond to any device that can transmit the CTE signal <NUM> over channel frequencies prescribed in the Bluetooth communication protocol. For example, the Bluetooth-enabled transmitter <NUM> may be a Bluetooth-enabled user device that is broadcasting its CTE signal to find its location.

The CTE signal <NUM> comprises a series of known symbols (all <NUM>) transmitted by the Bluetooth-enabled transmitter <NUM> with no whitening. A length associated with the CTE signal <NUM> is variable and is in the range of <NUM> to <NUM>. Thus, the CTE signal <NUM> is a single-tone signal at an associated carrier frequency.

When the Bluetooth-enabled device <NUM> receives the CTE signal <NUM> from to the Bluetooth-enabled transmitter <NUM>, the Bluetooth-enabled device <NUM> determines ToF of the CTE signal <NUM> and an AoA of the CTE signal <NUM> to determine a location of the Bluetooth-enabled transmitter <NUM>. The Bluetooth-enabled device <NUM> may communicate with the Bluetooth-enabled transmitter <NUM> to determine the location information of the Bluetooth-enabled transmitter <NUM>.

The Bluetooth-enabled device <NUM> comprises a transceiver 101a comprising a plurality of antennas, such as an Antenna <NUM>, an Antenna <NUM>, an Antenna <NUM>, and an Antenna <NUM>. For the ease of describing, the transceiver 101a with only four antennas is illustrated. However, there can be more than four antennas in the transceiver 101a, without deviating from the scope of the present disclosure. The transceiver 101a comprises a RF switch <NUM> that is controlled to select an antenna from the plurality of antennas (Antenna <NUM> to Antenna <NUM>) or to switch among the plurality of antennas. Further, the received CTE signal <NUM> is demodulated by the transceiver 101a and the demodulated CTE signal is provided to an AoA estimation module 101b, that uses the demodulated CTE signal <NUM> to localize the Bluetooth-enabled transmitter <NUM>.

To that end, the AoA estimation module 101b initially estimates ToF data of the CTE signal <NUM> based on the phase of the received CTE signal <NUM>, where the phase of the received CTE signal <NUM> is a function of delay (or time) and a channel frequency (also referred to as "transmit frequency") at which the CTE signal <NUM> is transmitted. The CTE signal (xt(t)) <NUM> is mathematically represented as: <MAT> where fc represents an associated carrier frequency which may be <NUM> in an example, Bc is a channel bandwidth which may be <NUM>, fCTE is CTE frequency which may be <NUM>, and k represents BLE channel index used to transmit the Bluetooth packet comprising the CTE signal <NUM>.

<FIG> illustrates a block diagram of the Bluetooth-enabled device <NUM>, according to some embodiments. The Bluetooth-enabled device <NUM> comprises the transceiver 101a configured to receive <NUM> Bluetooth packets comprising the CTE signal <NUM> via a wireless Bluetooth network <NUM>. The CTE signal <NUM> may be transmitted over multiple channel frequencies included in BLE channels (as shown in <FIG>) as per the Bluetooth communication protocol. The transceiver 101a comprises an antenna array with a plurality of antennas (as shown in <FIG>) of which one of the antennas is selected to receive the CTE signal <NUM>. The antenna may be selected randomly from the plurality of antennas. In some embodiments, the antenna to be selected to receive the CTE signal <NUM> is predetermined. On receiving the CTE signal <NUM>, it is demodulated and the demodulated CTE signal <NUM> is provided to the AoA estimation module 101b.

Further, the Bluetooth-enabled device <NUM> includes at least one processor <NUM> configured to execute stored instructions, as well as a memory <NUM> that stores the instructions that are executable by the at least one processor <NUM> (referred to as processor <NUM> hereinafter). The processor <NUM> can be a single core processor, a multi-core processor, a computing cluster, or any number of other configurations. The memory <NUM> can include random access memory (RAM), read only memory (ROM), flash memory, or any other suitable memory systems. The processor <NUM> is connected through a bus <NUM> to one or more input and output devices of the Bluetooth-enabled device <NUM>. Further, the Bluetooth-enabled device <NUM> includes a storage device <NUM> adapted to store executable instructions for the processor <NUM>. The storage device <NUM> can be implemented using a hard drive, an optical drive, a thumb drive, an array of drives, or any combinations thereof.

The storage device <NUM> is configured to store the AoA estimation module 101b which receives the demodulated CTE signal <NUM> and uses a signal model to jointly determine ToF and AoA. The estimated ToF is used to calculate AoA (<NUM>) using the signal model that determines ToF and AoA jointly. The signal model is initialized with the estimated value of the ToF of the CTE signal <NUM>, where the initialization with rough estimate of the ToF refines ToF calculation using the signal model. Further, search space for determining ToF and AoA is also reduced. Steps for estimating the ToF of the CTE signal <NUM> and calculating the AoA at the AoA estimation module 101b are described later with reference to <FIG>.

Additionally, the Bluetooth-enabled device <NUM> may include an output interface <NUM>. In some embodiments, the output interface <NUM> may be configured to provide location of the Bluetooth-enabled transmitter <NUM> determined by the AoA estimation module 101b.

<FIG> illustrates a Bluetooth Link Layer (LL) data frame 100c with a CTE frame that comprises the CTE signal <NUM>, according to some embodiments. The Bluetooth LL data frame 100c (also referred to as "data packet") is transmitted in the radio signal by the Bluetooth-enabled transmitter <NUM>. The Bluetooth-enabled transmitter <NUM> may transmit a plurality of the Bluetooth LL data frame in the radio signal. The LL data frame 100c includes a preamble field <NUM> comprising a preamble, an access address field <NUM> comprising an access address, packed data unit (PDU) field <NUM> comprising a PDU, a cyclic redundancy check (CRC) field <NUM> comprising the CRC, and a CTE field <NUM> (also referred to as "CTE frame") comprising the CTE signal <NUM>. Each filed comprises a sequence of bits (<NUM> or <NUM>), where the preamble field <NUM> comprises the least significant bits (LSB) and the CTE field <NUM> comprises the most significant bits (MSB). The preamble, in the preamble field <NUM>, is used in the Bluetooth enabled device <NUM> to perform frequency synchronization, automatic gain control (AGC) training, and symbol timing estimation. The preamble is a fixed sequence of alternating <NUM> and <NUM> bits. The access address, in the access address field <NUM>, is a <NUM>-octet value. Each LL connection between any two devices (for example, Bluetooth devices <NUM> and <NUM>) has a distinct access address. Each time the Bluetooth enabled device <NUM> needs a new access address.

When a Bluetooth Low Energy (BLE) packet is transmitted on either a primary or a secondary advertising physical channel or a periodic physical channel, the PDU is defined as an Advertising Physical Channel PDU. When a BLE packet is transmitted on a data physical channel, a PDU is defined as a Data Physical Channel PDU.

Further, the size of the CRC is <NUM> octets and is calculated on the PDU of all LL packets. If the PDU is encrypted, then the CRC is calculated after encryption of the PDU is complete.

Finally, the LL data frame 100c comprises the CTE that consists of a constantly modulated series of unwhitened <NUM>. The CTE field <NUM> has a variable length that ranges from <NUM> to <NUM>. The CTE signal <NUM> is used by the Bluetooth enabled transmitter <NUM> is configured to transmit the CTE signal <NUM>, in the Bluetooth LL data frame 100c, to the Bluetooth-enabled device <NUM>, where the CTE signal <NUM> transmitted by the Bluetooth enabled transmitter <NUM> is used by the Bluetooth-enabled device <NUM> to pinpoint the exact location of the Bluetooth enabled transmitter <NUM> with respect to the Bluetooth-enabled device <NUM>.

To determine the location of the Bluetooth enabled transmitter <NUM>, the Bluetooth-enabled device <NUM> is configured to utilize the CTE signal <NUM> in multiple stages (stage <NUM> and stage <NUM>). At stage <NUM>, an approximate ToF of the CTE signal <NUM> transmitted by the Bluetooth enabled transmitter <NUM> is determined using frequency hopping at a fixed antenna (no antenna switching). To that end, the Bluetooth-enabled device <NUM> is configured to select one antenna of the plurality of antennas (Antenna <NUM>. Antenna <NUM>) to receive multiple CTE frames comprising the CTE signal <NUM> over multiple channels of the Bluetooth communication protocol. Different frequencies of the Bluetooth communication protocol used for frequency hopping is illustrated in <FIG>.

At stage <NUM>, the AoA and ToF of the CTE signal <NUM> are jointly determined using frequency hopping and antenna switching. To that end, the Bluetooth-enabled device <NUM> is configured to switch antennas after a predetermined interval within each CTE frame of multiple CTE frames transmitted over multiple frequency channels (for example, a first CTE frame transmitted over a first channel (k =<NUM>) and a second CTE frame transmitted over a second channel (k =<NUM>)). Thus, the CTE signal <NUM> in the single CTE frame is sampled using antenna switching between multiple antennas, where a sampling time is equal to an amount of time each antenna of the multiple antennas received the CTE signal <NUM>. The amount of time for which each antenna should be connected to the RF chain, to receive the CTE signal <NUM>, is predetermined. The sampling may continue till the end of each CTE frame of the multiple CTE frames.

<FIG> illustrates BLE channels <NUM> used for transmitting a Bluetooth packet, according to some embodiments. The Bluetooth packet, for example a LL Bluetooth packet is as illustrated in <FIG>, where the Bluetooth packet comprises the PDU, the access address, the preamble, and the CTE signal <NUM> that is used for localizing the Bluetooth-enabled transmitter <NUM>. According to the Bluetooth communication protocol, there are <NUM> BLE channels (k) <NUM> from <NUM> to <NUM> over which Bluetooth packets are transmitted. However, in the equation (<NUM>) range of k <NUM> is kept from <NUM> to <NUM> for ease of mathematical operations, where k = <NUM> corresponds to channel <NUM> of the BLE channels <NUM>. Each channel of the <NUM> BLE channels <NUM> has different frequencies ranging from <NUM> to <NUM> with a bandwidth of <NUM>. The BLE channels <NUM> are used to transmit the CTE signal <NUM> using frequency hopping over <NUM> channels. Optionally, the BLE channels <NUM> comprise three advertising channels. The Bluetooth-enabled transmitter <NUM> advertises on the three advertising channels. The advertising channels are channel <NUM> (<NUM>) 201a, channel <NUM> (<NUM>) 201b, and channel <NUM> (<NUM>) 201c. These channels are selected to minimize interference from Wi-Fi channels.

These three channels 201a (k=<NUM>), 201b (k=<NUM>), and 201c (k=<NUM>) are called the Primary Advertising Channels , while the remaining <NUM> channels, for example, channel 201d (k=<NUM>), channel 201e (k=<NUM>), channel 201f (k=<NUM>), and the like are called the Secondary Advertisement Channels. Secondary advertising channels are used as "auxiliary" channels meaning that a device (for example, the Bluetooth-enabled transmitter <NUM>) has to first advertise on the primary advertising channels before sending out advertising packets on the secondary channels. If the Bluetooth-enabled transmitter 103wants to utilize the secondary advertising channels, it sends out advertising packets on the primary channels that point to the secondary advertising packets.

Data extracted from one or more channels of the Bluetooth packets is used to determine the ToF and AoA information associated with localization of the Bluetooth-enabled transmitter <NUM>.

<FIG> illustrates steps performed by the AoA estimation module 101b, in a first stage <NUM>, for localizing the Bluetooth-enabled transmitter <NUM>, according to some embodiments. The AoA estimation module 101b localizes the Bluetooth-enabled transmitter <NUM> in two stages, where at the first stage (stage <NUM>) <NUM> ToF data of the CTE signal <NUM> is estimated and at the second stage (stage <NUM>) <NUM> (<FIG>) the signal model is used to determine AoA of the CTE signal <NUM>, using the ToF estimated in the first stage <NUM>.

To estimate the ToF, at the first stage <NUM>, the Bluetooth-enabled device <NUM> is configured to control an RF chain, during a first period to select a single antenna of the multiple of antennas (Antenna <NUM>. Antenna <NUM>) of the transceiver 101a to receive the CTE signal <NUM> over multiple CTE frames, transmitted by the Bluetooth-enabled transmitter <NUM>, over multiple channel frequencies (also referred to as "transmitted frequencies") (as shown in <FIG>) corresponding to channels k prescribed in the Bluetooth communication protocol (as shown in <FIG>). The RF chain is a cascade of the multiple antennas with electronic components and sub-units such as amplifiers, filters, mixers, attenuators, and detectors. The first period may refer to a period or duration of time designated for controlling the RF chain for receiving the CTE signal <NUM> over multiple frequencies by the selected antenna. In some embodiments, duration of the first period continues till the Bluetooth-enabled device <NUM> determines the initial estimate of ToF of the received CTE signal <NUM>.

The received CTE signal <NUM> during the first period is sampled generating first samples of the CTE signal <NUM>. The first samples of the CTE signal <NUM> are then used to recover an initial ToF data of the CTE signal <NUM> using the phase of the received CTE signal <NUM>, depending on the ToF of the CTE signal <NUM> and the transmitted frequencies of the CTE signal <NUM>.

To that end, the received first samples of the CTE signal <NUM> are demodulated and a virtual array of antennas is generated based on the demodulated first samples of the CTE signal <NUM> to recover the initial ToF data for each path of the multiple paths over each transmitted frequency of the multiple transmitted frequencies.

Further, at step 301a, on receiving the first samples of the CTE signal <NUM>, a beat signal (xb(t)) for each channel k is generated by accumulating CTE signal <NUM> received via multiple paths p and over multiple channel frequencies k that forms the virtual array: <MAT> where p represents the p-th path of an overall P multi-paths, fb represents the CTE frequency, which is <NUM>, fc represents carrier frequency which is <NUM>, Bc is a channel bandwidth which is <NUM>, τp represents ToF of the CTE signal <NUM> via a specific path p, and ap represents amplitude of the of the CTE signal <NUM> via a specific path p. Further, j<NUM>π(fb)t indicates baseband CTE frequency and <NUM>π(fc + k. Bc + fb)τp indicates phase at the CTE frequency that is a function of ToF (τp) and channel index k.

Finally, at step 301b, the initial estimate of the ToF (τp) data of the CTE signal <NUM> for each path of the multiple paths is determined by taking fast Fourier transform (or, equivalently, spectrum estimation methods) of the beat signal (FFT{xb(t)}) over the channel index k. The peak frequency is <NUM>πBcτp. For the Bluetooth standards, Bc is the BLE channel bandwidth and Bc=<NUM>. From the detected peak frequency, the ToF τp can be estimated. From the transformed beat signal, the phase of the CTE signal <NUM> travelled through each path of the multiple paths is obtained. Based on the obtained phase of the CTE signal <NUM> initial estimate of ToF data of the CTE signal <NUM> for each path of the multiple paths is estimated using FFT of the beat signal. The transformed beat signal is further demodulated to obtain identification information associated with the Bluetooth-enabled transmitter <NUM> transmitting the CTE signal <NUM>.

<FIG> illustrates steps performed by the AoA estimation module 101b, in the second stage <NUM>, for localizing the Bluetooth-enabled transmitter <NUM>, according to some embodiments. At second stage <NUM>, the AoA and ToF of the CTE signal <NUM> is calculated jointly during a second period. In some embodiments, the second period is predefined. In other embodiments, duration of the second period continues till the Bluetooth-enabled device <NUM> determines the final AoA and ToF of the CTE signal <NUM> to determine the exact location of the Bluetooth-enabled transmitter <NUM>.

To calculate the AoA of the CTE signal <NUM>, at step 303a, the Bluetooth-enabled device <NUM> is further configured to control the RF chain, during the second period, to switch among the plurality of antennas for multiple Bluetooth packets over multiple channels according to a switching schedule to receive second samples of the CTE signal <NUM> at each antenna of the plurality of antennas. The switching schedule to switch among antennas is predetermined. The second period may refer to a period or duration of time designated for switching between the plurality of antennas according to the switching schedule.

At step 303b, in stage <NUM>, the AoA of the CTE signal <NUM> is determined using the signal model given as: <MAT> where i represents antenna index during the antenna switching, λk represents wavelength at channel k such as <MAT>, and c is speed of light.

The signal model is initialized with the initial estimate of the ToF data determined in stage <NUM><NUM>. Further, the signal model is used to localize the Bluetooth-enabled transmitter <NUM> with respect to a location of the Bluetooth-enabled device <NUM> by fitting the second samples of the CTE signal <NUM> received during the second period into the signal model, where the signal model connects the second samples with an unknown AoA of the CTE signal <NUM> received at times prescribed by the switching schedule and transmitted with an unknown ToF conditioned on the initial ToF.

The signal model is used to jointly estimate both the ToF and AoA of the CTE signal <NUM>, where the initial estimate of the ToF determined in stage <NUM><NUM> is used to initialize the signal model. Initializing the signal model refines the ToF and further reduces the search space to determine accurate ToF and the AoA.

In some embodiments, the initial estimate of the ToF from the first stage <NUM> is used as a regularizer to penalize (for example, softly) deviation of ToF calculated in the second stage <NUM>.

<FIG> and <FIG> illustrate steps of generating an equivalent virtual array for the ToF estimation, according to some embodiments. <FIG> is described below in conjunction with <FIG> and <FIG>. In <FIG>, at step <NUM>, the CTE signal <NUM> of multiple CTE frames over multiple Bluetooth channels (k = <NUM>, <NUM>,. , <NUM>) is transmitted by the Bluetooth-enabled transmitter <NUM>. At step <NUM>, the Bluetooth-enabled device <NUM> is configured to select one antenna of the plurality of antennas, during first period, to receive first samples of the CTE signal <NUM> through multiple paths P. For the ease of describing, assuming two paths (p) via which the selected antenna receives the first samples of the CTE signal <NUM>. Based on the first samples of the CTE signal <NUM>, beat signal xb(t) (equation <NUM>) is generated for each channel k of the multiple channels k. For example, a beat signal generated corresponding to channel <NUM> using which the selected antenna received the CTE signal <NUM> through <NUM> paths (p = <NUM>, <NUM>) is given as: <MAT>.

By receiving the CTE signal <NUM> over multiple paths, a virtual array of antennas is generated. For example, if the CTE signal <NUM> is received, by using the only one selected antenna, via two paths (p=<NUM>) for each channel frequency (k=<NUM> to <NUM>) then the virtual array of antenna comprising <NUM> virtual antennas receiving the CTE signal is generated which is now able to distinguish two paths in the ToF (delay) domain.

Further, at step <NUM>, initial estimate of the ToF is determined using FFT of the beat signal xb(t) for each CTE frame of the multiple CTE frames received over the multiple channels k. On taking the FFT, the beat signal is transformed from the time domain to frequency domain, where in the frequency domain a spectrum peak of the CTE signal <NUM> over each channel frequency k is observed at <NUM>. The phase at the peak is a function of delay and the corresponding channel k.

At step <NUM>, the beat signal xb(t) over channel k is demodulated to obtain demodulated beat signal x̃b(t) that is given by: <MAT> where term "-j<NUM>π(fb + fc)" is fixed over all the channels k and the term "-j<NUM>πk. Bcτp" linearly changes over channel index k. For example, demodulated beat signal corresponding to channel <NUM> may be given as: <MAT>.

The CTE signal <NUM> includes a plurality of samples, such as first samples and second samples of the CTE signal <NUM> received during first time period and second time period respectively, as will be illustrated in <FIG> and <FIG> described below.

<FIG> illustrates generation of second samples of the CTE signal <NUM>, according to some embodiments. In <FIG>, the CTE signal <NUM> comprised in two CTE frames (a first CTE frame <NUM> and a second CTE frame <NUM>) is received over two frequency channels k =<NUM> (201d) and k =<NUM> (201e) during the second period is illustrated. Assume that the Bluetooth-enabled device <NUM> configured to receive the CTE signal <NUM> of multiple CTE frames <NUM> and <NUM> comprises three antennas i.e., antenna <NUM> (i=<NUM>) <NUM>, antenna <NUM> (i=<NUM>) <NUM>, and antenna <NUM> (i=<NUM>) <NUM>.

During the second period, for a length of each CTE frame (for example, the first CTE frame <NUM>), second samples of the CTE signal <NUM> are generated by sampling the CTE signal <NUM> using antenna switching between a plurality of antennas (antenna <NUM><NUM>, antenna <NUM><NUM>, and antenna <NUM><NUM>) such that each antenna of the plurality of antennas in the transceiver receives the CTE signal <NUM> for a predetermined amount of time. To that end, during the second period the Bluetooth-enabled device <NUM> is configured to perform antenna switching, where antennas are switched periodically among the plurality of antennas based on a switching schedule, and where the switching schedule is predetermined.

According to the switching schedule, only one antenna of the plurality of antennas (antenna <NUM><NUM>, antenna <NUM><NUM>, and antenna <NUM><NUM>) in the transceiver 101a is selected to receive the CTE signal <NUM> for a specific time so that only one RF chain is used. For example, the antenna <NUM><NUM> may be selected, initially, to receive the CTE signal <NUM> for a first specific time period (sample slot <NUM>) generating a first part of second samples of the CTE signal <NUM>. On completion of the first specific time period, reception of the CTE signal <NUM> is switched from the antenna <NUM><NUM> to the antenna <NUM><NUM> for a second specific time period (sample slot <NUM>) generating a second part of the second samples of the CTE signal <NUM>. Similarly, on completion of the second specific time period, reception of the CTE signal <NUM> is switched from the antenna <NUM><NUM> to the antenna <NUM><NUM> for a third specific time period (sample slot <NUM>) generating a third part of the second samples of the CTE signal <NUM>. The switching of antennas among the plurality of antennas according to the switching schedule continues till the entire first frame of the CTE signal <NUM> is sampled to generate the second samples of the CTE signal <NUM>. Thus, as the CTE signal <NUM> still remains to be sampled, on completion of the third specific time period, the reception of the CTE signal <NUM> is again switched from the antenna <NUM><NUM> to antenna <NUM><NUM> for a fourth specific time period (sample slot <NUM>), generating a fourth part of the second samples of the CTE signal <NUM>. Similarly, the fifth part in sample slot <NUM> and sixth part in sample slot <NUM> are generated by the antenna <NUM><NUM> and the antenna <NUM><NUM>, respectively.

The process of generating the second samples continues for the second CTE frame <NUM> received over different frequency channel k = <NUM> (201e) during the second period of time. The second CTE frame <NUM> is sampled using antenna switching, where antennas (antenna <NUM> - antenna <NUM>) are switched periodically among the plurality of antennas based on the predetermined antenna switching schedule.

<FIG> illustrates a CTE structure 500b comprising the predefined switching and sampling slots <NUM> over one CTE frame transmitted over channel 201d (k=<NUM>) to generate the second samples of the CTE signal <NUM>, according to some embodiments. <FIG> is described below in conjunction with <FIG>. The CTE structure 500b comprises a guard period <NUM> of <NUM>, a reference period <NUM> of <NUM>, and the switching and sampling slots <NUM>. A receiver of the Bluetooth-enabled device <NUM> is configured to do the antenna switching to determine the direction to the Bluetooth-enable transmitter <NUM>. This is enabled by adding CTE in the LL Bluetooth data frame (also referred to as "data packet") 100c (as shown in <FIG>), transmitted by the Bluetooth-enable transmitter <NUM>, where the added CTE causes a specified part of the data packet to have a fixed and constant frequency. The receiver of the Bluetooth-enabled device <NUM> can sample In-phase and Quadrature (IQ) components of the CTE signal <NUM> transmitted by the Bluetooth-enabled transmitter <NUM> and determine the phase of the CTE signal <NUM> in each frame of multiple CTE frames (501a and <NUM>) received by the Bluetooth-enabled device <NUM>. By sampling IQ components of the CTE signal <NUM>, in each CTE frame, for multiple antennas (antenna <NUM><NUM> - antenna <NUM><NUM>), the receiver of the Bluetooth-enabled device <NUM> can calculate from which angle the transmitted CTE signal <NUM> is received. To that end, the Bluetooth-enabled device <NUM> is configured to perform antenna switching, where antennas are switched among the plurality of antennas (antenna <NUM><NUM> - antenna <NUM><NUM>), and during the sampling slot (sample slot <NUM> - sample slot <NUM>) the CTE signal <NUM> is sampled by the antenna selected for the switch slot.

For example, the switching and sampling slots <NUM> comprises a plurality of predefined switch slot 515a to switch slot <NUM>, where during a time period of the switch slot the reception of the CTE signal <NUM> is switched from one antenna to another antenna, and during each sample slot of a plurality of sample slots (sample slot 515b to sample slot 515n) an antenna, selected during the previous switch slot, is configured to receive the CTE signal <NUM>. The sample slot 515b may corresponds to sample slot <NUM> illustrated in <FIG>. In an example embodiment, the Bluetooth-enabled device <NUM> may be configured to switch from antenna <NUM><NUM> to antenna <NUM><NUM> during the switch slot 515a. Further, during (or for a length of) the sample slot 515b antenna <NUM><NUM> will be configured to receive the CTE signal <NUM>. In this way, the antenna switching schedule is predefined. A number of the plurality of switch slots (515a-<NUM>) and a number of the plurality of sample slots (515b-515n) may be based on a length of the CTE signal <NUM> of multiple CTE frames. In an example embodiment, the number of the plurality of switch slots (515a-<NUM>) may be <NUM>. Similarly, the number of the plurality of sample slots (515b-515n) may be <NUM>. The antenna switching schedule is fully supported by BLE <NUM> & above standards.

<FIG> illustrates flowchart of a method <NUM> comprising steps executed by the Bluetooth-enabled device <NUM> for localizing the Bluetooth-enabled transmitter <NUM>, according to some embodiments. The method <NUM> is executed in two stages stage <NUM> and stage <NUM>.

At step <NUM>, an RF chain corresponding to a plurality of antennas in the transceiver 101a of the Bluetooth-enabled device <NUM> is controlled during a first period to select a single antenna from the plurality of antennas to receive first samples of the CTE signal <NUM>. The first samples of CTE signal <NUM> may correspond to the CTE signal <NUM> received via a plurality of CTE in the LL Bluetooth packets transmitted by the Bluetooth-enabled transmitter <NUM> during the first period, where the plurality of CTE frames each comprising the CTE signal <NUM> is transmitted over a plurality of transmission frequencies comprised in the Bluetooth communication protocol. To that end, the RF switch <NUM> is used to select the single antenna from the plurality of antennas. In some embodiments, the single antenna to be used to receive the first samples of the CTE signal <NUM> is predetermined. The first samples of the CTE signal <NUM> may be stored in the memory <NUM> to be used later for estimating an initial estimate of ToF data of the CTE signal <NUM>.

At step <NUM>, the first samples of the CTE signal <NUM> are used to determine the initial estimate of the ToF of the CTE signal <NUM>. The ToF is indicative of a distance between the Bluetooth-enabled device <NUM> and the Bluetooth-enabled transmitter <NUM>. To determine the initial estimate of the ToF, initially a beat signal (xb(t)) for each channel k is generated by accumulating CTE signal <NUM> received via multiple paths p and over multiple channel frequencies k to form a virtual array of antennas. Then, an FFT of the beat signal for each channel k is calculated to determine the initial estimate of the ToF data of the CTE signal <NUM>.

At step <NUM>, the CTE signal <NUM> in each CTE frame of a plurality of CTE frames received during a second period is sampled using antenna switching to generate second samples of the CTE signal <NUM>, where the plurality of CTE frames are transmitted over the plurality of transmission frequencies comprised into eh Bluetooth communication protocol. To that end, the RF chain is controlled using the RF switch <NUM> during the second period to switch among the plurality of antennas according to a switching schedule to receive second samples of the CTE signal <NUM>. As per the switching schedule, only one antenna of the plurality of antennas is selected to receive the CTE signal <NUM> for a specific time period or a slot corresponding to the antenna. In some embodiments, the switching schedule may be predetermined. In other embodiments, the antennas may be selected randomly.

At step <NUM>, the exact location of the Bluetooth-enabled transmitter <NUM> with respect to the Bluetooth-enabled device <NUM> is determined by fitting the second samples of the CTE signal into the signal model (equation <NUM>), where the signal model connects the second samples of the CTE signal <NUM> with an unknown AoA of the CTE signal <NUM> received at times prescribed by the switching schedule and transmitted with an unknown ToF condition on the initial ToF data estimated at step <NUM>. Further, the AoA and the ToF are used to pinpoint the exact location of the Bluetooth-enabled transmitter <NUM>.

<FIG> illustrates a scenario <NUM> where the Bluetooth-enabled device <NUM> is used for indoor positioning of the Bluetooth-enabled transmitter <NUM>, according to an example embodiment. In <FIG>, the Bluetooth-enabled transmitter <NUM> corresponds to a user device being used by a user <NUM> for determining direction to a desired shop inside a mall. The user device of the user <NUM> keeps broadcasting CTE signals. When the CTE signal broadcasted by the user device is detected by the Bluetooth-enabled device <NUM> fitted at a specific location in the mall, the Bluetooth-enabled device <NUM> determines an initial estimate of ToF data of the CTE signal received from the user device. The Bluetooth-enabled device <NUM> further demodulates the CTE signal and uses the signal model to determine AoA of the CTE signal. The signal model is initialized with the initial estimate of the ToF data of the CTE signal which not only refines final ToF calculation but also reduces search space for calculating ToF and AoA. The ToF of the CTE signal is indicative of distance of the user device from the Bluetooth-enabled device <NUM>, and the AoA of the CTE signal is indicative of direction of the user device with respect to the location of the Bluetooth-enabled device <NUM>. Based on the ToF and the AoA exact location of the user device is determined. Location information associated with the user device is then transmitted to the user device. In an example embodiment, the user device may be installed with an application configured to transmit the CTE signal and further convert the location information into a user understandable format.

In another embodiment, there may be more than one Bluetooth-enabled device <NUM> installed in the mall at different locations, where each Bluetooth-enabled device <NUM> is working independently of each other. When the user device is detected within the range of the Bluetooth-enabled device <NUM>, the Bluetooth-enabled device <NUM> determines location of the user device with respect to the Bluetooth-enabled device <NUM>. For example, there may be two Bluetooth-enabled devices in the mall, which are working independently. Therefore, if the user device is detected in the range of the first Bluetooth-enabled device <NUM>, the first Bluetooth-enabled device <NUM> determines location of the user device with respect to the first Bluetooth-enabled device <NUM>. Similarly, if the user device is detected in the range of the second Bluetooth-enabled device <NUM>, the second Bluetooth-enabled device <NUM> determines location of the user device with respect to the second Bluetooth-enabled device <NUM>.

In this manner, the systems and methods described herein provide for accurate indoor positioning systems based on already existing infrastructure of Bluetooth technology.

The following description provides exemplary embodiments only, and is not intended to limit the scope of the appended claims. Rather, the following description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Contemplated are various changes that may be made in the function and arrangement of elements without departing from the scope of the appended claims.

Specific details are given in the following description to provide a thorough understanding of the embodiments. However, understood by one of ordinary skill in the art can be that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the subject matter disclosed may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Further, like reference numbers and designations in the various drawings indicate like elements.

Also, individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may be terminated when its operations are completed but may have additional steps not discussed or included in a figure. Furthermore, not all operations in any particularly described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the function's termination can correspond to a return of the function to the calling function or the main function.

Various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.

Embodiments of the present disclosure may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts concurrently, even though shown as sequential acts in illustrative embodiments.

Claim 1:
A Bluetooth-enabled device (<NUM>) comprising a transceiver (101a), the transceiver (101a) comprising a plurality of antennas (Antenna <NUM> - Antenna <NUM>) associated with a radiofrequency, RF, chain, the Bluetooth-enabled device (<NUM>) further comprising:
at least one processor; and
a memory having instructions stored thereon that, when executed by the at least one processor, cause the Bluetooth-enabled device (<NUM>) to:
control the RF chain during a first period to receive, at a single antenna selected from the plurality of antennas, a constant tone extension, CTE, signal (<NUM>) of multiple frames transmitted by a Bluetooth-enabled transmitter (<NUM>) over multiple frequencies prescribed in a Bluetooth communication protocol;
control the RF chain during a second period, to switch among the plurality of antennas (Antenna <NUM> - Antenna <NUM>), according to a switching schedule associated with reception of the CTE signal (<NUM>) at each of the plurality of antennas (Antenna <NUM> - Antenna <NUM>) over multiple frames;
determine, from first samples of the CTE signal (<NUM>) received during the first period, an initial time-of-flight, ToF, data of the CTE signal (<NUM>), wherein the ToF data is indicative of a distance between the Bluetooth-enabled device (<NUM>) and the Bluetooth-enabled transmitter (<NUM>), such that the distance is indicated using phase of the received CTE signal (<NUM>) dependent on the ToF and the transmitted frequencies; and
localize the Bluetooth-enabled transmitter (<NUM>) with respect to a location of the Bluetooth-enabled device (<NUM>),
characterized in that the instructions, when executed by the at least one processor, cause the Bluetooth-enabled device (<NUM>) to:
localize the Bluetooth-enabled transmitter (<NUM>) with respect to a location of the Bluetooth-enabled device (<NUM>) by fitting second samples of the CTE signal received during the second period into a signal model connecting the second samples with an unknown angle-of-arrival of the CTE signal (<NUM>) received at times prescribed by the switching schedule and transmitted with an unknown ToF conditioned on the initial ToF data.