The field of the invention relates to wireless short-range communication and more particularly to direction finding information exchange without establishment of a formal communication connection.
Modern society has adopted, and is becoming reliant upon, wireless communication devices for various purposes, such as, connecting users of the wireless communication devices with other users. Wireless communication devices can vary from battery powered handheld devices to stationary household and/or commercial devices utilizing electrical network as a power source. Due to rapid development of the wireless communication devices a number of areas capable of enabling entirely new types of communication applications have emerged.
An example of a wireless short-range communication technology is Bluetooth™ communication protocol, which operates in the 2.4 GHz ISM band. Bluetooth™ is a short-range radio network, originally intended as a cable replacement. Bluetooth™ Technical Specifications are published by the Bluetooth™ SIG, Inc. Bluetooth™ Specification version 2.0+EDR, published Oct. 15, 2004 has the original functional characteristics of the first version Bluetooth™ Basic Rate (BR) and adds the Enhanced Data Rate (EDR) feature. Bluetooth™ Specification version 2.1+EDR, published Jul. 26, 2007 for Basic Rate/Enhanced Data Rate (BR/EDR), added definitions for new features: Encryption Pause Resume, Erroneous Data reporting, Extended Inquiry Response, Link Supervision Timeout Event, Packet Boundary Flag, Secure Simple Pairing, Sniff Subrating. Bluetooth™ Specification version 3.0+HS, published Apr. 21, 2009, updated the standard to integrate the Alternate MAC/PHY and Unicast Connectionless Data features.
On Jun. 30, 2010, the Bluetooth™ SIG published the Bluetooth™ Core Specification, Version 4.0 (incorporated herein by reference), which includes the Extended Inquiry Response. An Extended Inquiry Response may be used to provide miscellaneous information during the inquiry response procedure. Data types may be defined for such things as local name and supported services, information that otherwise would have to be obtained by establishing a connection. A device that receives a local name and a list of supported services in an extended inquiry response does not have to connect to do a remote name request and a service discovery protocol (SDP) service search, thereby shortening the time to useful information.
Method, apparatus, and computer program product example embodiments provide direction finding information exchange without establishment of a formal communication connection. According to an example embodiment of the invention, a method comprises scanning, by an apparatus, for wireless signals, the wireless signals comprising one or more inquiry packets; providing information usable for estimating at least a relative direction of the apparatus in response to receiving one or more inquiry packets from a remote device; and transmitting one or more response packets including an information packet containing the information usable for estimating the at least relative direction of the apparatus.
In an example embodiment of the invention, the one or more response packets and the information packet includes a Bluetooth™ extended inquiry response packet.
In an example embodiment of the invention, the information usable for estimating the at least relative direction of the apparatus is included in at least one of a tail portion and a data field portion of a Bluetooth™ extended inquiry response packet.
In an example embodiment of the invention, the one or more response packets includes a Bluetooth™ extended inquiry response packet that includes a data type indication to inform a receiving device that the information usable for estimating the at least relative direction of the apparatus exists.
In an example embodiment of the invention, the one or more response packets includes a Bluetooth™ FHS packet including an indication that the information usable for estimating the at least relative direction of the apparatus exists in a subsequent packet.
In an example embodiment of the invention, the one or more response packets includes a Bluetooth™ FHS packet including an indication that the information usable for estimating the at least relative direction of the apparatus exists in a packet that follows a subsequent Bluetooth™ extended inquiry response packet.
In an example embodiment of the invention, the information usable for estimating the at least relative direction of the apparatus enables at least one of an angle of departure estimation and an angle of arrival estimation.
Example embodiments of the invention include a method, comprising:
receiving, by an apparatus from a remote device, one or more wireless response packets including an information packet containing information usable for estimating at least a relative direction of the remote device, the one or more response packets being received in response to a transmission of one or more inquiry packets by the apparatus;
determining that the one or more wireless response packets include information usable for estimating the at least relative direction of the remote device; and
generating positioning data in the apparatus based on the received information usable for estimating the at least relative direction of the remote device.
Example embodiments of the invention include an apparatus, comprising:
at least one processor;
at least one memory including computer program code;
the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
scan, by an apparatus, for wireless signals, the wireless signals comprising one or more inquiry packets;
provide information usable for estimating at least a relative direction of the apparatus in response to receiving one or more inquiry packets from a remote device; and
transmit one or more response packets including an information packet containing the information usable for estimating the at least relative direction of the apparatus.
Example embodiments of the invention include an apparatus, comprising:
at least one processor;
at least one memory including computer program code;
the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
receive, by an apparatus from a remote device, one or more wireless response packets including an information packet containing information usable for estimating at least a relative direction of the remote device, the one or more response packets being received in response to a transmission of one or more inquiry packets by the apparatus;
determine that the one or more wireless response packets include information usable for estimating the at least relative direction of the remote device; and
generate positioning data in the apparatus based on the received information usable for estimating the at least relative direction of the remote device.
Example embodiments of the invention include a computer program product comprising computer executable program code recorded on a computer readable non-transitory storage medium, the computer executable program code comprising:
code for scanning, by an apparatus, for wireless signals, the wireless signals comprising one or more inquiry packets;
code for providing information usable for estimating at least a relative direction of the apparatus in response to receiving one or more inquiry packets from a remote device; and
code for transmitting one or more response packets including an information packet containing the information usable for estimating the at least relative direction of the apparatus.
Example embodiments of the invention include a computer program product comprising computer executable program code recorded on a computer readable non-transitory storage medium, the computer executable program code comprising:
code for receiving, by an apparatus from a remote device, one or more wireless response packets including an information packet containing information usable for estimating at least a relative direction of the remote device, the one or more response packets being received in response to a transmission of one or more inquiry packets by the apparatus;
code for determining that the one or more wireless response packets include information usable for estimating the at least relative direction of the remote device; and
code for generating positioning data in the apparatus based on the received information usable for estimating the at least relative direction of the remote device.
The example embodiments of the invention provide direction finding information exchange without establishment of a formal communication connection.
This section is organized into the following topics:
A. Terminology
B. Connection Formation Between Bluetooth™ Devices
C. Direction Estimation Between Bluetooth™ Devices
D. Direction Estimation Using An Extended Inquiry Response Packet
E. Formatting Examples for the Extended Inquiry Response Packet
A. Terminology
The term “angle of departure (AoD)”, as used herein, is employed with reference to an array of antennas arranged with a normal axis. A normal axis perpendicular to a linear axis defines a plane with the linear antenna array. The apparent direction of transmission of a signal from the linear antenna array, as seen from a remote receiving device occupying the plane, may be represented by an observation vector. The angle between the observation vector and the normal axis is defined as the angle of departure (AoD) of the signal as it leaves the antenna array. In embodiments, the antenna array may be arranged in a two-dimensional array in a plane and the normal axis is perpendicular to the plane of the antenna array. In this arrangement, the angle of departure (AoD) is similarly defined as the angle between the observation vector and the normal axis to the plane. In embodiments, the antenna array may be arranged in any arbitrary manner, either in a linear array, a two-dimensional array, or a three dimensional array.
The term “angle of arrival (AoA)”, as used herein, is employed with reference to an array of antennas arranged with a normal axis. A normal axis perpendicular to a linear axis defines a plane with the linear antenna array. The apparent direction of reception of a signal by the linear antenna array, as seen from a remote transmitting device occupying the plane, may be represented by an observation vector . The angle between the observation vector and the normal axis is defined as the angle of arrival (AoA) of the signal as it approaches the antenna array. In embodiments, the antenna array may be arranged in a two-dimensional array in a plane and the normal axis is perpendicular to the plane of the antenna array. In this arrangement, the angle of arrival (AoA) is similarly defined as the angle between the observation vector and the normal axis to the plane. In embodiments, the antenna array may be arranged in any arbitrary manner, either in a linear array, a two-dimensional array, or a three dimensional array.
The term “location enhanced device”, as used herein, refers to any device, whether portable or fixed-base, that is capable generating or utilizing the information useable for positioning, as described herein, in response to respectively receiving or transmitting an inquiry packet, in accordance with example embodiments of the invention.
The terms “positioning” and “direction estimation”, as used herein, are used interchangeably herein to refer to determining an angle of departure estimation, an angle of arrival estimation, or both.
B. Connection Formation between Bluetooth™ Devices
A procedure for forming connections between Bluetooth™ devices is described in the Bluetooth™ Specification, Version 4, Jun. 30, 2010. The Bluetooth™ Baseband is the part of the Bluetooth™ system that implements the Media Access Control (MAC) and physical layer procedures to support the connection formation, exchange of data information streams, and ad hoc networking between Bluetooth™ devices. Connection formation includes inquiry, inquiry scanning, inquiry response, paging, page scanning, and page response procedures.
Inquiry
Inquiry is a procedure where a Bluetooth™ device transmits inquiry messages and listens for responses in order to discover the other Bluetooth™ devices that are within the coverage area. Bluetooth™ devices use the inquiry procedure to discover nearby devices, or to be discovered by devices in their locality. A Bluetooth™ device that tries to find other nearby devices is known as an inquiring device and actively sends inquiry requests. Bluetooth™ devices that are available to be found are known as discoverable devices, listen or scan for these inquiry requests, and send responses. The inquiry procedure uses dedicated physical channels for the inquiry requests and responses. The inquiry procedure does not make use of any of the architectural layers above the physical channel, although a transient physical link may be considered to be present during the exchange of inquiry and inquiry response information. During the inquiry procedure, the master transmits inquiry messages with the general or dedicated inquiry access code. The timing for inquiry is the same as for paging. The identity or ID packet consists of the inquiry access code (IAC). It has a fixed length of 68 bits. The receiver uses a bit correlator to match the received packet to the known bit sequence of the ID packet. In order to discover other devices a device may enter inquiry substrate. In this substrate, it may repeatedly transmit the inquiry message (ID packet) at different hop frequencies. The inquiry hop sequence is derived from the Lower Address Part (LAP) of the General Inquiry Access Code (GIAC). Thus, even when dedicated inquiry access codes (DIACs) are used, the applied hopping sequence is generated from the GIAC LAP. A device that allows itself to be discovered, may regularly enter the inquiry scan substrate to respond to inquiry messages. The inquiry response is optional: a device is not forced to respond to an inquiry message. During the inquiry substrate, the discovering device collects the Bluetooth™ device addresses and clocks of all devices that respond to the inquiry message. In addition, the discovering device also collects extended information (e.g. local name and supported services) from devices that respond with an extended inquiry response packet. It may then, if desired, make a connection to any one of the discovered devices by means of the page procedure described below. The inquiry message broadcast by the source does not contain any information about the source. However, it may indicate which class of devices should respond. There is one general inquiry access code (GIAC) to inquire for any device, and a number of dedicated inquiry access codes (DIAC) that only inquire for a certain type of device. The inquiry access codes are derived from reserved Bluetooth™ device addresses.
Inquiry scan is a procedure where a Bluetooth™ device listens for inquiry messages received on its inquiry scan physical channel. A device using one of its inquiry scan channels remains passive on that channel until it receives an inquiry message on this channel from another Bluetooth™ device. This is identified by the appropriate inquiry access code. The inquiry scanning device will then follow the inquiry response procedure to return a response to the inquiring device. The inquiry scan substrate is very similar to the page scan substrate. However, instead of scanning for the device's device access code, the receiver may scan for the inquiry access code long enough to completely scan for 16 inquiry frequencies. The inquiry procedure uses 32 dedicated inquiry hop frequencies according to the inquiry hopping sequence. These frequencies are determined by the general inquiry address. The phase is determined by the native clock of the device carrying out the inquiry scan. Instead of, or in addition to, the general inquiry access code, the device may scan for one or more dedicated inquiry access codes. However, the scanning may follow the inquiry scan hopping sequence determined by the general inquiry address. The inquiry scan interval may be less than or equal to 2.56 s.
Inquiry Response
An inquiry response packet (FHS) is transmitted from the slave to the master after the slave has received an inquiry message. This packet contains information necessary for the inquiring master to page the slave and follows 625 microseconds after the receipt of the inquiry message. The inquiry response packet is received by the master at the hop frequency when the inquiry message received by the slave was first in the master-to-slave slot. The slave response substrate for inquiries differs completely from the slave response substrate applied for pages. When the inquiry message is received in the inquiry scan substrate, the recipient may return an inquiry response (FHS) packet containing the recipient's device address (BD_ADDR) and other parameters. If the recipient has non-zero extended inquiry response data to send, it may return an extended inquiry response packet after the FHS packet. On the first inquiry message received in the inquiry scan substrate the slave may enter the inquiry response substrate. If the slave has non-zero extended inquiry response data to send it may return an FHS packet, with the extended inquiry response bit set to one, to the master 625 microseconds after the inquiry message was received. It may then return an extended inquiry response packet 1250 microseconds after the start of the FHS packet. If the slave's extended inquiry response data is all zeroes the slave may only return an FHS packet with the extended inquiry response bit set to zero. In step 1, the master transmits an inquiry message using the inquiry access code and its own clock. In step 2, the slave responds with the FHS packet containing the slave's Bluetooth™ device address, native clock and other slave information. This FHS packet is returned at times that tend to be random. The FHS packet is not acknowledged in the inquiry routine, but it is retransmitted at other times and frequencies as long as the master is probing with inquiry messages. If the slave has non-zero extended inquiry response data it sends an extended inquiry response packet to the master in step 3.
Extended Inquiry Response
An Extended Inquiry Response may be used to provide miscellaneous information during the inquiry response procedure. Data types are defined for such things as local name and supported services, information that otherwise would have to be obtained by establishing a connection. A device that receives a local name and a list of supported services in an extended inquiry response does not have to connect to do a remote name request and a service discovery protocol (SDP) service search, thereby shortening the time to useful information. If the slave transmits an extended inquiry response packet, it is transmitted 1250 microseconds after the start of the inquiry response packet. The extended inquiry response packet is received by the master at the hop frequency when the inquiry message received by the slave was first in the master-to-slave slot. The extended inquiry response packet is an Asynchronous Connection-oriented Logical transport (ACL) data medium rate (DM) packet with type DM1, DM3, DM5, DH1, DH3 or DH5. To minimize interference it is recommended to use the shortest packet that is capable of containing the data. The packet is sent on the same frequency as the (frequency hop synchronization) FHS packet, 1250 microseconds after the start of the FHS packet. In the packet header, the logical transport address (LT_ADDR) may be set to zero. TYPE may be one of DM1, DM3, DM5, DH1, DH3 or DH5. FLOW, ARQN and SEQN may all be set to zero and ignored during receipt. (ARQN is automatic repeat address acknowledgement indication and SEQN is sequential numbering scheme.) The header error check (HEC) linear feedback shift register (LFSR) may be initialized with the same default check initialization (DCI) as for the FHS packet. In the payload header, logical link identifier (LLID) may contain the value 10 (start of an logical link control and adaptation control (L2CAP) message or no fragmentation). FLOW may be set to zero and ignored upon receipt. The length of the payload body (LENGTH) may be smaller than or equal to 240 bytes. The cyclic redundancy check (CRC) linear feedback shift register (LFSR) may be initialized with the same DCI as for the FHS packet. The data whitening LFSR may be initialized with the same value as for the FHS packet. The length of the payload body (LENGTH) may be smaller than or equal to 240 bytes. The CRC LFSR may be initialized with the same DCI as for the FHS packet. The data whitening LFSR may be initialized with the same value as for the FHS packet. The payload data has two parts, a significant part followed by a non-significant part. The significant part contains a sequence of data structures. The non-significant part contains all zero octets. The baseband may not change any octets in the significant part. When transmitting data, the non-significant part octets may be omitted from the payload. A device may store a single extended inquiry response packet. This packet may be used with all inquiry access codes (IACs).
Page
Page is the initial phase of the connection procedure where a device transmits a train of page messages until a response is received from the target device or a timeout occurs. Page scan is a procedure where a device listens for page messages received on its page scan physical channel. In forming a connection, the paging device will become the master and the page scan device will become the slave in a piconet. Initially, after the slave has received an inquiry message, an inquiry response packet is transmitted from the slave to the master. The inquiry response packet sent from the slave contains information necessary for the inquiring master to page the slave, such as Bluetooth™ device address and the clock of the slave device. In the paging procedure, the Bluetooth™ device that will become the master carries out a page procedure by transmitting page messages in connection request packets to the specified Bluetooth™ slave device that carries out a page scanning procedure to listen for connection request packets from the paging device. A connectable Bluetooth™ device listens for a page request on its page scan channel and, once received, enters into a sequence of exchanges with the paging device. In order for a device to connect to another device, it performs frequency hopping all page scan channel frequencies, sending a page request on each frequency and listening for a response. The page scan channel uses an access code derived from the scanning device's Bluetooth™ device address BD_ADDR to identify communications on the channel. The page scan channel uses a slower hopping rate than the hop rate of the paging device, using the Bluetooth™ device clock of the scanning device as an input. A device listening on its page scan channel remains passive until it receives a page request from another Bluetooth™ device, identified by the page scan channel access code. The two devices will then follow the page procedure to form a connection where the paging device is the master and the page scan device is the slave in a piconet. In order for a paging device to connect to another Bluetooth™ device, it uses the page scan channel of the target device in order to send page requests. If the paging device does not know the phase of the target device's page scan channel, it does not know the current hop frequency of the target device. Therefore, the paging device transmits page requests on each of the page scan hop frequencies and listens for a page response. This is done at a faster hop rate, allowing the paging device to cover all page scan frequencies in a short period of time. The paging device may have some knowledge of the target device's Bluetooth™ clock, such as indicated during a previous inquiry transaction between the two devices, and may be able to predict the phase of the target device's page scan channel. It may use this information to optimize the synchronization of the paging and page scanning process and speed up the formation of the connection.
C. Direction Estimation between Bluetooth™ Devices
Direction estimation of the signal source from the received signal based on multiple antennas has been known for decades and it has been used in professional and military applications for quite some time. The estimation of the angle of arrival is based on time difference of signal copies received by multiple, spatially separated antennas, and the time difference is due to variable propagation channel lengths, and the practical estimation is typically based on secondary effects to the signal, such as the resulting phase difference of the signal copies. However, the known principles have not been applied to consumer devices such as mobile phones due to practical constraints. There is not sufficient space in a small-size handheld device for multiple antennas or multiple receiver signal chains to enable antenna-array reception in a manner described above. The traditional requirements for direction finding explained above can be circumvented with novel, tightly integrated multi-antenna modules placed appropriately on a mobile device, performing very fast antenna switching during a known reference signal. Effectively, if the signal phase change is known apriori based on a known signal, the signal phase differences obtained from different antennas can be used to estimate the direction of arrival of the signal. This implementation approach opens up direction finding possibility for small devices and therefore enables new applications using the directional information.
However, existing packet structures from standardized radios do not necessarily have long enough signal sequences and appropriate information content properties to enable direction finding. Additionally, appropriate packets are not necessarily exchanged in a useful phase of the communication sequence. Perhaps proprietary direction finding packets transmitted in addition to standard communication packets would provide a solution, but in that case wide industry support and interoperability would not be achieved. Therefore, a standardized solution to providing direction finding signals is needed. Personal area network (PAN) use cases would make the choice of Bluetooth™ technology optimal as a direction finding signal carrier.
Direction finding would be very useful when the user wishes to set up a Bluetooth™ connection to another device. The ability of the user's inquiring device to display on the user's device screen the direction of an inquiry scanning device prior to making a connection, would give the user confirmation that the proposed connection will be to the intended device and would improve the user's experience. According to the current Bluetooth™ specification, devices are only able to estimate the distance to another device during the inquiry state, based on the received signal power. However, it is not currently possible to obtain the direction of the inquiry scanning device because Bluetooth™ does not provide appropriate signal sequences in the packets exchanged during the inquiry process.
D. Direction Estimation Using an Extended Inquiry Response Packet
The term “location enhanced device”, as used herein, refers to any device, whether portable or fixed-base, that is capable generating or utilizing the information useable for positioning, as described herein, in response to respectively receiving or transmitting an inquiry packet, in accordance with example embodiments of the invention.
The terms “positioning” and “direction estimation”, as used herein, are used interchangeably herein to refer to determining an angle of departure estimation, an angle of arrival estimation, or both.
1. Examples of Angle of Departure (AoD) Estimation,
The term “angle of departure (AoD)”, as used herein, is employed with reference to an array of antennas arranged with a normal axis. A normal axis perpendicular to a linear axis defines a plane with the linear antenna array. The apparent direction of transmission of a signal from the linear antenna array, as seen from a remote receiving device occupying the plane, may be represented by an observation vector. The angle between the observation vector and the normal axis is defined as the angle of departure (AoD) of the signal as it leaves the antenna array. In embodiments, the antenna array may be arranged in a two-dimensional array in a plane and the normal axis is perpendicular to the plane of the antenna array. In this arrangement, the angle of departure (AoD) is similarly defined as the angle between the observation vector and the normal axis to the plane. In embodiments, the antenna array may be arranged in any arbitrary manner, either in a linear array, a two-dimensional array, or a three dimensional array.
The inquiry procedure uses dedicated physical channels for the inquiry packet 150 requests and responses. During the inquiry procedure, the inquiring device 102 transmits inquiry packets 150 with the General Inquiry Access Code (GIAC) or Dedicated Inquiry Access Codes (DIAC). The inquiry packet 150 consists of the inquiry access code (IAC) and has a fixed length of 68 bits. The inquiry scanning device 100 may use a bit correlator to match the received packet 150 to the known bit sequence of packets. The inquiring device 102 repeatedly transmits the inquiry packets 150 at different hop frequencies. The inquiry hop sequence is derived from the Lower Address Part (LAP) of the General Inquiry Access Code (GIAC). Thus, even when Dedicated Inquiry Access Codes (DIACs) are used, the applied hopping sequence is generated from the GIAC LAP.
An inquiry scanning device 100 that allows itself to be discovered, regularly enters the inquiry scan substrate to respond to inquiry packets 150. The inquiry response is optional: a device is not forced to respond to an inquiry packet 150. During the inquiry substrate, the inquiring device 102 collects the Bluetooth™ device addresses and clocks of all devices that respond to the inquiry packet 150. In addition, the inquiring device 102 also collects extended information (e.g. local name and supported services) from devices that respond with an extended inquiry response packet 160. The inquiring device 102 may then, if desired, make a connection to any one of the inquiry scanning devices 100 that has responded, by means of the page procedure. The inquiry packet 150 broadcast by the inquiring device 102 does not contain any information about the inquiring device 102. However, the inquiring device 102 may indicate which class of devices should respond. There is one general inquiry access code (GIAC) to inquire for any device and 63 dedicated inquiry access codes (DIAC) that only inquire for a certain type of device. The inquiry access codes are derived from reserved Bluetooth™ device addresses.
In embodiments of the invention, the inquiry scanning device 100 includes a processor 122, which includes from one to many central processing units (CPUs) 124 and 125, a random access memory (RAM) 126, a read only memory (ROM) 127, and interface circuits 128 to interface with one or more radio transceivers 116, battery or house power sources, keyboard, display 144, etc. The RAM and ROM can be removable memory devices such as smart cards, Subscriber Identity Modules (SIMs), Wireless Identity Modules (WIMs), semiconductor memories such as RAM, ROM, programmable read only memory (PROM), flash memory devices, etc. The processor 122 in the inquiry scanning device 100 outputs data to the location enhanced Bluetooth™ baseband 114 that packages the data into Bluetooth™ protocol data units (PDU) or packets, such as FHS packets, inquiry response packets, and extended inquiry response packets that are input to the Bluetooth™ physical layer (PHY) radio 116 for normal Bluetooth™ transmission. During normal Bluetooth™ transmission, the multiplexer 112 directs the radio frequency (RF) signal from the radio 116 to one of the antennas A, B, C, or D in the antenna array 132 for transmission. The number of antennas in the antenna array is not limited to four, but may be any number suitable for the functions to be performed by embodiments of the invention.
Location enhanced Bluetooth™ device 102 may be, for example, a miniature device such as a key fob, smart card, jewelry, or the like. Location enhanced Bluetooth™ device 100 may be, for example, a relatively larger cell phone, smart phone, flip-phone, PDA, graphic pad, or even larger devices such as a laptop computer, desktop computer, kitchen appliance, such as a refrigerator, an automobile dashboard, and the like. Typically, the device 102 will be in the smallest size range that will be limited to a single antenna, due to size constraints, whereas the larger device 100 will have sufficient surface area or volume to support a multiple antenna array, as described herein. However, in embodiments, the relative sizes of devices 100 and 102 may be arbitrary, either one of the devices may be either mobile or fixed-base, and the device 102 may have either a single antenna or an antenna array.
In embodiments of the invention, the extended inquiry response data 162 in the extended inquiry response packet 160 includes an indication 166, “Direction Type” that is used to inform the receiving device 102 about the existence and properties of the information useable for positioning 164.
The information useable for positioning 164 may include an indication whether the positioning information relates to angle-of-arrival (AoA) positioning information, angle-of-departure (AoD) positioning information, or both types. The information useable for positioning 164 may include a reference binary bit pattern 168, such as “11110000”. The information useable for positioning 164 may include a data and length field 167, that includes data such as coding, length of the direction estimation data, properties of the antennas A, B, C, and D, and other factors useful in enabling the inquiring device 102 to estimate a direction. In embodiments of the invention, in the first transmission interval, the inquiry scanning device 100 transmits the extended inquiry response packet 160 in a normal Bluetooth™ transmission, wherein the multiplexer 112 directs the RF signal bearing the extended inquiry response packet 160, from the radio 116 to one of the antennas A, B, C, or D in the antenna array 132 for transmission.
The information useable for positioning 164 may also include direction estimation data 169 that may comprise of several concatenated segments of the binary bit pattern 168. In embodiments of the invention, in a second transmission interval, the multiplexer 112 passes the direction estimation data 169 to a commutating RF switch 118 that connects the transmitter of the radio 116 to the antenna array 132 of antennas A, B, C, and D. The commutating RF switch 118 sequentially activates each of the four antennas A, B, C, and D at a commutating frequency to sequentially transmit 2-bit portions of the direction estimation data 169 in a reference data stream 200 shown in
In embodiments of the invention, the direction estimation data 169 may be contained in a tail portion of the extended inquiry response packet 160 or in a field within the main portion of the extended inquiry response packet 160 or in a separate packet to follow the extended inquiry response packet 160.
In embodiments of the invention, the four antennas A, B, C, and D of the antenna array 132 may be in a linear array or in an arbitrary array. An antenna array may be arranged one, two, or three dimensions. For a linear array, the four antennas A, B, C, and D are mounted on the inquiry scanning device 100 and arranged along a linear axis 182. A normal axis 180 is shown perpendicular to the linear axis 182. The two axes 180 and 182 define a plane within which the angle of departure (AoD) of the vector 184 lies, which will be the apparent direction of transmission of the reference data stream 200 from the inquiry scanning device 100, as seen from the inquiring device 102. The RF transmission emanating from each of the antennas A, B, C, and D is an isotropic electromagnetic wave. When the reference data stream 200 is transmitted by the antenna array 132 in sequential phases, the inquiring device 102 will have received the direction estimation data in the extended inquiry response packet 160. The direction estimating data includes data related to the characteristics of the antennas A, B, C, and D, the commutating frequency of the antennas, and other factors, the inquiring device 102 is able to estimate the angle of departure (AoD) as the apparent direction of transmission of the reference data stream from the inquiry scanning device 100, as seen from the inquiring device 102. The estimate the angle of departure (AoD) will enable a two-dimensional depiction of the direction of the inquiry scanning device 100 with respect to the inquiring device 102.
In embodiments of the invention, the four antennas A, B, C, and D of the antenna array 132 may be arranged in a two-dimensional array on the inquiry scanning device 100, in a plane that is perpendicular to the normal axis 180. In this arrangement, the angle of departure (AoD) and the vector 184 my lie outside of the plane formed by the linear axis 182 and the normal axis 180, enabling a three-dimensional depiction of the direction of the inquiry scanning device 100 with respect to the inquiring device 102. An antenna array may be arranged one, two, or three dimensions.
In an example alternate embodiment of the invention, the Bluetooth™ FHS packet 155 includes the “Direction Type” indication 166 that the information usable for estimating at least a relative direction 164 exists in a subsequent packet.
Step 302: scanning, by an apparatus, for wireless signals, the wireless signals comprising one or more inquiry packets;
Step 304: providing information usable for estimating at least a relative direction of the apparatus in response to receiving one or more inquiry packets from a remote device; and
Step 306: transmitting one or more response packets including an information packet containing the information usable for estimating the at least relative direction of the apparatus.
Step 322: receiving, by an apparatus from a remote device, one or more wireless response packets including an information packet containing information usable for estimating at least a relative direction of the remote device, the one or more response packets being received in response to a transmission of one or more inquiry packets by the apparatus;
Step 324: determining that the one or more wireless response packets include information usable for estimating the at least relative direction of the remote device; and
Step 326: generating positioning data in the apparatus based on the received information usable for estimating the at least relative direction of the remote device.
Step 342: receiving, by an apparatus from a remote device, one or more wireless response packets including an information packet containing information usable for estimating at least a relative direction of the remote device, the one or more response packets being received in response to a transmission of one or more inquiry packets by the apparatus;
Step 344: determining that the one or more wireless response packets include information usable for estimating the at least relative direction of the remote device;
Step 346: reading direction data associated with the information usable for estimating the at least relative direction of the remote device; and
Step 348: generating positioning data in the apparatus based on the received information usable for estimating the at least relative direction of the remote device.
2. Examples of Angle of Arrival (AoA) Estimation
The term “angle of arrival (AoA)”, as used herein, is employed with reference to an array of antennas arranged with a normal axis. A normal axis perpendicular to a linear axis defines a plane with the linear antenna array. The apparent direction of reception of a signal by the linear antenna array, as seen from a remote transmitting device occupying the plane, may be represented by an observation vector. The angle between the observation vector and the normal axis is defined as the angle of arrival (AoA) of the signal as it approaches the antenna array. In embodiments, the antenna array may be arranged in a two-dimensional array in a plane and the normal axis is perpendicular to the plane of the antenna array. In this arrangement, the angle of arrival (AoA) is similarly defined as the angle between the observation vector and the normal axis to the plane. In embodiments, the antenna array may be arranged in any arbitrary manner, either in a linear array, a two-dimensional array, or a three dimensional array.
The information useable for positioning 164B may include an indication whether the positioning information relates to angle-of-arrival (AoA) positioning information, angle-of-departure (AoD) positioning information, or both types. The information useable for positioning 164B may include a reference binary bit pattern 168B, such as “11110000”. The information useable for positioning 164B may include a data and length field 167B, that includes data such as coding, length of the direction estimation data, and other factors useful in enabling the inquiring device 102 to estimate a direction. The information useable for positioning 164B may also include direction estimation data 169B that may comprise of several concatenated segments of the binary bit pattern 168B. In embodiments of the invention, in the first transmission interval, the inquiry scanning device 102 transmits the extended inquiry response packet 160B in a normal Bluetooth™ transmission from the antenna 170. The direction estimation data 169B is transmitted as a reference data stream 200′.
The inquiring device 100 receives the extended inquiry response packet 160B with the information useable for positioning 164B. The reference data stream 200′ transmission from the inquiry scanning device 102 is received by the antenna array 132 at the inquiring device 100, the antenna array sequentially switching the reference bits of the direction estimation data 169B in the data stream 200′ during their reception. The angle of arrival (AoA) estimation is made by sampling the phase and amplitude of the reference bits of the direction estimation data 169. The information useable for positioning 164B may include a data and length field 167B, that includes data such as coding, length of the direction estimation data, and other factors useful in enabling the inquiring device 102 to estimate a direction. The information useable for positioning 164B may also include direction estimation data 169 that may comprise of several concatenated segments of the binary bit pattern 168B. In embodiments of the invention, in the first transmission interval, the inquiry scanning device 102 transmits the extended inquiry response packet 160B in a normal Bluetooth™ transmission from the antenna 170. The direction estimation data 169B is transmitted as a reference data stream 200′.
The inquiring device 100 receives the extended inquiry response packet 160B with the information useable for positioning 164B. The reference data stream 200′ transmission from the inquiry scanning device 102 is received by the antenna array 132 at the inquiring device 100, the antenna array sequentially switching the reference bits of the direction estimation data 169B in the data stream 200′ during their reception. The angle of arrival (AoA) estimation is made by sampling the phase and amplitude of the reference bits of the direction estimation data 169B in the data stream 200′ with the antenna switching. The inquiring device 102 includes a sampler and phase detector 176B, a decoder 178B, and an angle of arrival (AoA) estimation program 140B to estimate the angle of arrival (AoA) of the reference data stream 200′, based on the information useable for positioning 164B received from the inquiry scanning device 102.
In an example alternate embodiment of the invention, the FHS packet 155B includes the “Direction Type” indication 166 that the information usable for estimating at least a relative direction 164B exists in a subsequent packet.
Step 602: scanning, by an apparatus, for wireless signals, the wireless signals comprising one or more inquiry packets;
Step 604: providing information usable for estimating at least a relative direction of the apparatus in response to receiving one or more inquiry packets from a remote device; and
Step 606: transmitting one or more response packets including an information packet containing the information usable for estimating the at least relative direction of the apparatus.
Step 622: receiving, by an apparatus from a remote device, one or more wireless response packets including an information packet containing information usable for estimating at least a relative direction of the remote device, the one or more response packets being received in response to a transmission of one or more inquiry packets by the apparatus;
Step 624: determining that the one or more wireless response packets include information usable for estimating the at least relative direction of the remote device; and
Step 626: generating positioning data in the apparatus based on the received information usable for estimating the at least relative direction of the remote device.
Step 642: receiving, by an apparatus from a remote device, one or more wireless response packets including an information packet containing information usable for estimating at least a relative direction of the remote device, the one or more response packets being received in response to a transmission of one or more inquiry packets by the apparatus;
Step 644: determining that the one or more wireless response packets include information usable for estimating the at least relative direction of the remote device;
Step 645: reading direction data associated with the information usable for estimating the at least relative direction of the remote device; and
Step 646: generating positioning data in the apparatus based on the received information usable for estimating the at least relative direction of the remote device.
E. Formatting Examples for Extended Inquiry Response Packet
In embodiments of the invention, there are several options enumerated below, to include information enabling direction finding during the standard extended inquiry response process. The direction finding data may be added as a tail of the extended inquiry response packet or within the extended inquiry response packet. The data format of the basic extended inquiry response packet (000 . . . 000 field is not transmitted over the air) is shown in
1. Option 1:
2. Option 2:
3. Option 3:
If the tail length and pattern is specified or otherwise known apriori, it may be indicated by the Flags in the EIR packet 160 for the type of extended inquiry response data. In this case, currently reserved bit(s) in the extended inquiry response packet 160 may be used to inform the receiving device that the direction estimation data 169 tail follows the standard extended inquiry response packet 160. In
4. Option 4:
Option 4 is similar in functionality to Option 3, where the Flag bit(s) are used to indicate a following direction estimation data 169 tail, and the tail length and pattern is specified or otherwise known apriori. The difference in Option 4 is that the direction estimation data 169 tail is already indicated in the FHS packet 155 preceding the extended inquiry response packet 160, by using ‘Undefined’ bit in the FHS packet. This allows indicating that a dedicated direction estimation packet 169 follows, either immediately after the FHS packet, in
In an example embodiment of the invention, an apparatus comprises:
means for scanning, by an apparatus, for wireless signals, the wireless signals comprising one or more inquiry packets;
means for providing information usable for estimating at least a relative direction of the apparatus in response to receiving one or more inquiry packets from a remote device; and
means for transmitting one or more response packets including an information packet containing the information usable for estimating the at least relative direction of the apparatus.
In an example embodiment of the invention, an apparatus comprises:
means for receiving, by an apparatus from a remote device, one or more wireless response packets including an information packet containing information usable for estimating at least a relative direction of the remote device, the one or more response packets being received in response to a transmission of one or more inquiry packets by the apparatus;
means for determining that the one or more wireless response packets include information usable for estimating the at least relative direction of the remote device; and
means for generating positioning data in the apparatus based on the received information usable for estimating the at least relative direction of the remote device.
The resulting Invention enables direction estimation of the received signal in the Bluetooth™ device discovery, thus providing an opportunity to show direction estimation to the user when pairing devices
Using the description provided herein, the embodiments may be implemented as a machine, process, or article of manufacture by using standard programming and/or engineering techniques to produce programming software, firmware, hardware or any combination thereof.
Any resulting program(s), having computer-readable program code, may be embodied on one or more computer-usable media such as resident memory devices, smart cards or other removable memory devices, or transmitting devices, thereby making a computer program product or article of manufacture according to the embodiments. As such, the terms “article of manufacture” and “computer program product” as used herein are intended to encompass a computer program that exists permanently or temporarily on any computer-usable medium.
As indicated above, memory/storage devices include, but are not limited to, disks, optical disks, removable memory devices such as smart cards, SIMs, WIMs, semiconductor memories such as RAM, ROM, PROMS, etc. Transmitting mediums include, but are not limited to, transmissions via wireless communication networks, the Internet, intranets, telephone/modem-based network communication, hard-wired/cabled communication network, satellite communication, and other stationary or mobile network systems/communication links.
Although specific example embodiments have been disclosed, a person skilled in the art will understand that changes can be made to the specific example embodiments without departing from the spirit and scope of the invention.