Patent Publication Number: US-9903938-B2

Title: Radio and audio localization

Description:
FIELD 
     The subject matter described herein relates to determining the location of other devices based on radio and audio signals. 
     BACKGROUND 
     Ambient sounds can be used to determine the relative positions of devices with at least one microphone. The time difference of arrival (TDOA) between a pair of microphone may then be calculated. The TDOA information may yield a distance value indicative of the difference in the distance between the microphones. Although seemingly simple, the TDOA process becomes difficult to implement in real-world settings where the sound source and environment cannot be controlled. As a consequence, TDOA based processing may not provide sufficiently accurate localization values. 
     SUMMARY 
     In some example embodiments there is provided a method. The method may include receiving, at a user equipment, at least one radio signal and at least one audio signal received via a microphone at the user equipment; and determining, by the user equipment, a distance between the user equipment and at least one other device by at least determining angle of arrival for the at least one radio signal and determining a time difference of arrival for the audio signal received via the microphone. 
     In some example embodiments, there is provided an apparatus. The apparatus may include an apparatus at least one processor; and 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 to perform at least the following: receive, at the apparatus, at least one radio signal and at least one audio signal received via a microphone at the apparatus; and determine, by the apparatus, a distance between the apparatus and at least one other device, wherein the apparatus is configured to determine the distance by at least determine angle of arrival for the at least one radio signal and determine a time difference of arrival for the audio signal received via the microphone. 
     In some example embodiments, there is provided a non-transitory computer-readable storage medium including computer-program code, which when executed by at least one processor causes operations including receiving, at a user equipment, at least one radio signal and at least one audio signal received via a microphone at the user equipment; and determining, by the user equipment, a distance between the user equipment and at least one other device by at least determining angle of arrival for the at least one radio signal and determining a time difference of arrival for the audio signal received via the microphone. 
     In some example embodiments, there is provided an apparatus including means for receiving, at the apparatus, at least one radio signal and at least one audio signal received via a microphone at the apparatus; and means for determining, by the apparatus, a distance between the apparatus and at least one other device, wherein the apparatus is configured to determine the distance by at least determine angle of arrival for the at least one radio signal and determine a time difference of arrival for the audio signal received via the microphone. 
     In some variations, one or more of the features disclosed herein including the following features can optionally be included in any feasible combination. The at least one radio signal may be received at an antenna array. At least one angle between the user equipment and the at least one other device may be determined based on the determined angle of arrival information, at least one angle between the user equipment and the at least one other device. At least one candidate distance between the user equipment and the at least one other device may be selected, wherein the candidate distance represents an estimate determined from the at least one angle between the user equipment and the at least one other device. At least one audio measured distance between the user equipment and the at least one other device may be determined based on at least the determined time difference of arrival for the audio signal received via the microphone. The at least one audio measured distance may be normalized to enable a comparison to at least one other audio measured distance. A first ratio may be formed of the at least one audio measured distance to a corresponding candidate distance, and a second ratio may be formed of the at least one other audio measured distance to another corresponding candidate distance. A magnitude of the first ratio to the second ratio may be compared to determine a best estimate of the distance. 
     The above-noted aspects and features may be implemented in systems, apparatuses, methods, and/or computer-readable media depending on the desired configuration. The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims. In some exemplary embodiments, one of more variations may be made as well as described in the detailed description below and/or as described in the following features. 
    
    
     
       DESCRIPTION OF DRAWINGS 
       In the drawings, 
         FIG. 1  depicts an example of a system including radio and sound localization, in accordance with some example embodiments; 
         FIG. 2A  depicts another example of a system including radio and sound localization, in accordance with some example embodiments; 
         FIG. 2B  depicts another example of a system including plurality of sound sources, in accordance with some example embodiments; 
         FIG. 3  depicts an example of a process for radio and sound localization, in accordance with some example embodiments; 
         FIG. 4  depicts an example histogram where an audio distance measurement may be performed, in accordance with some example embodiments; and 
         FIG. 5  depicts an example of an apparatus, in accordance with some example embodiments. 
     
    
    
     Like labels are used to refer to the same or similar items in the drawings. 
     DETAILED DESCRIPTION 
     Localizing the position of a device may be performed in a variety of ways. However, audio exclusive approaches for accurate localization and positioning may require audio coming from a variety of directions, which is not always the case. In some example embodiments, there is provided radio and audio localization. Specifically, received radio signals may be used to determine angle-of-arrival (AoA) between at least two devices, and the AoA information may be used to determine candidate distances between the devices. Audio signals may be received as well, and the audio signals may be processed to measure distances based on TDOA between the microphones of the receiving devices. The measured distance(s) and the originally determined angle information may be further processed to finally determine the distances between the receiving devices. The distances may be used to determine the relative positions of the devices. The measured distance may also be associated with a confidence metric that indicates the reliability of the audio measured distance. 
       FIG. 1  depicts an example of a system  100 , in accordance with some example embodiments. In the example system  100 , wireless devices  112 A-B may include a short-range radio technology, such as Bluetooth Low Energy (BTLE), and a corresponding antenna. The antenna may comprise an array of at least two antennas, in accordance with some example embodiments. Moreover, the BTLE device may include a microphone (MIC), a speaker (SPKR), and/or other audio components for generating, receiving, and/or processing audio as well. Although some of the examples described herein refer to BTLE, other radio technologies may be used as well including Bluetooth, WiFi, Near Field Communications (NFC), and/or any other radio access technology. Moreover, although  FIG. 1  depicts the receiving device  112 A and the transmitting devices  112 B as each having an antenna array, the transmitter may not include the antenna array if AoA based processing of the radio signals is not being performed at the device. For example, transmitting device  112 B may be embodied as a BTLE or NFC tag device with an antenna array, transceiver, and/or AoA and TDOA estimator. 
     BTLE device  112 B may transmit a packet which is received as a radio signal via the antenna array at BTLE device  112 A. The antenna array enables a determination of the AoA of the packets transmitted by the BTLE device  112 B. For example, BTLE device  112 A may receive the packet and execute amplitude and phase sampling, during the reception of the AoA packet transmitted by the BTLE device  112 B, to determine the angle of arrival of the received packet. This AoA information may indicate the angle to the transmitting BTLE device  112 B. However, the angle does not, without more information, provide an accurate distance to the neighboring device  112 B, so audio based processing in accordance with some example embodiments is also provided. 
       FIG. 2A  depicts another example of a system  200 , in accordance with some example embodiments. The system  200  may include BTLE devices  112 A-C. For example, BTLE devices  112 A-C may be located in a room, a building, and/or other location as well. 
     In the example of  FIG. 2A , BTLE device  112 A may determine, as described above, the AoA of incoming packets received from BTLE device  112 B and received from BTLE device  112 C, which yields a first angle, β. Similarly, BTLE device  112 B may determine the AoA of incoming packets received from BTLE device  112 A and received from BTLE device  112 C, which yields a second angle, γ. Furthermore, BTLE device  112 C may determine the AoA of incoming packets received from BTLE device  112 A and received from BTLE device  112 B, which yields a third angle, α. Although  FIG. 2A  depicts three BTLE devices, other quantities of BTLE devices may be implemented at system  200  as well. 
     In some example embodiments, a candidate distance is selected. For example, a distance, D 1 , may be selected as shown at  FIG. 2A . The first angle β, second angle γ, and third angle α can be used to determine other candidate distances D 2  and D 3  from the selected candidate distance D 1 . The candidate distances D 1 -D 3  are relative distances as the angles can be used to provide the relative distances based on geometry/trigonometry but not the actual distances. 
     In some example embodiments, received audio signals may be processed to measure the distances between BTLE devices  112 A-C based on for example TDOA and the correlation of the received audio signals at each of the microphones at BTLE devices  112 A-C. This audio technique may yield audio measured distances for the distances D 1 , D 2 , and D 3 . In some example embodiments, the largest ratio of the audio measured distance to the corresponding candidate distance may represent the audio measured distance having the greatest reliability. For example, the TDOA of an audio signal sent by sound source  210  may provide the greatest distance ratio between BTLE devices  112 A-B along distance D 1 , when compared to the distance ratios between BTLE devices  112 A and  112 C which receive the audio signal from sound source  210  at about the same time. In this example, the smaller distance ratio may be a less reliable indicator of distance than the greater distance ratio associated with D 1 . As such, the measured audio distance between BTLE devices  112 A and B may, in accordance with some example embodiments, be selected as this distance that has the greatest distance ratio and also corresponds in this example to the largest audio measured distance ratio to candidate distance ratio may, as noted, provide a so-called “best estimate” having higher confidence when compared to the smaller audio measured distance to candidate distance ratios. The measured audio distance may then be used to determine the values of the other distances between the devices with assistance from the first angle β, second angle γ, and third angle α. 
       FIG. 2B  depicts another example in accordance with some example embodiments. In the example of  FIG. 2B , there are two sound sources  250  and  252 . Here, the TDOA of an audio signal sent by sound source  252  may provide most reliable indicator of distance because the sound from source  252  travels directly along path D 3 , when compared to the sound source  250  which travels between path D 1  for BTLE devices  112 B and  112 A. In this example, the time differences associated with D 1 /source  250  and D 3 /source  252  may be normalized before comparison by dividing the TDOA estimate for D 3  by the candidate distance for D 3  and dividing the TDOA estimate for D 1  by the candidate distance for D 1 . In this example, D 3  will be selected as the best estimate having the largest audio measured distance ratio to candidate distance ratio from among the other measured distances. 
       FIG. 3  depicts an example of a process  300  for determining the position of devices based on radio and audio signals, in accordance with some example embodiments. The description of  FIG. 3  also refers to  FIGS. 1 and 2 . 
     At  302 , an angle is determined between devices based on at least the AoA of a radio signal received via an antenna array, such as a BTLE antenna array in accordance with some example embodiments. A radio signal transmitted by BTLE device  112 B may be received at BTLE device  112 A, where the difference in received phase at each element in the antenna array may be used to derive an AoA value for the received radio signal. Similarly, a signal transmitted by BTLE device  112 C may be received at BTLE device  112 A. As such, BTLE device  112 A may determine the angles to BTLE devices  112 A-B, and thus the first angle, β. As noted, BTLE device  112 B may similarly determine the second angle, γ, while BTLE device  112 C may determine third angle, α. 
     At  305 , a candidate distance is selected, in accordance with some example embodiments. Once the angles have been determined, the relative shape and distances between BTLE devices  112 A-C may be determined as shown in  FIG. 2A . However, the actual distances, D 1 -D 3 , are not yet known (as different values of D 1 -D 3  may satisfy the geometry dictated by the angles). BTLE device  112 A may select a candidate distance for D 1 . This initial guess of D 1  may be any value. However, the initial guess of D 1  may also be determined based on some measured or provided information, such as a user input estimate, signal strength (for example, strong signals may correspond to 20 centimeters, medium signals 1 meter, and weak signals 5 meters), and/or the like. 
     At  310 , other candidate distances may be determined based on the selected candidate distance, in accordance with some example embodiments. For example, from the selected candidate distance ( 305 ), other distances may be determined in accordance with the following equations: 
     
       
         
           
             
               D 
               ⁢ 
               
                   
               
               ⁢ 
               2 
             
             = 
             
               D 
               ⁢ 
               
                   
               
               ⁢ 
               1 
               * 
               
                 
                   sin 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   β 
                 
                 
                   sin 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   α 
                 
               
             
           
         
       
       
         
           
             
               D 
               ⁢ 
               
                   
               
               ⁢ 
               3 
             
             = 
             
               D 
               ⁢ 
               
                   
               
               ⁢ 
               1 
               * 
               
                 
                   
                     sin 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     γ 
                   
                   
                     sin 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     α 
                   
                 
                 . 
               
             
           
         
       
     
     These candidate distances for D 1 , D 2 , and D 3  represent so-called “guesses” of the correct distances, but the guesses may be used to choose a best estimate for the correct distance as described further below with respect to  315 - 330 . 
     At  315 , a measured distance may be determined based on received audio, in accordance with some example embodiments. BTLE devices  112 A-C may each include an audio receiver, such as a microphone. Sound received at the devices may be used to localize the BTLE devices  112 A-C using a variety of techniques including time difference of arrival (TDOA). In the case of TDOA, the time difference of arrival between the devices may be used to localize and thus determine the distance of the devices. An example of a TDOA method for localizing devices is described at P. Pertilä et al., “Passive Self-Localization of Microphones Using Ambient Sounds,” EUSIPCO, Bucharest, Romania, Aug. 27-31, 2012, which is incorporated herein by reference. 
     To process the TDOA information from the microphones at BTLE devices  112 A-C, BTLE devices  112 A-C may each record received sound emanated by one or more sources, such as sound source  210  (although the sound source may be at one of the devices as well, for example a speaker or other sound source/generator at the device). The recorded sound may then be sampled and quantized using for example an analog-to-digital converter. In some example embodiments, quantized sound signal may be segmented into frames of a certain size (for example, 2*M+2*N=2*2824+2*1412 samples), although other frame sizes may be used as well. Moreover, the frames may configured to be overlapping. Between microphone pairs among devices  112 A-C, a correlation, such as a cross correlation, may be calculated in each frame as follows: 
                 (       x   j     *     x   k       )     ⁡     [   n   ]       =       ∑     m   =     -   M       M     ⁢         x   j     ⁡     [   m   ]       ⁢       x   k     ⁡     [     m   +   n     ]                 
wherein x j  is microphone j signal, x k  is microphone k signal, n is delay index, and M is a limit to the cross correlation calculation. The range of values for n to be calculated may be varied. For example, assuming a speed of sound 340 meters per second, a sampling rate 48000 Hz, and a maximum distance between devices of about 10 meters, the value of the delay index is about 1412. With larger values of M, a better long term average may be determined, but a smaller value of M may provide a quicker calculation and more frequent updates to the device positions. For example, the value of M may be selected to be twice the value of N (for example, M may be equal to 2824 given the n of 1412 noted above).
 
     From the cross correlation, a TDOA may be calculated for each frame using the following equation: 
               τ   jk     =              arg   ⁢           ⁢   max     n     ⁢     (       (       x   j     *     x   k       )     ⁡     [   n   ]       )                  
wherein x j  is microphone j signal, x k  is microphone k signal, and n is an index to the sampled audio signal.
 
     In some example embodiments, a histogram of the TDOA values from several frames may be created for each pair of BTLE devices/microphones. An example of a histogram is depicted at  FIG. 4 . 
     When there is a sound source from which the sound arrives at the same time at a pair of microphones, a peak may result in the histogram at a sample index value 0 (labeled  410 ) in the histogram. For example, sound source  210  may arrive at BTLE devices  112 A and B at the same time, causing sample index value 0 (at  410 ). When there is a sound source on the axis that goes through a pair of microphones (but not between the microphones, as in the case of “Sound source 1”  210  at  FIG. 2A ), this may cause a peak  420  in the histogram at a position that corresponds to the distance between the microphones. For example, sound source  210  may travel along D 1  between BTLE devices  112 A and B, this may cause peak  420  in the histogram corresponding to the distance between the microphones. All other peaks in the histogram may fall between those two peaks  410  and  420 . Outside this range there may be no peaks as a direct sound (which causes the highest cross correlation) should not take longer to travel from one microphone to another microphone, when compared to a straight sound path between the microphones. In the example of  FIG. 4 , the width  430  of the histogram may correspond to the distance between two BTLE devices, and this width  430  in samples n can be converted to a distance using the following equation: 
             l   =       n     f   s       ⁢   c           
wherein f s  is sampling rate and c is the speed of sound. This distance, l, may be calculated pairwise for all of the microphone pairs l(j,k). Referring again to  FIG. 3 , at  315 , at least one audio signal received at microphones at each of the BTLE devices  112 A-C may be processed based on TDOA (for example, as described above) to measure via audio the distances between BTLE devices  112 A-C.
 
     At  320 , the audio measured distances l(j,k) determined at  315  may then be compared to the candidate distances (for example, g(j,k) determined at  305  and  310 ) to determine a best estimate, in accordance with some example embodiments. The calculated audio distance from  315  that has the largest ratio (in comparison to the candidate distance as noted above with the examples of  FIGS. 2A-2B ) is most likely to have a sound source on the same or similar axis. For example, the best estimate microphone pair may be selected as the maximum according to the following equation: 
     
       
         
           
             
               ( 
               
                 
                   j 
                   ^ 
                 
                 , 
                 
                   k 
                   ^ 
                 
               
               ) 
             
             = 
             
               arg 
               ⁢ 
               
                   
               
               ⁢ 
               
                 
                   max 
                   
                     j 
                     , 
                     k 
                   
                 
                 ⁢ 
                 
                   
                     
                       l 
                       ⁡ 
                       
                         ( 
                         
                           j 
                           , 
                           k 
                         
                         ) 
                       
                     
                     
                       g 
                       ⁡ 
                       
                         ( 
                         
                           j 
                           , 
                           k 
                         
                         ) 
                       
                     
                   
                   . 
                 
               
             
           
         
       
     
     At  330 , the other distances may be calculated using the best estimate determined at  320 , in accordance with some example embodiments. For example, the best estimate, distance l(ĵ, {circumflex over (k)}), may then be used to determine distances D 2  and D 3  in accordance with the angles, β, γ, and α in accordance with the following equations: 
     
       
         
           
             
               D 
               ⁢ 
               
                   
               
               ⁢ 
               1 
             
             = 
             
               l 
               ⁡ 
               
                 ( 
                 
                   
                     j 
                     ^ 
                   
                   , 
                   
                     k 
                     ^ 
                   
                 
                 ) 
               
             
           
         
       
       
         
           
             
               
                 D 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 2 
               
               = 
               
                 D 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 1 
                 * 
                 
                   
                     sin 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     β 
                   
                   
                     sin 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     α 
                   
                 
                 ⁢ 
                 
                   l 
                   ⁡ 
                   
                     ( 
                     
                       
                         j 
                         ^ 
                       
                       , 
                       
                         k 
                         ^ 
                       
                     
                     ) 
                   
                 
               
             
             ; 
           
         
       
       
         
           and 
         
       
       
         
           
             
               D 
               ⁢ 
               
                   
               
               ⁢ 
               3 
             
             = 
             
               D 
               ⁢ 
               
                   
               
               ⁢ 
               2 
               * 
               
                 
                   sin 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   γ 
                 
                 
                   sin 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   α 
                 
               
               ⁢ 
               
                 
                   l 
                   ⁡ 
                   
                     ( 
                     
                       
                         j 
                         ^ 
                       
                       , 
                       
                         k 
                         ^ 
                       
                     
                     ) 
                   
                 
                 . 
               
             
           
         
       
     
     The values of D 1 -D 3  now represent the distance between the BTLE device  112 A-C. Moreover, the value of the selection of the best estimate based on the greatest TDOA may provide an indication of the confidence or reliability of the measured distances D 1 -D 3 . 
     In some example embodiments, the processing  300  may be performed at one or more of devices  112 A-C, although a single device may perform process  300  as well. 
     Example Use Cases 
     To illustrate, a group of users may be playing a game on devices connected wirelessly via for example BTLE. A user may see common game elements on a display as well as aspects unique to that user, such as the user&#39;s own statistics/score. Each player may take a turn, but the game may assign the turn to a corresponding device/user based on the relative location of the devices in the room (for example, clockwise from user and device to the next user and device), and the location of the devices may be determined in accordance with process  300 . 
     To illustrate further, a group of users may want to share information between some of their devices. The users may connect their devices to each other wirelessly. A user may flick (for example, move the device towards another device) for example a file or picture towards another user&#39;s device. The devices may then determine their relative locations via process  300  and thus determine which device was the target of the flick and thus the destination for the file or picture. 
     In yet another example use, in a shop, the user&#39;s device may automatically detect the presence of the other BTLE antenna arrays that send information. The device may then automatically locate via process  300  itself with respect to the other BTLE devices and display the information to the user (for example, “milk is on sale 5 meters behind you”). 
     In some example embodiments, device orientation may be determined as well. For example, if a device has only one microphone, the device&#39;s location with respect to the other devices can be determined as described above; however, the device&#39;s orientation may not be determined unless an accelerometer is used. If a device has two microphones, the locations of both microphones can be determined. When the locations of both the microphones are known, the device&#39;s orientation may be known apart from a rotation along an axis that goes through the microphones. If a device has three or more microphones, the locations of all three microphones can be found. When the locations of all three microphones is known, the device&#39;s orientation is known (unless all the microphones are along the same axis). 
     In some example embodiments, process  300  may be performed, so that users do not have to actively connect the devices but instead there may be a program running on the BTLE devices that automatically detects other BTLE devices and obtains information about the location of other BTLE devices. 
       FIG. 5  depicts an example of an apparatus  500 , in accordance with some example embodiments. The apparatus  500  may comprise a user equipment, such as a smart phone, a tablet, a cell phone, a wearable radio device, a tag, and/or any other radio based device. 
     In some example embodiments, apparatus  500  may also include a radio communication link to a cellular network, or other wireless network. The apparatus  500  may include an antenna array  12  in communication with a transmitter  14  and a receiver  16 . Alternatively transmit and receive antennas may be separate. 
     The apparatus  500  may also include a processor  20  configured to provide signals to and from the transmitter and receiver, respectively, and to control the functioning of the apparatus. Processor  20  may be configured to control the functioning of the transmitter and receiver by effecting control signaling via electrical leads to the transmitter and receiver. Likewise, processor  20  may be configured to control other elements of apparatus  130  by effecting control signaling via electrical leads connecting processor  20  to the other elements, such as a display or a memory. The processor  20  may, for example, be embodied in a variety of ways including circuitry, at least one processing core, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits (for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and/or the like), or some combination thereof. Apparatus  500  may include a location processor and/or an interface to obtain location information, such as positioning and/or navigation information. Accordingly, although illustrated in as a single processor, in some example embodiments the processor  20  may comprise a plurality of processors or processing cores. 
     Signals sent and received by the processor  20  may include signaling information in accordance with an air interface standard of an applicable cellular system, and/or any number of different wireline or wireless networking techniques, comprising but not limited to Wi-Fi, wireless local access network (WLAN) techniques, such as, Institute of Electrical and Electronics Engineers (IEEE) 802.11, 802.16, and/or the like. In addition, these signals may include speech data, user generated data, user requested data, and/or the like. 
     The apparatus  500  may be capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and/or the like. For example, the apparatus  500  and/or a cellular modem therein may be capable of operating in accordance with various first generation (1G) communication protocols, second generation (2G or 2.5G) communication protocols, third-generation (3G) communication protocols, fourth-generation (4G) communication protocols, Internet Protocol Multimedia Subsystem (IMS) communication protocols (for example, session initiation protocol (SIP) and/or the like. For example, the apparatus  500  may be capable of operating in accordance with 2G wireless communication protocols IS-136, Time Division Multiple Access TDMA, Global System for Mobile communications, GSM, IS-95, Code Division Multiple Access, CDMA, and/or the like. In addition, for example, the apparatus  500  may be capable of operating in accordance with 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), and/or the like. Further, for example, the apparatus  500  may be capable of operating in accordance with 3G wireless communication protocols, such as, Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), and/or the like. The apparatus  130  may be additionally capable of operating in accordance with 3.9G wireless communication protocols, such as, Long Term Evolution (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), and/or the like. Additionally, for example, the apparatus  500  may be capable of operating in accordance with 4G wireless communication protocols, such as LTE Advanced and/or the like as well as similar wireless communication protocols that may be subsequently developed. 
     It is understood that the processor  20  may include circuitry for implementing audio/video and logic functions of apparatus  500 . For example, the processor  20  may comprise a digital signal processor device, a microprocessor device, an analog-to-digital converter, a digital-to-analog converter, and/or the like. Control and signal processing functions of the apparatus  500  may be allocated between these devices according to their respective capabilities. The processor  20  may additionally comprise an internal voice coder (VC)  20   a , an internal data modem (DM)  20   b , and/or the like. Further, the processor  20  may include functionality to operate one or more software programs, which may be stored in memory. In general, processor  20  and stored software instructions may be configured to cause apparatus  500  to perform actions. For example, processor  20  may be capable of operating a connectivity program, such as, a web browser. The connectivity program may allow the apparatus  500  to transmit and receive web content, such as location-based content, according to a protocol, such as, wireless application protocol, wireless access point, hypertext transfer protocol, HTTP, and/or the like. 
     Apparatus  500  may also comprise a user interface including, for example, an earphone or speaker  24 , a ringer  22 , a microphone  26 , a display  28 , a user input interface, and/or the like, which may be operationally coupled to the processor  20 . The display  28  may, as noted above, include a touch sensitive display, where a user may touch and/or gesture to make selections, enter values, and/or the like. The processor  20  may also include user interface circuitry configured to control at least some functions of one or more elements of the user interface, such as, the speaker  24 , the ringer  22 , the microphone  26 , the display  28 , and/or the like. The processor  20  and/or user interface circuitry comprising the processor  20  may be configured to control one or more functions of one or more elements of the user interface through computer program instructions, for example, software and/or firmware, stored on a memory accessible to the processor  20 , for example, volatile memory  40 , non-volatile memory  42 , and/or the like. The apparatus  500  may include a battery for powering various circuits related to the mobile terminal, for example, a circuit to provide mechanical vibration as a detectable output. The user input interface may comprise devices allowing the apparatus  500  to receive data, such as, a keypad  30  (which can be a virtual keyboard presented on display  28  or an externally coupled keyboard) and/or other input devices. 
     Moreover, the apparatus  500  may include a short-range radio frequency (RF) transceiver and/or interrogator  64 , so data may be shared with and/or obtained from electronic devices in accordance with RF techniques. The apparatus  500  may include other short-range transceivers, such as an infrared (IR) transceiver  66 , a Bluetooth (BT) transceiver  68  operating using Bluetooth wireless technology, a wireless universal serial bus (USB) transceiver  70 , and/or the like. The Bluetooth transceiver  68  may be capable of operating according to low power or ultra-low power Bluetooth technology, for example, Wibree, Bluetooth Low-Energy, NFC, and other radio standards. In this regard, the apparatus  500  and, in particular, the short-range transceiver may be capable of transmitting data to and/or receiving data from electronic devices within proximity of the apparatus, such as within 10 meters. The apparatus  500  including the Wi-Fi or wireless local area networking modem may also be capable of transmitting and/or receiving data from electronic devices according to various wireless networking techniques, including 6LoWpan, Wi-Fi, Wi-Fi low power, WLAN techniques such as IEEE 802.11 techniques, IEEE 802.15 techniques, IEEE 802.16 techniques, and/or the like. 
     The apparatus  500  may comprise memory, such as, a subscriber identity module (SIM)  38 , a removable user identity module (R-UIM), and/or the like, which may store information elements related to a mobile subscriber. In addition to the SIM, the apparatus  500  may include other removable and/or fixed memory. The apparatus  500  may include volatile memory  40  and/or non-volatile memory  42 . For example, volatile memory  40  may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like. Non-volatile memory  42 , which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices, for example, hard disks, floppy disk drives, magnetic tape, optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like. Like volatile memory  40 , non-volatile memory  42  may include a cache area for temporary storage of data. At least part of the volatile and/or non-volatile memory may be embedded in processor  20 . The memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the apparatus for performing operations as described herein at for example process  300 . The memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying apparatus  500 . The functions may include one or more of the operations disclosed herein with respect to process  300 . In the example embodiment, the processor  20  may be configured using computer code stored at memory  40  and/or  42  to provide the operations, such as receiving, at a user equipment, at least one radio signal received via an antenna array at the user equipment and at least one audio signal received via a microphone at the user equipment; and determining, by the user equipment, a distance between the user equipment and at least one other device by at least determining angle of arrival for the at least one radio signal received via the antenna array and determining a time difference of arrival for the audio signal received via the microphone. 
     Some of the embodiments disclosed herein may be implemented in software, hardware, application logic, or a combination of software, hardware, and application logic. The software, application logic, and/or hardware may reside in memory  40 , the control apparatus  20 , or electronic components disclosed herein, for example. In some example embodiments, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a “computer-readable medium” may be any non-transitory media that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer or data processor circuitry. A computer-readable medium may comprise a non-transitory computer-readable storage medium that may be any media that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer. Furthermore, some of the embodiments disclosed herein include computer programs configured to cause methods as disclosed herein (see, for example, the process  300  and the like). 
     Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect of one or more of the example embodiments disclosed herein is multi-device localization. 
     The subject matter described herein may be embodied in systems, apparatus, methods, and/or articles depending on the desired configuration. For example, the systems, apparatus, methods, and/or articles described herein can be implemented using one or more of the following: electronic components such as transistors, inductors, capacitors, resistors, and the like, a processor executing program code, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an embedded processor, a field programmable gate array (FPGA), and/or combinations thereof. These various example embodiments may include implementations in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. These computer programs (also known as programs, software, software applications, applications, components, program code, or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, computer-readable medium, computer-readable storage medium, apparatus and/or device (for example, magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions. Similarly, systems are also described herein that may include a processor and a memory coupled to the processor. The memory may include one or more programs that cause the processor to perform one or more of the operations described herein. 
     Although a few variations have been described in detail above, other modifications or additions are possible. In particular, further features and/or variations may be provided in addition to those set forth herein. Moreover, the example embodiments described above may be directed to various combinations and subcombinations of the disclosed features and/or combinations and subcombinations of several further features disclosed above. In addition, the logic flow depicted in the accompanying figures and/or described herein does not require the particular order shown, or sequential order, to achieve desirable results. Other embodiments may be within the scope of the following claims.