Time of arrival estimation for Bluetooth systems and devices
Disclosed herein are systems, methods, and devices for time of arrival estimation in wireless systems and devices. Devices include a packet detector configured to identify a data packet included in a received signal having a symbol frequency. Devices also include a time stamping unit configured to generate an initial time stamp in response to the packet detector identifying the data packet. Devices further include an IQ capture unit configured to acquire a plurality of IQ samples representing phase features of the received signal. Devices additionally include a processing unit that includes one or more processors configured to generate an estimated time of arrival based on the initial time stamp and the plurality of IQ samples.
1. A device comprising:
a packet detector configured to identify a data packet included in a received signal having a symbol frequency;
a time stamping unit configured to generate an initial time stamp in response to the packet detector identifying the data packet;
an IQ capture unit configured to acquire a plurality of IQ samples representing phase features of the received signal; and
a processing unit comprising one or more processors configured to:
identify an estimated timing of a symbol boundary based on a time of a change in phase of the received signal estimated by using a phase rotation speed and a sample time of an IQ sample to compute the time of the change in phase, the estimated timing of the symbol boundary being a time of a data value transition between symbols, the phase rotation speed identified by the phase features, and based on a modulation encoding scheme of the received signal; and
generate an estimated time of arrival based on the initial time stamp, the plurality of IQ samples, and the identified symbol boundary, wherein the estimated time of arrival is a corrected time of arrival.
2. The device of claim 1 , wherein the processing unit is further configured to:
generate a mapping between the plurality of IQ samples and a plurality of symbols;
identify the symbol boundary based, at least in part, on the mapping; and
generate the estimated time of arrival based on the symbol boundary.
3. The device of claim 2 , wherein the estimated time of arrival is a corrected time stamp.
4. The device of claim 1 , wherein the IQ capture unit further comprises a buffer, and wherein the plurality of IQ samples is stored in the buffer.
5. The device of claim 1 , wherein a sampling rate of the IQ capture unit is greater than the symbol frequency of the received signal.
6. The device of claim 1 , wherein the data packet is a header associated with a sync event.
7. The device of claim 1 , wherein the packet detector is a Bluetooth packet detector configured to identify Bluetooth data packets.
8. The device of claim 1 , wherein the processing unit is further configured to generate additional offsets to compensate for modulation index and carrier frequency drift.
9. A system comprising:
a receive radio configured to receive a wirelessly transmitted signal via an antenna, the signal having a symbol frequency; and
a time of arrival estimator comprising:
a packet detector configured to identify a data packet included in the received signal;
a time stamping unit configured to generate an initial time stamp in response to the packet detector identifying the data packet;
an IQ capture unit configured to acquire a plurality of IQ samples representing phase features of the received signal; and
a processing unit comprising one or more processors configured to:
identify an estimated timing of a symbol boundary based on a time of a change in phase of the received signal estimated by using a phase rotation speed and a sample time of an IQ sample to compute the time of the change in phase, the estimated timing of the symbol boundary being a time of a data value transition between symbols, the phase rotation speed identified by the phase features, and based on a modulation encoding scheme of the received signal; and
generate an estimated time of arrival based on the initial time stamp, the plurality of IQ samples, and the identified symbol boundary, wherein the estimated time of arrival is a corrected time of arrival.
10. The system of claim 9 wherein the processing unit is further configured to:
generate a mapping between the plurality of IQ samples and a plurality of symbols;
identify the symbol boundary based, at least in part, on the mapping; and
generate the estimated time of arrival based on the symbol boundary.
11. The system of claim 10 , wherein the estimated time of arrival is a corrected time stamp.
12. The system of claim 9 , wherein a sampling rate of the IQ capture unit is greater than the symbol frequency of the received signal.
13. The system of claim 9 , wherein the receive radio and the time of arrival estimator are included in a Bluetooth beacon.
14. The system of claim 13 , wherein the receive radio is a Bluetooth radio, and wherein the packet detector is a Bluetooth packet detector configured to identify Bluetooth data packets.
15. A method comprising:
receiving a wirelessly transmitted signal having a symbol frequency;
identifying a data packet included in the received signal, the data packet being a Bluetooth data packet;
generating an initial time stamp in response to the identifying of the data packet;
acquiring a plurality of IQ samples of the received signal in response to the identifying of the data packet, the plurality of IQ samples representing phase features of the received signal;
identify an estimated timing of a symbol boundary based on a time of a change in phase of the received signal estimated by using a phase rotation speed and a sample time of an IQ sample to compute the time of the change in phase, the estimated timing of the symbol boundary being a time of a data value transition between symbols, the phase rotation speed identified by the phase features, and based on a modulation encoding scheme of the received signal; and
generating an estimated time of arrival based on the plurality of IQ samples, the initial time stamp, and the identified symbol boundary, wherein the estimated time of arrival is a corrected time of arrival.
16. The method of claim 15 further comprising:
generating a mapping between the plurality of IQ samples and a plurality of symbols;
identifying the symbol boundary based, at least in part, on the mapping; and
generating the estimated time of arrival based on the symbol boundary.
17. The method of claim 15 , wherein a sampling rate of the plurality of IQ samples is greater than the symbol frequency of the received signal.
18. The method of claim 15 , wherein the data packet is a header associated with a Bluetooth sync event.
19. The method of claim 15 further comprising:
storing the plurality of IQ samples in a buffer.
20. The method of claim 15 , wherein the signal is received via a Bluetooth radio, and wherein data packet is a Bluetooth data packet.