WO2013061268A2 - Method and device for accurate location determination in a specified area - Google Patents

Method and device for accurate location determination in a specified area Download PDF

Info

Publication number
WO2013061268A2
WO2013061268A2 PCT/IB2012/055871 IB2012055871W WO2013061268A2 WO 2013061268 A2 WO2013061268 A2 WO 2013061268A2 IB 2012055871 W IB2012055871 W IB 2012055871W WO 2013061268 A2 WO2013061268 A2 WO 2013061268A2
Authority
WO
WIPO (PCT)
Prior art keywords
sound
signal
client
receiver
sources
Prior art date
Application number
PCT/IB2012/055871
Other languages
French (fr)
Other versions
WO2013061268A3 (en
Inventor
Boaz Ben-Moshe
Harel LEVI
Original Assignee
Ariel-University Research And Development Company, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ariel-University Research And Development Company, Ltd. filed Critical Ariel-University Research And Development Company, Ltd.
Publication of WO2013061268A2 publication Critical patent/WO2013061268A2/en
Publication of WO2013061268A3 publication Critical patent/WO2013061268A3/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • G01S5/30Determining absolute distances from a plurality of spaced points of known location
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S1/00Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith
    • G01S1/72Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith using ultrasonic, sonic or infrasonic waves
    • G01S1/76Systems for determining direction or position line
    • G01S1/80Systems for determining direction or position line using a comparison of transit time of synchronised signals transmitted from non-directional transducers or transducer systems spaced apart, i.e. path-difference systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • G01S5/26Position of receiver fixed by co-ordinating a plurality of position lines defined by path-difference measurements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/14Systems for determining distance or velocity not using reflection or reradiation using ultrasonic, sonic, or infrasonic waves

Definitions

  • the invention in some embodiments, relates to the field of location determination, and more particularly, but not exclusively, to methods and devices useful for assisting in accurately determining a location of an object in a specified area.
  • LBS Location-Based Services
  • GNSS Global navigation satellite systems
  • An indoor positioning system is a network of devices used to wirelessly determine the location of objects inside a building or otherwise defined space.
  • IPS indoor positioning system
  • One type of indoor positioning systems includes an offline phase in which received signal strength indicator (RSSI) values of calibrated points in the indoor area are stored in a database, and an online phase in which received signal strength indicator values of an unidentified position are compared to the stored values, in order to identify the unidentified position.
  • RSSI received signal strength indicator
  • the invention in some embodiments, relates to the field of location determination, and more particularly, but not exclusively, to methods and devices useful for assisting in accurately determining a location of an object in a specified area.
  • the invention includes generation of a map of calibration profiles (also called calibration fingerprints) each calibration profile including one or more parameters for one or more sound-signals from at least one localized sound-source, the calibration fingerprints measured at calibration locations.
  • the calibration profiles are based on a time of arrival of the sound-signals at a calibration-receiver located at a calibration location, and/or on some manipulation or function of such an arrival time.
  • the calibration profiles are based on a time of flight of the sound-signals from a sound-source to a calibration-receiver at a calibration location. In some embodiments, at least two different sound-sources (each located at different location) are used, and the calibration profiles are based on the difference of arrival times of sound-signals generated by the different sound-sources at a calibration-receiver located at a calibration location.
  • a generated calibration profile map of a mapped area is used by a suitably-configured device to identify an own location in the mapped area by acquiring a corresponding client profile from the sound sources.
  • the client profile for the unidentified location is compared to the calibration profiles, and the position at which the client profile was obtained is estimated based on the results of the comparison. For example, if the client profile is determined to be identical or nearly identical to a calibration profile taken at specific calibration location at (x,y,z) coordinates in the mapped location, it is concluded that the client location is at, or very close to, the calibration location at these specific (x,y,z) coordinates.
  • mapping a specified area comprising:
  • each such sound-source fixedly positioned in a specified area, transmitting at least one discrete sound-signal having a base frequency; at each calibration position of a plurality of calibration positions in the specified area: using a calibration-receiver located at the calibration position, receiving at least one of the discrete sound-signals transmitted by at least one of the at least one sound-source;
  • the calibration database characterizes the receipt of the at least one discrete sound-signal from the at least one sound-source at each of the plurality of calibration positions, thereby mapping the specified area.
  • determining the location of a client-receiver in a specified area having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, according to the method of mapping, comprising:
  • the specified area is in motion.
  • the sound-sources may be placed on board a vehicle such as an airplane or a cruise boat (which may or may not be moving), such that the specified area is an open area in or on the vehicle.
  • At least one sound- source is positioned on an object within the specified area, which object is movable, but is not typically in motion.
  • sound-sources may be mounted onto a table or a stand in the pavilion, which table or stand is movable.
  • the stand or table is located at a fixed position.
  • the at least one sound-source is a device comprising a speaker, a processor and a clock. In some such embodiments, the at least one sound-source is a device comprising a speaker, a processor, a clock, and a receiver for receiving synchronizing signals and wherein the transmitting comprises receiving a synchronizing signal, and, following the receipt of the synchronizing signal, waiting a predetermined delay duration before transmitting at least one sound-signal.
  • the at least one sound-source comprises at least two sound- sources, and wherein the waiting a predetermined delay duration comprises each of the at least two sound-sources waiting a unique predetermined delay duration. In some embodiments, the at least one sound-source comprises at least two sound-sources, and wherein the waiting a predetermined delay duration comprises at least two of the at least two sound-sources waiting the same predetermined delay duration. In some embodiments, the at least one sound-source comprises at least two sound-sources, and wherein the waiting a predetermined delay duration comprises each of the at least two sound-sources waiting the same predetermined delay duration.
  • the waiting a predetermined delay duration comprises waiting a delay duration equal to zero, and the transmitting is concurrent with the receiving of the synchronizing signal.
  • a size of the specified area is in the range of about 1 m 2 to about 10000 m 2 .
  • each of the at least one sound-source is fixedly positioned at a known location in the specified area.
  • the sound-signals are substantially inaudible to humans.
  • the base frequency is in the range of from about 18 kHz to about 24 kHz. In some embodiments, the base frequency is in the range of from about 21 kHz to about 24 kHz.
  • the duration of a specific discrete sound-signal is not more than 100 microseconds. In some embodiments, the duration of a specific discrete sound- signal is not more than 50 microseconds. In some embodiments, the duration of a specific discrete sound-signal is not more than 20 microseconds. In some embodiments, the duration of a specific discrete sound-signal is not less than 0.1 microseconds. In some embodiments, the duration of a specific discrete sound-signal is in the range of 1 and 10 microseconds. In some embodiments, the transmitting is at irregular intervals. In some embodiments, the transmitting is at regular intervals. In some embodiments, the transmitting is periodic. In some embodiments, a repetition rate of the transmitting the discrete sound-signal is less frequent than a maximum repetition rate.
  • the at least one sound-sources is at least two sound-sources.
  • each sound-signal has characteristics identifying from which one of the at least two sound-sources the sound-signal is transmitted.
  • the characteristic comprises a unique base frequency for each one of the at least two sound- sources.
  • the characteristic comprises a unique modulation for each of the at least two sound-sources.
  • the characteristic comprises a unique signal duration for each of the at least two sound-sources.
  • the transmitting comprises each of the at least two sound- sources transmitting a sound-signal simultaneously. In some embodiments, transmitting comprises each of the at least two sound-sources transmitting a sound-signal at different times according to a sound-signal transmission schedule.
  • the receiving comprises receiving at least one sound-signal transmitted by each of the at least two sound-sources.
  • the calibration-receiver is a device comprising a microphone, a processor, and a clock.
  • the calibration-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
  • the plurality of calibration positions comprises at least two calibration positions. In some embodiments, the plurality of calibration positions comprises at least six calibration positions. In some embodiments, the plurality of calibration positions comprises at least ten calibration positions.
  • the method is implemented for (x,y) mapping of the designated area and a density of the calibration positions is not less than one calibration position per 10 m 2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 1 m 2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m 2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m 2 of the specified area. In some embodiments, the method is implemented for (x,y,z) mapping of the designated area and a density of the calibration positions is not less than one calibration position per 10 m 3 of the specified area.
  • a density of the calibration positions is not less than one calibration position per 1 m 3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m 3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m 3 of the specified area.
  • At least two different such calibration-receivers are simultaneously located at at least two different calibration positions, and the receiving by the at least two different calibration-receivers is substantially simultaneous.
  • the calibration-receiver is in motion, and has a fixed velocity of up to about 10 km/h (2.8 m/sec).
  • the calibration positions are located along a path of motion of the calibration-receiver.
  • the receiving occurs at a sampling rate. In some such embodiments, the sampling rate is in the range of 10 Hz - 0.1 Hz.
  • the storing a calibration profile comprises, for each the calibration position, storing a calibration profile including a calibration parameter value related to the receipt by the calibration-receiver of a sound-signal transmitted from the at least one sound-source. In some embodiments, storing a calibration profile comprises, for each the calibration position, storing a calibration profile including a calibration parameter value related to the receipt by the calibration-receiver of a sound-signal transmitted from each one of the at least one sound-source.
  • the method also comprises using the calibration-receiver, accessing a database to retrieve information relating to a specific sound-source of the at least one sound-source from which a sound-signal was received, based on at least one characteristic of the sound-signal.
  • the method also comprises using the client-receiver, accessing a database to retrieve information relating to a specific sound-source of the at least one sound-source from which a sound-signal was received, based on at least one characteristic of the sound-signal.
  • the information comprises at least one of physical coordinates of the specific sound-source, a base frequency of a sound-signal transmitted by the specific sound-source, and a duration of a sound-signal transmitted by the specific sound- source.
  • a sound-signal transmission schedule of the at least one sound- source in the obtaining stage is identical to a sound-signal transmission schedule of the at least one sound-source in the receiving by the client-receiver.
  • the client-receiver is a device comprising a microphone, a processor, and a clock. In some embodiments, the client-receiver comprises a device configured for wired or wireless communication with a remote location. In some embodiments, the client-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
  • the client-receiver is mounted onto an object to be located, and the object is in motion.
  • the client-receiver comprises a device having an adhesive portion which may be stuck onto an object to be located.
  • the client profile includes a client parameter value related to receipt by the client-receiver of a sound-signal transmitted from at least one of the sound- sources. In some embodiments, the client profile includes a client parameter value related to the receipt by the client-receiver of a sound-signal transmitted from each one of the at least one sound- sources.
  • the at least one sound-source comprises at least two sound- sources
  • the calibration profile includes a calibration parameter value related to receipt by the calibration-receiver of a pair of the sound-signals, one of the pair of sound-signals transmitted from each one of the pair of the at least two sound-sources.
  • the client profile includes a client parameter value related to the receipt by the client-receiver of a pair of the sound-signals, one sound-signal of the pair of sound-signals transmitted from each one of a pair of the at least two sound- sources.
  • the parameter comprises a difference in the time of arrival at the receiver of the pair of sound-signals transmitted by the pair of the at least two sound- sources. In some embodiments, the parameter comprises a time of arrival at the receiver of a sound-signal. In some embodiments, the parameter comprises a time of flight of a sound- signal from the at least one sound-source to the receiver.
  • evaluating the similarity comprises computing a metric indicating the similarity between the client profile and at least one calibration profile in the calibration database. In some such embodiments, evaluating the similarity comprises evaluating similarity between the client profile and at least two calibration profiles in the calibration database. In some embodiments, evaluating the similarity comprises evaluating similarity between the client profile and each calibration profile in the calibration database.
  • the evaluating a similarity between the client profile and at least one calibration profile in the calibration database comprises computing a vector distance function between the client profile and the at least one calibration profile.
  • the distance function comprises a Euclidean distance.
  • the approximating of the identity of the position of the client- receiver comprises finding one the calibration profile in the calibration database which is most similar to the client profile and approximating the position of the client-receiver to be at the calibration position corresponding to the calibration profile, and in some embodiments near the calibration position corresponding to the calibration profile.
  • the approximating of the identity of the position of the client- receiver comprises finding a subset of the calibration profiles in the calibration database (the subset including one or more different calibration profiles) to which the client profile is most similar and approximating the position of the client-receiver to be a function of the calibration positions corresponding to the calibration profiles in the subset.
  • the function comprises a weighted average, which may be computed using an suitable method, for example a particle filter, a Kalman filter or an Extended Kalman filter.
  • the method further comprises reporting the approximated position to a user interface of the client-receiver. In some such embodiments, the method comprises presenting the approximated position to the user on a display of the client-receiver, for example, overlayed on the image of a map of the specified area.
  • the method further comprises reporting the approximated position to a location remote from the client-receiver, such as a third-party server.
  • the client-receiver is in motion, and has a velocity of up to about 10 km/h (2.8 m/sec).
  • the approximating the position is recurrent at an approximating rate.
  • the approximating rate is between 10 Hz and 0.1 Hz.
  • the method further comprises, following the receiving by the client-receiver of the at least one discrete sound signal, transmitting information relating to the received sound signal to a server.
  • at least one of the computing, the creating a client profile, the evaluating, and the approximating are carried out at the server.
  • all of the computing, the creating a client profile, the evaluating, and the approximating are carried out at the server.
  • the method further comprises from the server, reporting the approximated position to a user interface of the client-receiver.
  • devices for mapping a specified area comprising:
  • At least one sound-source fixedly positionable in a specified area and configured for transmitting at least one discrete sound-signal having a base frequency
  • a calibration receiver configured to be positioned at a calibration position of a plurality of calibration positions in the specified area and to receive at least one of the discrete sound-signals transmitted by at least one of the at least one sound-source;
  • a calibration parameter value computer configured, for each sound-source of the at least one sound-source from which at least one discrete sound-signal was received by the calibration-receiver, to compute at least one calibration parameter value of at least one parameter for at least one such discrete sound-signals received from the sound- source;
  • a calibration database configured to store a calibration profile for the calibration position, the calibration profile being based on the computed calibration parameter values
  • the calibration database characterizes the receipt of the at least one discrete sound- signal from the at least one sound-source at each of the plurality of calibration positions, thereby mapping the specified area.
  • devices for determining the location of a client-receiver in a specified area having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, using the device for mapping, comprising:
  • a map obtainer configured to obtain a map of a specified area as described above; a client-receiver configured to be located at a position in the specified area and to receive at least one discrete sound-signal transmitted by the at least one sound-source; a client parameter value computer configured, for each sound-source of the at least one sound-source from which at least one discrete sound- signal was received by the client-receiver, to compute at least one client parameter value of the at least one parameter for at least one discrete sound-signal received from the sound-source;
  • a client profile creator configured to create a client profile for the position based on the computed client parameter values
  • a similarity evaluator configured to evaluate similarity between the client profile and at least one calibration profile in the calibration database
  • a position approximator configured to approximate an identity of the position of the client-receiver based on the evaluating and on an identity of at least one the calibration position corresponding to the at least one calibration profile, approximating an identity of the position of the client-receiver.
  • the specified area is in motion.
  • the sound-sources may be placed on board a vehicle such as an airplane or a cruise boat (which may or may not be moving), such that the specified area is an open area in or on the vehicle.
  • At least one sound- source is positioned on an object within the specified area, which object is movable, but is not typically in motion.
  • sound-sources may be mounted onto a table or a stand in the pavilion, which table or stand is movable.
  • the stand or table is located at a fixed position.
  • the at least one sound-source is a device comprising a speaker, a processor and a clock. In some such embodiments, the at least one sound-source is a device comprising a speaker, a processor, a clock, and a receiver for receiving synchronizing signals. In some such embodiments, the at least one sound-source is configured to receive a synchronizing signal, and, following the receipt of the synchronizing signal, to wait a predetermined delay duration before transmitting at least one sound-signal.
  • the at least one sound-source comprises at least two sound- sources, each configured to wait a unique predetermined delay duration. In some embodiments, the at least one sound-source comprises at least two sound-sources, at least two of the at least two sound-sources configured to wait the same predetermined delay duration. In some embodiments, the at least one sound-source comprises at least two sound-sources, each configured to wait the same predetermined delay duration.
  • the predetermined delay duration is equal to zero, and the at least one sound-source is configured to transmit the at least one discrete sound signal concurrently with receipt of the synchronizing signal.
  • a size of the specified area is in the range of about 1 m 2 to about 10000 m 2 .
  • each of the at least one sound-source is fixedly positioned at a known location in the specified area.
  • the sound-signals are substantially inaudible to humans.
  • the base frequency is in the range of from about 18 kHz to about 24 kHz. In some embodiments, the base frequency is in the range of from about 21 kHz to about 24 kHz.
  • the duration of a specific discrete sound-signal is not more than 100 microseconds. In some embodiments, the duration of a specific discrete sound- signal is not more than 50 microseconds. In some embodiments, the duration of a specific discrete sound-signal is not more than 20 microseconds. In some embodiments, the duration of a specific discrete sound-signal is not less than 0.1 microseconds. In some embodiments, the duration of a specific discrete sound-signal is in the range of 1 and 10 microseconds.
  • the at least one sound-source is configured to transmit the discrete sound-signals at irregular intervals. In some embodiments, the at least one sound- source is configured to transmit the discrete sound-signals at regular intervals. In some embodiments, the at least one sound-source is configured to transmit the discrete sound- signals periodically. In some embodiments, the at least one sound-source is configured to transmit the discrete sound-signals at a repetition which is less frequent than a maximum repetition rate.
  • the at least one sound-sources is at least two sound-sources.
  • each sound-signal has characteristics identifying from which one of the at least two sound-sources the sound-signal is transmitted.
  • the characteristic comprises a unique base frequency for each one of the at least two sound- sources.
  • the characteristic comprises a unique modulation for each of the at least two sound-sources.
  • the characteristic comprises a unique signal duration for each of the at least two sound-sources.
  • the at least two sound-sources are configured transmit a sound- signal simultaneously. In some embodiments, each of the at least two sound-sources is configured to transmit a sound-signal at a different time according to a sound-signal transmission schedule.
  • the calibration receiver is configured to receive at least one sound-signal transmitted by each of the at least two sound- sources.
  • the calibration-receiver is a device comprising a microphone, a processor, and a clock.
  • the calibration-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
  • the plurality of calibration positions comprises at least two calibration positions. In some embodiments, the plurality of calibration positions comprises at least six calibration positions. In some embodiments, the plurality of calibration positions comprises at least ten calibration positions.
  • a density of the calibration positions is not less than one calibration position per 10 m 2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 1 m 2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m 2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m 2 of the specified area.
  • the calibration receiver comprises at least two different such calibration-receivers simultaneously located at at least two different calibration positions, and configured to receive discrete sound-signals substantially simultaneously.
  • the calibration-receiver is in motion, and has a fixed velocity of up to about 10 km/h (2.8 m/sec).
  • the calibration positions are located along a path of motion of the calibration-receiver.
  • the calibration receiver is configured to receive sound- signals at a sampling rate. In some such embodiments, the sampling rate is in the range of 10 Hz - 0.1 Hz.
  • the calibration database is configured to store, for each calibration position, a calibration profile including a calibration parameter value related to the receipt by the calibration-receiver of a sound-signal transmitted from the at least one sound- source. In some embodiments, the calibration database is configured to store, for each calibration position, a calibration profile including a calibration parameter value related to the receipt by the calibration-receiver of a sound-signal transmitted from each one of the at least one sound-source.
  • the calibration-receiver is also configured to access a database to retrieve information relating to a specific sound-source of the at least one sound-source from which a sound-signal was received, based on at least one characteristic of the sound- signal.
  • the client-receiver is also configured to access a database to retrieve information relating to a specific sound-source of the at least one sound-source from which a sound-signal was received, based on at least one characteristic of the sound-signal.
  • the information comprises at least one of physical coordinates of the specific sound-source, a base frequency of a sound-signal transmitted by the specific sound-source, and a duration of a sound-signal transmitted by the specific sound- source.
  • a sound-signal transmission schedule of the at least one sound- source when sound-signals are received by the calibration receiver is identical to a sound- signal transmission schedule of the at least one sound-source when sound signals are received by the client-receiver.
  • the client-receiver is a device comprising a microphone, a processor, and a clock. In some embodiments, the client-receiver comprises a device configured for wired or wireless communication with a remote location. In some embodiments, the client-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
  • the client-receiver is mounted onto an object to be located, and the object is in motion.
  • the client-receiver comprises a device having an adhesive portion which may be stuck onto an object to be located.
  • the client profile includes a client parameter value related to receipt by the client-receiver of a sound-signal transmitted from at least one of the sound- sources. In some embodiments, the client profile includes a client parameter value related to the receipt by the client-receiver of a sound-signal transmitted from each one of the at least one sound- sources.
  • the at least one sound-source comprises at least two sound- sources
  • the calibration profile includes a calibration parameter value related to receipt by the calibration-receiver of a pair of the sound-signals, one of the pair of sound-signals transmitted from each one of the pair of the at least two sound-sources.
  • the client profile includes a client parameter value related to the receipt by the client-receiver of a pair of the sound-signals, one sound-signal of the pair of sound-signals transmitted from each one of a pair of the at least two sound- sources.
  • the parameter comprises a difference in the time of arrival at the receiver of the pair of sound-signals transmitted by the pair of the at least two sound- sources. In some embodiments, the parameter comprises a time of arrival at the receiver of a sound-signal. In some embodiments, the parameter comprises a time of flight of a sound- signal from the at least one sound-source to the receiver.
  • the similarity evaluator is configured to compute a metric indicating the similarity between the client profile and at least one calibration profile in the calibration database. In some such embodiments, the similarity evaluator is configured to evaluate similarity between the client profile and at least two calibration profiles in the calibration database. In some embodiments, the similarity evaluator is configured to evaluate similarity between the client profile and each calibration profile in the calibration database.
  • the similarity evaluator is configured to compute a vector distance function between the client profile and the at least one calibration profile.
  • the distance function comprises a Euclidean distance.
  • the position approximator is configured to find one calibration profile in the calibration database which is most similar to the client profile and to approximate the position of the client-receiver to be at the calibration position corresponding to the calibration profile, and in some embodiments near the calibration position corresponding to the calibration profile.
  • the position approximator is configured to find a subset of the calibration profiles in the calibration database (the subset including one or more different calibration profiles) to which the client profile is most similar and to approximate the position of the client-receiver to be a function of the calibration positions corresponding to the calibration profiles in the subset.
  • the function comprises a weighted average, which may be computed using an suitable method, for example a particle filter, a Kalman filter or an Extended Kalman filter.
  • the position approximator is configured to report the approximated position to a user interface of the client-receiver.
  • client-receiver is configured to present the approximated position to the user on a display, for example, overlayed on the image of a map of the specified area.
  • the position approximator is configured to report the approximated position to a location remote from the client-receiver, such as a third-party server.
  • the client-receiver is in motion, and has a velocity of up to about 10 km/h (2.8 m/sec).
  • the position approximator is configured to recurrently approximate the position at an approximating rate. In some such embodiments, the approximating rate is between 10 Hz and 0.1 Hz.
  • the client-receiver is also configured, following receipt of the at least one discrete sound signal, to transmit information relating to the received sound signal to a server.
  • at least one of the client parameter value computer, client profile creator, similarity evaluator, and position approximator form part of the server.
  • all of the client parameter value computer, client profile creator, similarity evaluator, and position approximator form part of the server.
  • the server is configured to report the approximated position to a user interface of the client-receiver.
  • determination of the location of a sound-receiver includes generation of discrete sound- signals from at least one localized sound-source.
  • discrete sound-signals from different sound-sources are generated in a synchronous manner.
  • the travel time of the sound-signal, or the time difference of arrival between times of receipt of two separate sound-signals may be computed using simple arithmetic.
  • the travel time of the sound-signal and/or time difference of arrival allows calculation of the distance from the sound-source to the client- receiver, which distance can then be used, using methods known in the art such as trilateration, to determine the location of the client-receiver.
  • TOF time of flight
  • TOF time of flight
  • the computing a time of flight comprises computing a time of flight for a specific received sound-signal transmitted by a specific sound-source of the at least one sound-source and the using the computed time of flight comprises using the time of flight computed for the specific sound-signal, a respective location in the specified area for the specific sound-source, and a speed of sound, to compute a distance between the client- receiver and the specific sound-source.
  • the receiving comprises receiving sound-signals from at least two of the at least two sound-sources
  • the determining the location comprises carrying out a mathematical function on the computed distances to the at least two sound- sources from which the sound-signals were received.
  • the mathematical function comprises trilateration.
  • other mathematical functions are used for example RMS (Root Mean Square) EKF (Extended Kalman Filter) calculations, and numerical methods (e.g., using a binary search over the radius of the closest sound-source, using a gradient descent (steepest descent) in order to move a starting point to the location which is close-enough to the real location, using a particle filter.
  • TDOA time difference of arrival
  • the using the computed time difference of arrival comprises for each the pair of received sounds signals for which a time difference of arrival is computed, based on the respective locations in the specified area of the ones of the at least two sound-sources from which the pair of sound- signals was received and on a speed of sound, identifying a group of possible locations in the specified area, such that if the client- receiver were located at one of the group of locations, the time difference of arrival would be satisfied and using a function of the groups of possible locations to determine the location of the client-receiver.
  • the function comprises intersection of the groups of possible locations.
  • the methods also comprise identifying, for each sound-signal of the received sound-signals, from which one of the at least two sound-sources the sound- signal is transmitted, based on at least one signal characteristic.
  • the signal characteristic comprises a unique base frequency for sound-signals transmitted from each one of the at least two sound-sources.
  • the signal characteristic comprises a unique modulation for sound-signals transmitted from each of the at least two sound-sources.
  • the signal characteristic comprises a unique signal duration for sound-signals transmitted from each of the at least two sound- sources.
  • the identifying comprises accessing additional data indicating an association between a signal characteristic and one of the at least two sound-sources that transmits signals having the signal characteristic.
  • accessing additional data comprises accessing data in a pre -populated dataset included in the client-receiver. In some embodiments, accessing additional data comprises accessing data encoded in a received sound-signal.
  • accessing additional data comprises accessing a database at a remote location from the client-receiver.
  • accessing a database at a remote location comprises communicating with a remote server housing the database using a communication method selected from the group consisting of: a wireless network (e.g., WiFi®), a wireless cellular telephony network (e.g., GPRS, 2G, 3G, 4G), a wireless personal area network (e.g., Bluetooth®).
  • a wireless network e.g., WiFi®
  • a wireless cellular telephony network e.g., GPRS, 2G, 3G, 4G
  • a wireless personal area network e.g., Bluetooth®
  • the transmitting the sound-signal comprises at the at least two sound-sources, receiving a synchronizing signal at a synchronizing rate and following receipt of the synchronizing signal, at each of the at least two sound-sources, waiting a predetermined duration prior to transmitting the sound-signal.
  • the method further comprises receiving the synchronizing signal at the client-receiver.
  • the receiving a synchronizing signal comprises receiving a synchronizing sound-signal transmitted by a sound-source.
  • the sound-source is one of the at least two sound-sources.
  • the receiving a synchronizing signal comprises receiving a synchronizing signal comprising a change of phase in current powering the at least two sound-sources.
  • the synchronizing signal is transmitted based on a reference time.
  • the reference time is selected from the group consisting of: a local reference time, UTC (coordinated universal time), TAI (International Atomic Time), PTP, and a GNSS clock.
  • the synchronizing rate is in the range of 100Hz to lHz.
  • the predetermined delay duration is unique to each one of the at least two sound-sources. In some embodiments, the predetermined delay duration is the same for at least two sound-sources of the at least two sound- sources. In some embodiments, predetermined delay duration is predetermined duration is the same for all of the at least two sound-sources.
  • the predetermined delay duration corresponding to at least one of the at least two sound-sources is equal to zero, and the sound-signal is transmitted from the at least one of the at least two sound-sources substantially simultaneously with the receipt of the synchronizing signal by the at least one of the at least two sound- sources.
  • the base frequency is substantially inaudible to humans.
  • the base frequency is in the range of from about 18 kHz to about 24 kHz. In some embodiments, base frequency is in the range of from about 21 kHz to about 24 kHz.
  • the duration of a specific sound-signal is not more than 100 microseconds. In some embodiments, the duration of a specific sound-signal is not more than 50 microseconds. In some embodiments, the duration of a specific sound-signal is not more than 20 microseconds. In some embodiments, the duration of a specific sound-signal is not less than 0.1 microseconds. In some embodiments, the duration of a specific sound-signal is in the range of 1 and 10 microseconds.
  • a repetition rate of transmitting a sound-signal is less frequent than a maximum repetition rate. In some embodiments, the maximal repetition rate is 5 Hz.
  • a method as described herein also comprises at least one sound-signal also transmitting information (that is to say the signal carries the information or is encoded with the information) relating to at least one of the at least two sound- sources.
  • transmitting information comprises transmitting at least one of:
  • a handle enabling the client-receiver to access information relating to the at least one of the at least two sound-sources
  • the sound-signal schedule comprises information relating to at least one of a sound-signal transmission time, a sound-signal duration, a sound-signal frequency, and a sound-signal modulation, for at least one sound-signal transmitted by the at least one of the at least two sound- sources.
  • the location information for the at least one of the at least two sound-sources comprises absolute location information for the at least one of the at least two sound-sources. In some embodiments, the location information comprises location information for the at least one of the at least two sound-sources relative to a known location in the specified area, e.g. a door.
  • the handle enabling the client-receiver to access information relating to the at least one of the at least two sound-sources comprises at least one of a URL, a barcode, and a quick response (QR) code.
  • the data corresponding to location-sensitive information comprises at least one of information about sales and special products and an event schedule.
  • the data corresponding to location-sensitive information includes: coordinates of a location of interest, distance from the location of interest, and advertising content.
  • the transmitting information is at a transmission rate in the range of 1 and 20 kbps.
  • At least one of the at least two sound-sources is a device comprising a speaker, a processor and a clock.
  • the device also includes a receiver for receipt of synchronizing signals, e.g., a radio receiver or a client- receiver.
  • the client-receiver is a device comprising a microphone, a processor, and a clock. In some such embodiments, the device also includes a radio receiver for receipt of synchronizing signals. In some embodiments, the client-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a Wi-Fi enabled cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
  • the client-receiver is in motion, and has a velocity of up to about 10 km/h (2.8 m/sec).
  • the determined location is stored in the client-receiver.
  • the determined location is displayed to a user of the client-receiver, for example on a display of the client-receiver.
  • the displaying comprises displaying the determined location overlayed on a map of the specified area.
  • a method as described herein also comprises, from a transmitter included in the client-receiver, transmitting the determined location to a location remote from the client-receiver.
  • the determining the location comprises repeatedly determining the location at a determining rate.
  • the determining rate is in the range of 2 Hz - 0.1 Hz.
  • At least one of the at least two sound-source is mobile.
  • a size of the specified area is in the range of 1 m 2 to 10000 m 2 .
  • a method as described herein also comprises determining a velocity vector of the client-receiver.
  • the determining the velocity vector comprises determining a Doppler-shift of the client-receiver to at least one of the at least two sound- sources.
  • the time of flight calculations, Time Difference of Arrival (TDOA) calculations, distance calculations, possible group of locations calculations, and/or location calculation are all carried out at the client-receiver.
  • TDOA Time Difference of Arrival
  • the client-receiver transmits information regarding the received sound-signals, such as time stamp of receipt of the sound- signals, and duration, modulation, and frequencies of the sound-signals, to a remote server, for example using a wireless network protocol (e.g., WiFi®)), a wireless cellular telephony network protocol (e.g., GPRS, 2G, 3G, 4G), a wireless personal area network protocol (e.g., Bluetooth®).
  • a wireless network protocol e.g., WiFi®
  • a wireless cellular telephony network protocol e.g., GPRS, 2G, 3G, 4G
  • a wireless personal area network protocol e.g., Bluetooth®
  • the time of flight calculations, TDOA calculations, distance calculations, possible group of locations calculations, and location calculations are all carried out at the remote server.
  • some of the time of flight, TDOA, distance, possible group of location, and location calculations are carried out at the client-receiver, and calculations not carried out at the client-receiver are carried out at the remote server.
  • the location determined in accordance with the teachings herein is a range from the sound-source.
  • Such embodiments are useful, for example, for determining location in a substantially linear specified area (e.g., buildings with hallways or well-defined passageways, in tunnels).
  • Such embodiments are also useful, for determining proximity location, for example, in the field of livestock control where the client-receivers are secured to livestock confined in an area in some way (e.g., by the presence of a fence) and the location as determined in accordance with the teachings herein primarily to ensure that the client-receivers do not leave (or are taken) from the specified area.
  • devices for determining the location of a client-receiver in a specified area comprising:
  • At least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency at a predetermined time;
  • a client-receiver located in the specified area, configured to receive at least two of the sound-signals transmitted by the sound-sources;
  • an information obtainer functionally associated with the client-receiver, configured to access information relating to the predetermined time of transmission of the sound- signals
  • TOF time of flight
  • a distance location calculator functionally associated with the time of flight computer, configured to use the computed time of flight and respective locations in the specified area of sound-sources of the at least two sound-sources for which the time of flight is computed to determine a location of the receiver in the specified area.
  • devices for providing signals useful in determining the location of a client-receiver in a specified area comprising:
  • At least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency at a predetermined time.
  • devices for determining the location of a client-receiver in a specified area comprising: a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in the specified area, each of the at least two sound signals being transmitted at a predetermined time by the at least two sound-sources;
  • an information obtainer functionally associated with the client-receiver, configured to access information relating to the predetermined time of transmission of the sound- signals
  • TOF time of flight
  • a distance location calculator functionally associated with the time of flight computer, configured to use the computed time of flight and respective locations in the specified area of sound-sources of the at least two sound-sources for which the time of flight is computed to determine a location of the receiver in the specified area.
  • the TOF computer is configured to compute a time of flight for a specific received sound-signal transmitted by a specific sound-source of the at least one sound-source and the distance location calculator is configured to use the time of flight computed for the specific sound-signal, a respective location in the specified area for the specific sound-source, and a speed of sound to compute a distance between the client-receiver and the specific sound-source.
  • the client-receiver is configured to receive sound-signals from at least two of the at least two sound-sources
  • the distance location calculator is configured to carry out a mathematical function on the computed distances to the at least two sound-sources from which the sound-signals were received.
  • the mathematical function comprises trilateration.
  • other mathematical functions are used for example RMS (Root Mean Square) EKF (Extended Kalman Filter) calculations, and numerical methods (e.g., using a binary search over the radius of the closest sound-source, using a gradient descent (steepest descent) in order to move a starting point to the location which is close-enough to the real location, using a particle filter.
  • devices for determining the location of a client-receiver in a specified area comprising: at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency;
  • a client-receiver located in the specified area, configured to receive at least two of the sound-signals transmitted by at least two different ones of the at least two sound- sources;
  • TDOA time difference of arrival
  • TDOA location calculator functionally associated with the TDOA computer, configured to use the computed time differences of arrival and respective locations in the specified area of the sound-sources from which the at least some pairs of sound-signals were received to determine a location of the client- receiver in the specified area.
  • devices for providing signals useful in determining the location of a client-receiver in a specified area comprising:
  • At least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency.
  • devices for determining the location of a client-receiver in a specified area comprising:
  • a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in the specified area, each of the at least two sound signals being transmitted by the at least two sound-sources;
  • a time difference of arrival (TDOA) computer functionally associated with the client- receiver, configured to compute a time difference of arrival of at least some pairs of the received sound-signals, sound-signals in each the pair received from different ones of the at least two sound-sources, based on times of receipt of the received sound- signals;
  • TDOA location calculator functionally associated with the TDOA computer, configured to use the computed time differences of arrival and respective locations in the specified area of the sound-sources from which the at least some pairs of sound-signals were received to determine a location of the client- receiver in the specified area.
  • the TDOA location calculator is configured, for each the pair of received sounds signals for which a time difference of arrival is computed, based on the respective locations in the specified area of the ones of the at least two sound-sources from which the pair of sound-signals was received and on a speed of sound, to identify a group of possible locations in the specified area, such that if the client-receiver were located at one of the group of locations, the time difference of arrival would be satisfied and to use a function of the groups of possible locations to determine the location of the client-receiver.
  • the function comprises intersection of the groups of possible locations.
  • the devices also comprise a sound-source identifier configured to identify, for each sound-signal of the received sound-signals, from which one of the at least two sound-sources the sound-signal is transmitted, based on at least one signal characteristic.
  • the signal characteristic comprises a unique base frequency for sound-signals transmitted from each one of the at least two sound- sources. In some such embodiments, the signal characteristic comprises a unique modulation for sound- signals transmitted from each of the at least two sound- sources. In some such embodiments, the signal characteristic comprises a unique signal duration for sound-signals transmitted from each of the at least two sound- sources.
  • the sound-source identifier is configured to access additional data indicating an association between a signal characteristic and one of the at least two sound-sources that transmits signals having the signal characteristic. In some embodiments, the sound-source identifier is configured to access data in a pre-populated dataset included in the client-receiver. In some embodiments, the sound-source identifier is configured to access data encoded in a received sound-signal.
  • the sound-source identifier is configured to access a database at a remote location from the client-receiver.
  • the sound-source identifier is configured to communicate with a remote server housing the database using a communication method selected from the group consisting of: a wireless network (e.g., WiFi®), a wireless cellular telephony network (e.g., GPRS, 2G, 3G, 4G), a wireless personal area network (e.g., Bluetooth®).
  • a wireless network e.g., WiFi®
  • a wireless cellular telephony network e.g., GPRS, 2G, 3G, 4G
  • a wireless personal area network e.g., Bluetooth®
  • the at least two sound-sources are configured to receive a synchronizing signal at a synchronizing rate and to wait a predetermined duration following receipt of the synchronizing signal, prior to transmitting the sound-signal.
  • the client-receiver is configured to receive the synchronizing signal.
  • the synchronizing sound-signal is transmitted by a sound- source.
  • the sound-source is one of the at least two sound- sources.
  • the synchronizing signal comprises a change of phase in current powering the at least two sound-sources.
  • the synchronizing signal is based on a reference time.
  • the reference time is selected from the group consisting of: a local reference time, UTC (coordinated universal time), TAI (International Atomic Time), PTP, and a GNSS clock.
  • the synchronizing rate is in the range of 100Hz to lHz.
  • the predetermined delay duration is unique to each one of the at least two sound-sources. In some embodiments, the predetermined delay duration is the same for at least two sound-sources of the at least two sound- sources. In some embodiments, predetermined delay duration is predetermined duration is the same for all of the at least two sound-sources.
  • the predetermined delay duration corresponding to at least one of the at least two sound-sources is equal to zero, and the at least one of the at least two sound-sources is configured to transmit a sound-signal substantially simultaneously with receipt of the synchronizing signal.
  • the base frequency is substantially inaudible to humans.
  • the base frequency is in the range of from about 18 kHz to about 24 kHz. In some embodiments, base frequency is in the range of from about 21 kHz to about 24 kHz.
  • the duration of a specific sound-signal is not more than 100 microseconds. In some embodiments, the duration of a specific sound-signal is not more than 50 microseconds. In some embodiments, the duration of a specific sound-signal is not more than 20 microseconds. In some embodiments, the duration of a specific sound-signal is not less than 0.1 microseconds. In some embodiments, the duration of a specific sound-signal is in the range of 1 and 10 microseconds.
  • a repetition rate of transmitting a sound- signal is less frequent than a maximum repetition rate. In some embodiments, the maximal repetition rate is 5 Hz.
  • a device as described herein also comprises at least one sound- signal also transmitting information (that is to say the signal carries the information or is encoded with the information) relating to at least one of the at least two sound-sources.
  • the sound signal is configured to transmit at least one of:
  • a handle enabling the client-receiver to access information relating to the at least one of the at least two sound-sources
  • the sound-signal schedule comprises information relating to at least one of a sound-signal transmission time, a sound-signal duration, a sound-signal frequency, and a sound-signal modulation, for at least one sound-signal transmitted by the at least one of the at least two sound- sources.
  • the location information for the at least one of the at least two sound-sources comprises absolute location information for the at least one of the at least two sound-sources. In some embodiments, the location information comprises location information for the at least one of the at least two sound-sources relative to a known location in the specified area, e.g. a door.
  • the handle enabling the client-receiver to access information relating to the at least one of the at least two sound-sources comprises at least one of a URL, a barcode, and a quick response (QR) code.
  • the data corresponding to location-sensitive information comprises at least one of information about sales and special products and an event schedule.
  • the data corresponding to location-sensitive information includes: coordinates of a location of interest, distance from the location of interest, and advertising content.
  • the sound signal is configured to transmit information at a transmission rate in the range of 1 and 20 kbps.
  • At least one of the at least two sound-sources is a device comprising a speaker, a processor and a clock.
  • the device also includes a receiver for receipt of synchronizing signals, e.g., a radio receiver or a client- receiver.
  • the client-receiver is a device comprising a microphone, a processor, and a clock.
  • the device also includes a radio receiver for receipt of synchronizing signals.
  • the client-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a Wi-Fi enabled cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
  • the client-receiver is in motion, and has a velocity of up to about 10 km/h (2.8 m/sec).
  • the determined location is stored in the client-receiver. In some embodiments, the determined location is displayed to a user of the client-receiver, for example on a display of the client-receiver. In some embodiments, the displaying comprises displaying the determined location overlayed on a map of the specified area.
  • the client-receiver also includes a transmitter configured to transmit the determined location to a location remote from the client-receiver.
  • location is determined repeatedly at a determining rate.
  • the determining rate is in the range of 2 Hz - 0.1 Hz.
  • At least one of the at least two sound-source is mobile.
  • a size of the specified area is in the range of 1 m 2 to 10000 m 2 .
  • a device as described herein also comprises a velocity determiner configured to determine a velocity vector of the client-receiver.
  • the velocity determiner is configured to determine a Doppler-shift of the client-receiver to at least one of the at least two sound- sources.
  • the information obtainer, time of flight (TOF) computer, distance location calculator, time difference of arrival (TDOA) computer, and/or time difference of arrival (TDOA) location calculator form part of the client-receiver.
  • the client-receiver comprises a transmitter configured to transmit information regarding the received sound-signals, such as time stamp of receipt of the sound-signals, and duration, modulation, and frequencies of the sound-signals, to a remote server, for example using a wireless network protocol (e.g., WiFi®)), a wireless cellular telephony network protocol (e.g., GPRS, 2G, 3G, 4G), a wireless personal area network protocol (e.g., Bluetooth®).
  • time of flight (TOF) computer, distance location calculator, time difference of arrival (TDOA) computer, and/or time difference of arrival (TDOA) location calculator form part of the remote server.
  • some of the time of flight (TOF) computer, distance location calculator, time difference of arrival (TDOA) computer, and/or time difference of arrival (TDOA) location calculator form part of the client-receiver, and the ones not part of the client-receiver form part of the remote server.
  • TOF time of flight
  • TDOA time difference of arrival
  • TDOA time difference of arrival
  • Some embodiments of the invention may involve performing or completing selected tasks manually, automatically, or a combination thereof.
  • Some embodiments of the invention are implemented with the use of components that comprise hardware, software, firmware or combinations thereof.
  • some components are general-purpose components such as general-purpose computers or processors.
  • some components are dedicated or custom components such as circuits, integrated circuits or software. For example, some embodiments are performed, at least partially, as a plurality of software instructions executed by a data processor, for example which is part of a general- purpose or custom computer.
  • the data processor or computer comprises volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data.
  • implementation includes a network (e.g., Internet, Intranet, wired, wireless) connection.
  • implementation includes a user interface, generally comprising one or more of input devices (e.g., allowing input of commands and/or parameters) and output devices (e.g., allowing reporting parameters of operation and results).
  • FIG. 1 is a schematic depiction of an embodiment of a sound-source according to the teachings herein;
  • FIG. 2 is a schematic depiction of an embodiment of a sound-receiver, such as a client-receiver, suitable for location determination based on fingerprinting according to the teachings herein; and
  • FIGS. 3 A and 3B are a schematic depiction of an embodiment of a preparatory (mapping) stage and an active stage of a method for determining the location of a receiver in a designated area based on fingerprinting according to the teachings herein;
  • FIGS. 4A and 4B are flowcharts of the embodiments of Figures 3A and 3B, respectively;
  • FIG. 5 is a schematic depiction of an embodiment of a sound- source and of a time line representing a sound-signal transmitted from the sound-source according to the teachings herein;
  • FIG. 6 is a schematic depiction of an embodiment of a client-receiver suitable for location determination without fingerprinting according to the teachings herein;
  • FIG. 7 is a schematic depiction of an embodiment of a method for determining the location of a receiver without fingerprinting according to the teachings herein;
  • FIGS. 8A and 8B taken together are a flowchart of the embodiment of Figure 7.
  • the invention in some embodiments, relates to the field of location determination, and more particularly, but not exclusively, to methods and devices useful for assisting in accurately determining a location of an object in a specified area.
  • client-receiver and “sound- receiver” are intended to have the same meaning, and may be interchangeably used unless clearly dictated otherwise by the context. Specifically, in some instances the term “sound- receiver” or “sound receiver” used in priority document 61/551,484 is understood to be identical to the term “client-receiver”as used herein.
  • mapping a specified area comprising:
  • each such sound-source fixedly positioned in a specified area, transmitting at least one discrete sound-signal having a base frequency; at each calibration position of a plurality of calibration positions in the specified area: using a calibration-receiver located at the calibration position, receiving at least one of the discrete sound-signals transmitted by at least one of the at least one sound-source;
  • a calibration profile for the calibration position in a calibration database, storing a calibration profile for the calibration position, the calibration profile being based on the computed calibration parameter values
  • the calibration database characterizes the receipt of the at least one discrete sound-signal from the at least one sound-source at each of the plurality of calibration positions, thereby mapping the specified area.
  • determining the location of a client-receiver in a specified area having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, according to the method of mapping, comprising:
  • devices for mapping a specified area comprising:
  • At least one sound-source fixedly positioned in a specified area and configured for transmitting at least one discrete sound-signal having a base frequency
  • a calibration receiver configured to be positioned at a calibration position of a plurality of calibration positions in the specified area and to receive at least one of the discrete sound-signals transmitted by at least one of the at least one sound-source;
  • a calibration parameter value computer configured, for each sound-source of the at least one sound-source from which at least one discrete sound-signal was received by the calibration-receiver, to compute at least one calibration parameter value of at least one parameter for at least one such discrete sound-signals received from the sound- source;
  • a calibration database configured to store a calibration profile for the calibration position, the calibration profile being based on the computed calibration parameter values
  • the calibration database characterizes the receipt of the at least one discrete sound-signal from the at least one sound-source at each of the plurality of calibration positions, thereby mapping the specified area.
  • devices for determining the location of a client-receiver in a specified area having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, using the device for mapping, comprising:
  • a map obtainer configured to obtain a map of a specified area as described above; a client-receiver configured to be located at a position in the specified area and to receive at least one discrete sound-signal transmitted by the at least one sound-source; a client parameter value computer configured, for each sound-source of the at least one sound-source from which at least one discrete sound-signal was received by the client-receiver, to compute at least one client parameter value of the at least one parameter for at least one discrete sound-signal received from the sound-source;
  • a client profile creator configured to create a client profile for the position based on the computed client parameter values
  • a similarity evaluator configured to evaluate similarity between the client profile and at least one calibration profile in the calibration database
  • a position approximator configured to approximate an identity of the position of the client-receiver based on the evaluating and on an identity of at least one the calibration position corresponding to the at least one calibration profile, approximating an identity of the position of the client-receiver.
  • TOF time of flight
  • TOF time of flight
  • TDOA time difference of arrival
  • devices for determining the location of a client-receiver in a specified area comprising:
  • At least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency at a predetermined time;
  • a client-receiver located in the specified area, configured to receive at least two of the sound-signals transmitted by the sound-sources;
  • an information obtainer functionally associated with the client-receiver, configured to access information relating to the predetermined time of transmission of the sound- signals
  • TOF time of flight
  • a distance location calculator functionally associated with the TOF computer, configured to use the computed time of flight and respective locations in the specified area of sound-sources of the at least two sound-sources for which the time of flight is computed to determine a location of the receiver in the specified area.
  • devices for providing signals useful in determining the location of a client-receiver in a specified area comprising:
  • At least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency at a predetermined time.
  • devices for determining the location of a client-receiver in a specified area comprising: a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in the specified area, each of the at least two sound signals being transmitted at a predetermined time by the at least two sound-sources;
  • an information obtainer functionally associated with the client-receiver, configured to access information relating to the predetermined time of transmission of the sound- signals
  • TOF time of flight
  • a distance location calculator functionally associated with the time of flight computer, configured to use the computed time of flight and respective locations in the specified area of sound-sources of the at least two sound-sources for which the time of flight is computed to determine a location of the receiver in the specified area.
  • devices for determining the location of a client-receiver in a specified area comprising:
  • At least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency
  • a client-receiver located in the specified area, configured to receive at least two of the sound-signals transmitted by at least two different ones of the at least two sound- sources;
  • TDOA time difference of arrival
  • TDOA location calculator functionally associated with the TDOA computer, configured to use the computed time differences of arrival and respective locations in the specified area of the sound-sources from which the at least some pairs of sound-signals were received to determine a location of the client- receiver in the specified area.
  • At least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency.
  • devices for determining the location of a client-receiver in a specified area comprising:
  • a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in the specified area, each of the at least two sound signals being transmitted by the at least two sound-sources;
  • a time difference of arrival (TDOA) computer functionally associated with the client- receiver, configured to compute a time difference of arrival of at least some pairs of the received sound-signals, sound-signals in each the pair received from different ones of the at least two sound-sources, based on times of receipt of the received sound- signals;
  • TDOA location calculator functionally associated with the TDOA computer, configured to use the computed time differences of arrival and respective locations in the specified area of the sound-sources from which the at least some pairs of sound-signals were received to determine a location of the client- receiver in the specified area.
  • a rescue worker in low-visibility conditions e.g., firepersons, search-teams
  • a mechanical device e.g., robot
  • person e.g., a visually impaired person
  • livestock and other farming products e.g., beehives
  • FIG. 1 is a schematic depiction of an embodiment of a sound-source according to the teachings herein.
  • an ultrasonic sound-source 10 comprises a processor 14 and a sound emitter 16, such as a speaker.
  • sound-source 10 also includes a clock 18.
  • Sound-source 10 is configured to transmit a discrete sound-signal, indicated by reference numeral 20.
  • sound-source 10 further includes a receiver 22, and is configured to receive a synchronizing signal (not shown), and to transmit the discrete sound- signal at a fixed time duration, measured using clock 18, after receipt of the synchronizing signal.
  • Sound-signal 20 has a defined base frequency and is transmitted at a well defined start time, which may be defined independently, but in some embodiments is defined with respect to a time of receipt of the synchronizing signal, i.e., a predetermined delay duration after receipt of the synchronizing signal. In some embodiments, the predetermined delay duration is zero, that is, the sound-signal is transmitted substantially immediately upon receipt of the synchronizing signal.
  • each sound-source 10 when multiple sound-sources 10 are deployed in the same area, as described with reference to Figures 3A and 3B, each sound-source 10 generates a sound- signal 20 at a predetermined delay duration after receipt of the synchronizing signal.
  • at least two sound-sources 10 deployed in the same area have the same predetermined delay duration. That said, in some such embodiments, at least one sound- source 10 has a predetermined delay duration different from at least one other sound- source 10 deployed in the same area.
  • all sound- sources 10 deployed in the same area have the same predetermined delay duration and transmit a discrete sound-signal concurrently.
  • each sound-source 10 deployed in the same area has a unique predetermined delay duration different from the predetermined delay duration of all the other sound -sources deployed in the same area.
  • a sound-signal transmitted from each sound-source 10 has characteristics identifying from which sound- source 10 the sound- signal 20 was transmitted.
  • an identifying characteristic comprises a base frequency, in some embodiments a unique base frequency.
  • an identifying characteristic comprises a modulation, in some embodiments a unique modulation.
  • an identifying characteristic is a signal duration, in some embodiments a unique signal duration.
  • an identifying characteristic comprises a combination of at least two of a base frequency, a modulation, and a signal duration.
  • the base frequency is any suitable base frequency. That said, in order to avoid causing distress or nuisance, it is preferred that a base frequency be higher than normally detectable to a human, e.g., at least 18 kHz.
  • the base frequency is typically between about 18 kHz and about 24 kHz, more typically between about 21 kHz and about 24 kHz.
  • Such base frequencies allows the teachings herein to be exceptionally useful by allowing implementation thereof with standard smartphones and such devices, and in some embodiments do not require custom-made dedicated hardware.
  • each sound- source 10 when multiple sound- sources 10 are deployed in the same area, as described with reference to Figures 3A and 3B, each sound- source 10 generates a sound- signal 20 at a unique base frequency, which is different from the base frequency of other sound-sources 10.
  • sound- source 10 transmits a sound-signal 20 at a specified base frequency that does not change.
  • the base-frequency of sound-signals generated by sound-source 10 changes with time.
  • the duration of a specific discrete sound-signal is any suitable duration. That said, it is preferred that the duration be short to reduce distress or nuisance. Accordingly, the duration of a specific discrete sound-signal is typically not more than about 100 microseconds, not more than about 50 microseconds, and even not more than about 20 microseconds. In some embodiments, the duration is between 1 and 10 microseconds. As mentioned above, in some embodiments when multiple sound-sources are deployed in the same area, as described with reference to Figures 3A and 3B, each sound- source 10 generates a sound-signal having a unique duration different from the duration of sound-signals of other sound-sources 10. In some embodiments, sound-source 10 generates a sound-signal having a duration that does not change. In some embodiments, the duration of sound-signals generated by a given sound-source 10 changes with time.
  • a single sound-source recurrently generates a discrete sound-signal.
  • generation is intermittent.
  • sound-signal generation is periodic.
  • the actual repetition rate is typically less frequent than a certain maximum repetition rate that is determined as a function of sound- signal duration and maximal range from a sound-source: it is preferred to ensure that a client-receiver at the furthest range from a sound-source receives a sound-signal before a succeeding sound-signal is generated in order to avoid possible confusion between two succeeding signals and also possible echoes.
  • a typical maximal repetition rate is about 5 Hz (5 sound- signals per second). That said, to reduce distress or nuisance, an actual repetition rate is typically slower than 5 Hz.
  • the intensity of a discrete sound-signal is any suitable intensity.
  • the intensity is as low as possible to reduce distress or nuisance, but must be sufficient so as to be detectable at a desired maximal range.
  • Typical base frequencies are such that it is unlikely that background noise drowns-out the sound- signals. That said, in some embodiments, interfering background noise may be a factor to consider when determining a suitable intensity.
  • FIG. 2 is a schematic depiction of an embodiment of a client-receiver according to the teachings herein.
  • a client-receiver which may be a calibration- receiver or a client-receiver, is a device comprising a microphone, a processor and a clock. In some embodiments such a device is custom-made to implement the teachings herein.
  • the device is a suitably-modified known device, for example, a mobile communication device (Wi-Fi enabled cellphone, PDA, smartphone, mobile computer, Bluetooth® earphone), typically only software-modified (as opposed to hardware-modified) allowing simple and advantageous implementation of the teachings herein with the use of a pre-existing and ubiquitous hardware infrastructure. That said, in some embodiments, such a mobile communication device is hardware modified to implement the teachings herein, for example, by addition or replacement of one or more hardware components for implementing the teachings herein.
  • a client-receiver 200 here illustrated as a suitably modified smart phone, such as a ⁇ 7500 "Galaxy” smartphone by Samsung Inc, of Seoul, South Korea, which includes a sound-signal sensor 202, a processor 206, and a clock 208.
  • a suitably modified smart phone such as a ⁇ 7500 "Galaxy” smartphone by Samsung Inc, of Seoul, South Korea, which includes a sound-signal sensor 202, a processor 206, and a clock 208.
  • any suitably-configured device that can detect a generated sound-signal and can process received sound-signals may take advantage of the teachings herein as a client- receiver to determine an own location.
  • the client-receiver is a device including a microphone such as a smartphone, cellular telephone, computer or PDA that is software and/or hardware modified to implement the teachings herein.
  • the sound-signal sensor 202 which may be, for example, a software driver to a microphone of client-receiver 200, is modified to receive sound-signals transmitted by sound- sources according to the teachings herein, such as sound- sources 10 of Figure 1, and specifically to receive sound-signals having a frequency in the range of from about 18kHz to about 24 kHz.
  • client-receiver 200 is activated to implement the teachings herein and monitors the microphone input for sound-signals.
  • processor 206 Upon receipt of a sound- signal by sound- signal sensor 202 in accordance with the teachings herein, processor 206 activates a time- stamper 210 to associate a time stamp, determined using clock 208, with the received sound- signal.
  • processor 206 stores the time stamps in an Arrival Dataset 212 of a client-receiver database 214, implemented, for example, as a SQL relational database, where Arrival Dataset 212 is implemented as one or more database tables.
  • client-receiver database 214 is populated with information regarding the characteristics of sound-signals received from different sound-sources prior to use of client-receiver 202.
  • a sound- source identifier 216 upon receipt of a sound-signal and identification of its characteristics, such as frequency, modulation, and/or duration, extracts information from database 214 for association of the specific sound-signal with a sound-source which transmitted the sound-signal.
  • sound- signal sensor 202 receives a sound- signal from each sound- source deployed in the vicinity of client-receiver 200, and Arrival Dataset 212 stores a profile including multiple timestamps, each timestamp indicating the time of arrival of a sound- signal from a different sound- source.
  • a time difference of arrival identifier 218 of client-receiver 200 calculates a pair wise Time Difference Of Arrival (TDOA) profile, that is, a profile including the time difference between the arrivals of two signals from each pair of sound-sources.
  • TDOA Time Difference Of Arrival
  • processor 206 runs a similarity assessor 220, for example implemented as a separate process or thread, which receives a TDOA profile from TDOA identifier 218, obtains one or more calibration TDOA profiles corresponding to one or more known calibration points in a specified area, and assesses the similarity between the received TDOA profile and each calibration TDOA profile.
  • TDOA profile comparer 220 may use any suitable method for comparing the received TDOA profile and a calibration TDOA profile, such as computing a Euclidean distance between the two profiles.
  • TDOA profile comparer 220 outputs a similarity profile, for example in the form of a vector.
  • the number of entries in the similarity profile is equal to the number of calibration TDOA profiles to which the TDOA profile was compared, and each entry includes a single numerical value indicating the similarity between a specific calibration TDOA profile and the TDOA profile obtained by TDOA identifier 218.
  • processor 206 runs a location estimator 224, for example implemented as a separate process or thread, which periodically receives updated similarity profiles as calculated by similarity assessor 220.
  • Location estimator 224 estimates the location of client- receiver 200 based on the similarity profile, such that client-receiver 200 is estimated to be located close to calibration points for which the similarity profile indicated high similarity. Stated differently, location estimator 224 estimates that client-receiver 200 is located close to calibration points for which the calibration TDOA profile was similar to the TDOA profile obtained by client-receiver 200.
  • location estimator 224 uses a function or metric to estimate the location of client-receiver 200, particularly if multiple calibration TDOA profiles are similar to the TDOA profile obtained by client-receiver 200.
  • Location estimator 224 may implement any suitable method known in the art, for example, weighted average, trilateration, or other functions.
  • location estimator 224 Upon completing a location calculation, location estimator 224 stores the output for immediate use, for example, by a location-based service application running on client- receiver 200.
  • location estimator 224 attaches a timestamp and stores the location in client-receiver database 214, for use by location-dependent applications, such as an application showing the client-receiver 200 path superimposed on a map.
  • the location of the client-receiver may be calculated using methods other than Time Difference of Arrival (TDOA) calculations, such as time-of-flight calculations and radiolocation calculations, though such calculations often require additional data, such as knowledge of the exact time that a sound-signal was transmitted by a sound-source.
  • TDOA Time Difference of Arrival
  • the estimated location of client-receiver 200 is optionally reported to the user of client-receiver 200, for example on display screen 225, or to some external location, e.g., using a Wi-Fi session, Bluetooth® or cellular telephony.
  • the estimated location of client-receiver 200 is within 50 cm of the actual location of client-receiver 200. In some embodiments, the estimated location is within 30, 10, or even 5 cm of the actual location of client-receiver 200.
  • FIGS. 3 A and 3B are schematic depiction of an embodiment of a preparatory (mapping) stage and an active stage of a method for determining the location of a receiver in a designated area based on fingerprinting according to the teachings herein, and to Figures 4A and 4B, which are flowcharts of the embodiments of Figures 3 A and 3B, respectively.
  • a calibration user 300 holding a calibration-receiver 302, similar to client-receiver 200 of Figure 2, is located in a room 304, such as a conference hall or exhibit room.
  • the size of the specified area in which the object is located is between 1 m 2 to 10000 m 2 .
  • a calibration-receiver 302 may be mounted onto any object for which location determination is desired.
  • the size of the object for which location is determined is in the order of 1 cm - 200 cm.
  • Room 304 Also located in room 304 is a plurality of sound-sources 306, similar to sound-sources 10 described hereinabove in reference to Figure 1.
  • Room 304 further includes a plurality of calibration points 308.
  • the exact number of sound-sources 306 deployed in room 304 depends on the size of the room, and on the desired accuracy of location determination. For example, in a room of size 600 m 2 , four or five sound-sources 306 typically are deployed.
  • the exact number and distribution of calibration points 308 depends on the desired accuracy of location determination, such that the greater the number of calibration points 308, or the shorter the distance between each two calibration points 308, the higher the accuracy of location determination.
  • the calibration points 308 are typically distributed at fixed distances D v and D h from one another, where D v indicates a vertical distance and D h indicates a horizontal difference.
  • D v and Dh are both equal to two meters.
  • D v and Dh are both equal to one meter.
  • D v and Dh are equal to 80, 60, 40, or even 20 cm.
  • D v is smaller than Dh.
  • D h is smaller than D v .
  • a density of the calibration positions is not less than one calibration position per 10 m 2 of the specified area.
  • a density of the calibration positions is not less than one calibration position per 1 m 2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m 2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m 2 of the specified area.
  • a density of the calibration positions is not less than one calibration position per 10 m 3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 1 m 3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m 3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m 3 of the specified area.
  • the sound-sources 306 are synchronized, such that a synchronizer (not shown) recurrently (in some embodiments intermittently, in some embodiments periodically) transmits a synchronizing signal allowing the one or more sound- sources 306 to be synchronized with each other, at step 402 of Figure 4A.
  • calibration-receiver 302 also receives the synchronizing signal, allowing it to be synchronized with the one or more sound-sources 306.
  • the synchronizing signal is typically transmitted in a synchronizing rate.
  • the synchronizing signal is selected so as to be received by all sound-sources 306 substantially instantaneously.
  • the synchronizing signal comprises an electromagnetic radiation transmission, such as an infrared radiation transmission or a radiofrequency transmission. In some embodiments, the synchronizing signal comprises a change of phase in the electrical current supplying power to sound-sources 306. In some embodiments, the synchronizing signal comprises a signal transmitted as a 3G or 4G telephony system beacon. In some embodiments, the synchronizing signal comprises a signal transmitted by a Wi-Fi access point, for example, embedded in a Wi-Fi beacon signal.
  • each of sound-sources 306 transmits a sound-signal 312, either immediately or after waiting a predetermined delay duration from receipt of the synchronizing signal.
  • the delay duration may be unique to each sound-source 306, or may be common to two or more sound-sources, and may be of any duration, including duration zero.
  • calibration-receiver 302 located at a specific calibration point 308a in room 304, receives sound-signals 312 transmitted by some or all of sound-sources 306.
  • calibration-receiver 302 time-stamps the time at which the sound-signals were received.
  • each sound-signal 312 transmitted by each of the sound-sources 306 has one or more unique characteristics which enable calibration-receiver 302, upon receipt of a specific sound-signal 312 and, in some cases, access to additional data, to identify which of the sound-sources 306 transmitted the received signal, at step 412.
  • the identification may be based on the duration of the sound- signal, the modulation of the sound-signal, the base frequency of the sound-signal or combinations thereof.
  • calibration-receiver 302 identifies a sound-source 306 from which each received sound-signal 312 was transmitted, calibration-receiver 302 generates a calibration TDOA profile 314 for calibration point 308a, at step 414.
  • calibration-receiver 302 transmits the calibration TDOA profile to a database 316 for storage therein, as indicated by arrow 318.
  • database 316 includes a calibration TDOA profile for each calibration point 308.
  • a client 320 holding a client-receiver 322, similar to client-receiver 200 of Figure 2, is located in room 304, at a point indicated by reference numeral 328.
  • client-receiver 322 located at point 328, receives sound-signals 332 transmitted by some or all of sound-sources 306, and time-stamps the time at which the sound-signals 332 were received, at step 430.
  • each sound-signal 332 transmitted by each of the sound-sources 306 has one or more unique characteristics which enable client-receiver 322, upon receipt of a specific sound-signal 332 and, in some cases, access to additional data, to identify which of the sound-sources 306 transmitted the received signal, at step 432.
  • the identification may be based on the duration of the sound-signal, the modulation of the sound- signal, the base frequency of the sound-signal or combinations thereof.
  • client-receiver 322 identifies a sound-source 306 from which each received sound-signal 332 was transmitted, it stores a timestamp 334 indicating the arrival time of sound-signal 332, at step 434. Once signals are received from all sound-sources 306, or, alternately, once a predetermined duration from receipt of a first sound-signal 332 has passed, the client-receiver 322 generates a client TDOA profile 336 for point 328 based on the timestamps 334, as seen at step 436.
  • client-receiver 332 accesses the calibration TDOA profiles 314 in database 316.
  • client-receiver 322 computes the similarity of each calibration TDOA profile to client TDOA profile 336, resulting in a similarity profile 338, at step 442.
  • the similarity calculation may be any suitable calculation, such as calculation of Euclidean distance or any other distance metric.
  • client-receiver 322 downloads the calibration TDOA profiles 314 from database 316 in real time, as indicated by arrow 340.
  • the calibration TDOA profiles 314 are loaded into client-receiver 322 offline, for example prior to client-receiver 322 entering room 304.
  • client-receiver 332 estimates its position based on the similarity profile 338, such that it is located close to the calibration points for which the highest similarity was computed.
  • the greatest similarity indicated by the lowest Euclidean distance, is between the client TDOA profile and the calibration TDOA profiles for points 308b and 308d, and thus it is estimated that point 328 is located between points 308b and 308d.
  • the exact location of point 328 between points 308b and 308d may be computed using any suitable function, such as weighted average, trilateration, or any other suitable method.
  • the estimated position may be stored in client-receiver 322 for future use, as seen at step 446.
  • the estimated position is displayed to client 320 on a display, such as screen 342 of client-receiver 322, and may be displayed as overlayed on a map for client 320 to more easily identify his location, as seen at step 448.
  • the estimated position is transmitted to a remote location, such as a server.
  • a remote location such as a server.
  • the calculated location may be transmitted to the supermarket management for use in advertising and decisions regarding placement of products.
  • the invention includes generation of a sound-signal, which may be a modulated sound-signal, from at least two sound-sources located in the venue, each sound-signal at a specified start- time.
  • a suitably configured client-receiver is able to use the sound- signals to determine an own location within the venue.
  • FIG. 5 is a schematic depiction of an embodiment of a sound-source and of a time line representing a sound-signal transmitted from the sound- source according to the teachings herein.
  • an ultrasonic sound-source 510 similar to sound-source 10 of Figure 1, comprises a processor 514 and a sound emitter 516, such as a speaker.
  • sound-source 510 also includes a clock 518.
  • Sound-source 510 is configured to transmit a modulated sound-signal, as described further hereinbelow, indicated by reference numeral 520.
  • sound-source 510 further includes a receiver 522, and is configured to receive a synchronizing signal (not shown), and to transmit the modulated sound-signal at a fixed time duration, measured using clock 518, after receipt of the synchronizing signal.
  • sound-source 510 begins transmitting modulated sound-signal 520 is started at a predetermined time point, for example at each exact second (hh:mm:ss:000), upon receipt of a synchronizing signal or at a predetermined duration after receipt of such synchronizing signal.
  • modulated sound-signal 520 includes a series of multiple location signals 530, here shown as three location signals.
  • the locations signals each have the same duration, for example 5 microseconds, and are separated by fixed time durations of silence 532, for example lasting 5 microseconds each.
  • the last location signal 530 is followed by a predetermined duration of silence 534, for example 20 microseconds.
  • sound-signal 520 is modulated to transmit data stored in, or generated by, processor 514 or by a controller (not shown) associated with the sound-source 510.
  • Any suitable technique or algorithm (for example, as known in the art of modems, especially acoustically coupled modems) is used to modulate sound-signal 520 to carry the digital data.
  • sound-source 510 may transmit its own coordinates, for example using standard GPS coordinates to 1 cm 3 resolution.
  • sound- source 510 may transmit data that corresponds to location-sensitive information, specifically, information about sales and special products.
  • this information has the format: coordinates of a location of interest, distance from location of interest and advertising content (visual and/or audible content).
  • sound-source 510 may transmit a time stamp for the time at which transmission of sound-signal 520 was initiated, thereby allowing a recipient of sound- signal 520 to compute the time of flight of the signal until it was received, as described hereinbelow with reference to Figures 6-8.
  • sound-source 510 may transmit a schedule, for example a signal transmission schedule, as part of sound- signal 520.
  • sound-source 510 may transmit a handle to the data, or information from which the data may be obtained. For example, sound-source 510 may transmit as part 536 of sound-signal 520 a URL to a website listing the coordinates of the sound-source instead of directly transmitting the coordinates.
  • sound- source 510 may transmit a discrete sound-signal 520 as described hereinabove with reference to Figure 1.
  • Sound-signal 520 has a defined base frequency and is transmitted at a well defined start time, which may be defined independently, but in some embodiments is defined with respect to a time of receipt of the synchronizing signal, i.e., a predetermined delay duration after receipt of the synchronizing signal. All the characteristics of sound- source 510 and of sound-signal 520, including characteristics relating to start time, delay from receipt of a synchronizing signal, frequency, modulation, duration, schedule of sound-signal generation, repetition rates, and sound-signal intensity, are equivalent to those described hereinabove for sound-source 10 and sound-signal 20 of Figure 1.
  • the transmission rate of sound-source 510 is typically between 1 and 20 kbps.
  • Such a transmission rate allows transmission of additional information, e.g., in time duration 536, e.g., location-sensitive information, advertisements, event schedules, announcements, data encoding voice messages and data encoding text messages.
  • FIG. 6 is a schematic depiction of an embodiment of a client-receiver suitable for location determination without fingerprinting according to the teachings herein.
  • a client-receiver is a device comprising a microphone, a processor and a clock.
  • a device is custom-made to implement the teachings herein.
  • the device is a suitably-modified known device, for example, a mobile communication device (Wi-Fi enabled cellphone, PDA, smartphone, mobile computer, Bluetooth® earphone), typically only software-modified (as opposed to hardware -modified) allowing simple and advantageous implementation of the teachings herein with the use of a pre-existing and ubiquitous hardware infrastructure. That said, the device may be hardware modified, for example by functional association with a suitable dongle through a suitable port such as a USB port, to implement the teachings herein.
  • a suitable dongle such as a USB port
  • a client-receiver 600 here illustrated as a suitably modified smart phone, such as a ⁇ 7500 "Galaxy” smartphone by Samsung Inc, of Seoul, South Korea, which includes a sound-signal sensor 602, a processor 606, and a clock 608.
  • a suitably modified smart phone such as a ⁇ 7500 "Galaxy” smartphone by Samsung Inc, of Seoul, South Korea, which includes a sound-signal sensor 602, a processor 606, and a clock 608.
  • any suitably-configured device that can detect a generated sound-signal and can process received sound-signals may take advantage of the teachings herein as a client- receiver to determine an own location.
  • the client-receiver is a device including a microphone such as a smartphone, cellular telephone, computer or PDA that is software- modified to implement the teachings herein, in some embodiments including a GNSS receiver.
  • the sound-signal sensor 602 which may be, for example, a software driver to a microphone of client-receiver 600, is modified to receive sound-signals transmitted by sound- sources according to the teachings herein, such as sound- sources 10 of Figure 1, and specifically to receive sound-signals having a frequency in the range of from about 18 kHz to about 24 kHz.
  • client-receiver 600 is activated to implement the teachings herein and monitors the microphone input for sound-signals.
  • processor 606 Upon receipt of a sound- signal by sound- signal sensor 602 in accordance with the teachings herein, activates a time- stamper 610 to associate a time stamp, determined using clock 608, with the received sound- signal.
  • processor 606 stores the time stamps in an Arrival Dataset 612 of a client-receiver database 614, implemented, for example, as a SQL relational database, where Arrival Dataset 612 is implemented as one or more database tables.
  • client-receiver database 614 is populated with information regarding the characteristics of sound-signals received from different sound-sources prior to use of client-receiver 602.
  • a sound- source identifier 616 upon receipt of a sound-signal and identification of its characteristics, such as frequency, modulation, and/or duration, extracts information from database 614 for association of the specific sound-signal with a sound-source which transmitted the sound-signal.
  • processor 606 stores an entry indicating such association in Arrival Dataset 612 in Client- receiver Database 614.
  • a data extractor 618 extracts data encoded in the final portion of the signal, such as portion 536 of Figure 5.
  • Processor 606 runs a data interpreter 620, for example implemented as a separate process or thread, which interprets the received data, to identify whether it indicates the location of the transmitting sound-source, a transmission schedule of the transmitting sound-source, a URL for accessing the coordinates and/or transmission sound schedule for the transmitting sound- source, or any other type of data.
  • a data retriever 622 running on processor 606, for example implemented as a separate process or thread, retrieves the data using the handle identified by data interpreter 620.
  • the data interpreted by data interpreter 620 or accessed by data retriever 622, is stored in client-receiver database 614 in association with the specific sound-signal and sound-source which transmitted the signal, for later use.
  • the location of the sound- source from which a sound-signal was received are known, whether from data extracted from the received sound-signal, from data obtained from a data handle extracted from a received sound-signal, or by being pre-programmed into processor 606 of client-receiver 600.
  • client-receiver 600 can accurately calculate the distance to the sound-source based on the speed of sound. In some embodiments, the distance is reported. In some embodiments, the distance, taken together with the available known locations of the sound-sources and/or an available map is used to determine the location of the client-receiver and reported.
  • client-receiver database 614 allows for retrieval of the time stamp of receipt of a specific sound-signal as well as other information associated with the sound-signal, for example information obtained by data extractor 616 and data interpreter 618. Additionally, in some embodiments, client-receiver database 614 allows for retrieval of information associated with the sound-source that transmitted that sound-signal. When the start time of signal transmission is known, such information, allows for computation of the distance between the client-receiver 600 and a sound-source from which a sound-signal was received. Otherwise, when the start time of signal transmission is not known, such information allows for computation of the location of client-receiver 600 based on time differences of signal arrival times.
  • a distance calculator 624 for example implemented as a separate process or thread running in processor 606 calculates the distance of client-receiver 600 from a sound-source transmitting the sound-signal using the formula dt*vs, where dt is the time difference and vs is the speed of sound.
  • processor 606 runs a distance location calculator 628, for example implemented as a separate process or thread, which periodically receives updated distances of the client-receiver from a corresponding sound-source as calculated by the distance calculator.
  • Distance location calculator 628 may implement any suitable method known in the art, for example, trilateration, weighted average or other methods. Upon completing a location calculation, distance location calculator 628 stores the output for immediate use, for example, by a location-based service application running on client-receiver 600. Alternatively or additionally, distance location calculator 628 uses clock 608 to attach a timestamp and stores the location in client-receiver database 614, for use by location- dependent applications, such as an application showing the client-receiver 600 path superimposed on a map.
  • time differences of arrival are used to compute the location of client-receiver 600.
  • a TDOA calculator 630 for example implemented as a separate process or thread running in processor 606, calculates the time difference between arrival times of sound- signals transmitted by different sound- sources.
  • a possible location estimator 632 for example implemented as a separate process or thread running in processor 606, calculates a group of possible locations for client-receiver 600 which would satisfy the calculated TDOA.
  • processor 606 runs a TDOA location calculator 634, for example implemented as a separate process or thread, which periodically receives updated groups of possible locations of client-receiver 600 as calculated by the possible location estimator 632 and computes the location of client-receiver 600, for example using an intersection of the groups of possible locations.
  • TDOA location calculator 634 stores the output for immediate use, for example, by a location-based service application running on client-receiver 600.
  • TDOA location calculator 634 uses clock 608 to attach a timestamp and stores the location in client-receiver database 614, for use by location- dependent applications, such as an application showing the client-receiver 600 path superimposed on a map.
  • the determined location of the signal sound sensor 602 of client-receiver 600 is optionally reported to the user of client-receiver 600, for example on display screen 640, or to some external location, e.g., using a Wi-Fi session, Bluetooth® or cellular telephony.
  • client-receiver 600 includes a transmitter 642, configured to transmit time stamp information relating to receipt of sound-signals, or the determined location, to a remote server. In some such embodiments, some or all of the calculations, such as time of flight, distance, and/or location calculations, are carried out by the remote server.
  • client-receiver 600 receives a sound-signal schedule for one or more sound-sources, such as by extracting a sound-signal schedule from data transmitted in the sound-signal or by such information being included in database 614
  • client- receiver 600 calculates a reception schedule of times of expected sound-signal reception, where each entry in the schedule may include any or all of the start time of the sound-signal, the base frequency, the duration of the sound-signal and the coordinates of the sound-source that generates the sound-signal, depending on information available to sound server 600.
  • the start time of a given discrete sound-signal in the reception schedule is calculated relative to internal clock 608 of client-receiver 600 with reference to the start times listed in the sound- signal schedule.
  • the sound schedule references a GNSS clock
  • the reception schedule is calculated by client-receiver 600 relative to the GNSS clock.
  • client-receiver 600 monitors sound-signal sensor 602 with reference to the reception schedule. Specifically, sound-signal sensor 602 is monitored at expected times for sound-signals that appears in the reception schedule. The identity of which sound-source generated a received sound-signal is determined with reference to reception time, frequency (e.g., base frequency ⁇ 30Hz), modulation, and duration (e.g., expected duration ⁇ 10%), as described hereinabove.
  • frequency e.g., base frequency ⁇ 30Hz
  • modulation e.g., duration of duration ⁇ 10%
  • the calculated location of client-receiver 600 is within 50 cm of the actual location of client-receiver 600. In some embodiments, the calculated location is within 30, 10, or even 5 cm of the actual location of client-receiver 600.
  • Figure 7 is a schematic depiction of an embodiment of a method for determining the location of a receiver without fingerprinting according to the teachings herein, and to Figures 8 A and 8B, which, when taken together, are a flowchart of the embodiment of Figure 7.
  • a user 700 holding a client-receiver 702, similar to client-receiver 600 of Figure 6, is located in a room 704, such as a conference hall or exhibit room.
  • the size of the specified area in which the object is located which in the illustrated embodiment is room 704, is between 1 m 2 to 10000 m 2 .
  • a client-receiver 702 may be mounted onto any object for which location determination is desired.
  • the size of the object for which location is determined is in the order of 1 cm - 200 cm.
  • the object here shown as user 700, moves within the specified area with a velocity of up to about 10 km/h (2.8 m/sec).
  • sound-sources 706 are synchronized with one another, for example by receipt of a synchronizing signal.
  • the synchronizing signal is typically transmitted in a synchronizing rate, as seen at step 802 of Figure 8.
  • the synchronizing signal is also received by client-receiver 702, at step 804.
  • the synchronizing signal is a sound-signal transmitted from one of sound-sources 706a. It is appreciated that in such embodiments, sound-sources 706 would not transmit sound-signals simultaneously, due to the difference in times that the synchronizing sound-signal is received by each of the sound-sources, which is dependent on the distance of each sound-source from synchronizing sound-source 706a. That said, for a specific sound-source 706, each synchronizing signal from sound-source 706a would arrive at the same delay from transmission time of the synchronizing signal, which may be calculated based on the distance between the specific sound-source 706 and synchronizing sound-source 706a.
  • the synchronizing signal comprises a change of phase in the electrical current supplying power to sound-sources 706.
  • the synchronizing signal comprises a signal transmitted as a 3G or 4G telephony system beacon. It is appreciated that in some such embodiments, all sound-sources 706 would receive the synchronizing signal instantaneously and concurrently, due to the fact that radio frequency transmissions travel substantially at the speed of light, 10 meters in 33 nanoseconds.
  • information necessary and/or useful for implementing the teachings herein is added to the transmitted synchronizing signal, for example as described hereinabove with reference to Figure 5.
  • the information included in the synchronizing signal, for implementing the teachings herein, may include one or more of the following:
  • the information listed above is obtained by client-receiver 702 other than through the synchronizing signal, for example by accessing an appropriate database for retrieval of the information upon entering room 704, or by accessing information transmitted in each sound-signal as described hereinabove with reference to Figure 5.
  • the location information for sound-sources 706 comprises absolute location information, and in other embodiments the location information comprises relative location information.
  • the location of a sound-source 706 may be indicated relative to a predetermined point in room 704, e.g. a door.
  • the sound-signal schedule is relative to a local clock, e.g. a clock of one or more of sound- sources 706.
  • the synchronization information is relative to an external clock, e.g., UTC (coordinated universal time), TAI (International Atomic Time), PTP according to the IEEE 1588 standard (accuracy of better than 1 microsecond), or a GNSS clock, in outdoors-embodiments received from one or more satellites, or a reference clock (e.g., atomic clock) received, for example, through a Wi-Fi protocol or a telephony protocol (GPRS, 2G, 3G, 4G).
  • a reference clock e.g., atomic clock
  • the greater the accuracy of synchronization the more accurately the distance between a client-receiver and sound-source can be calculated.
  • the more accurately the start-time is defined that is to say, the closer the sound- source generates the signal to the scheduled start-time
  • each of sound-sources 706 waits a predetermined delay duration, and then transmits a sound-signal 712, at step 806.
  • the delay duration may be unique to each sound-source 706, or may be common to two or more sound-sources, and may be of any duration, including duration zero.
  • the sound-signal may be a discrete sound-signal, being transmitted continuously for a predetermined duration, or may be a modulated sound-signal such as sound-signal 520 of Figure 5, configured to include data for transmission to the client-receiver 702.
  • client-receiver 702 receives sound-signals 712 transmitted by some or all of sound-sources 706, and time-stamps the time at which the sound-signals were received at step 810.
  • client-receiver 702 receives sound-signals transmitted by sound-sources 706a, 706b, and 706c.
  • client- receiver 702 following receipt of a specific sound-signal 712, client- receiver 702 extracts data encoded in the final portion of the signal and interprets such data at step 812, as described hereinabove with reference to Figure 6.
  • client-receiver 702 accesses the handle to obtain the data stored therein.
  • client- receiver 702 stores the data gleaned from signal 712, at step 814.
  • each sound-signal 712 transmitted by each of the sound-sources 706 has one or more unique characteristics which enable client-receiver 702, upon receipt of a specific sound-signal 712 and, in some cases, access to additional data, to identify which of the sound-sources 706 transmitted the received signal, at step 816.
  • the identification may be based on the duration of the sound-signal, the modulation of the sound-signal, the base frequency of the sound-signal, data encoded in the sound-signal as described hereinabove with reference to Figure 5, or combinations thereof.
  • the additional data indicating the association between one or more signal characteristics and the sound-source that transmits signals having those characteristics is obtained from a pre-populated dataset included in client-receiver 702.
  • the additional data indicating the association between one or more signal characteristics and the sound-source that transmits signals having those characteristics is embedded in the received sound-signal, and is retrieved therefrom as described hereinabove.
  • the additional data indicating the association between one or more signal characteristics and the sound-source that transmits signals having those characteristics is obtained from a database at a remote location from the client-receiver 702, by client-receiver 702 communicating with a remote server housing the database using any suitable communication method such as a Wi-Fi protocol or a telephony protocol (GPRS, 2G, 3G, 4G).
  • a Wi-Fi protocol or a telephony protocol (GPRS, 2G, 3G, 4G).
  • client-receiver 702 accesses additional data regarding that sound-source 706, at step 818.
  • the additional information typically includes the coordinates of sound- source 706 and in some embodiments also includes the signal transmission schedule for the sound- source 706.
  • the additional data may be obtained from a pre- populated database included in client-receiver 702, from the signal, or from a remote database.
  • the time of flight of each sound-signal received by client-receiver 702 is computed at step 822.
  • the time of transmission is known ( ransmit), either directly, e.g. by being included in a transmission schedule, or indirectly, e.g. from a known transmission time of a synchronizing signal and a known delay duration between sound-source receipt of the synchronizing and transmission of the sound-signal. Since the time at which the sound-signal was received (T rece ive), is also known from the time- stamping described hereinabove, the time of flight (ToF) of the sound-signal is given by the formula:
  • the distance between the sound-source 706 from which the sound-signal was transmitted and client-receiver 702 is calculated at step 824 using the formula dt*vs, where dt is the time of flight, and vs is the speed of sound.
  • the determination of distance between a sound-source and a client-receiver is recurrent, e.g., in some embodiments at a rate of 10 Hz to 0.1 Hz.
  • the distances to the at least two sound-sources are determined in the same way.
  • the location of the client-receiver is determined from the at least two (preferably at least three) determined distances using trilateration, and in some embodiments, taken together with an available known location of the client-receivers and/or an available map. In some embodiments, the location is reported.
  • trilateration Methods for implementing trilateration are well known, see for example, Manolakis, D.E. IEEE Trans Aerospace Elec Sys 1996, 32(4), 1239 or "Understanding GPS: Principles and Applications, Kaplan E and Hegraty C (editors) 2006 Artech House Inc. (ISBN 1-58053-894-0)
  • client-receiver 702 computes the time difference of arrival (TDOA) for signals transmitted from different sound-sources 706 at step 828.
  • TDOA time difference of arrival
  • sound-sources 706 are synchronized and their positions are known, such that the TDOA computation reflects the placement of client- receiver 702 relative to a pair of sound-sources 706, and thus defines a possible group of locations - a group of locations where client-receiver 702 may be placed. This possible group of locations is calculated by client-receiver 702 at step 830.
  • Receipt of sound-signals from three different sound-sources 706 leads to the creation of three groups of locations as described, and the intersection of these groups of locations provides an accurate computation of client-receiver 702, and is computed by client-receiver 702 at step 832.
  • the speed of sound for distance and TDOA calculations is taken at some standard value.
  • the speed of sound in the area is monitored and used for calculations.
  • factors such as ambient temperature, pressure and altitude are measured and the speed of sound for distance calculations is corrected accordingly.
  • the distance or TDOA values, taken together with knowledge of the location (physical coordinates) of the sound-sources 706, allows the location of client-receiver 702 to be accurately determined, in some embodiments, within 10 cm, within 5 cm and even within 1 cm.
  • the time of flight calculations, TDOA calculations, distance calculations, possible group of locations calculations, and location calculation are all carried out at client-receiver 702.
  • client-receiver 702 transmits information regarding the received sound-signals, such as time stamp of receipt of the sound-signals, and duration, modulation, and frequencies of the sound-signals, to a remote server, for example using a Wi- Fi communication protocol or a telephony communication protocol.
  • a remote server for example using a Wi- Fi communication protocol or a telephony communication protocol.
  • the time of flight calculations, TDOA calculations, distance calculations, possible group of locations calculations, and location calculations are all carried out at the remote server.
  • some of the time of flight, TDOA, distance, possible group of location, and location calculations are carried out at client-receiver 702, and calculations not carried out at the client-receiver are carried out at the remote server.
  • the location determined in accordance with the teachings herein is a range from the sound-source.
  • Such embodiments are useful, for example, for determining location in a substantially linear area (e.g., buildings with hallways or well-defined passageways, in tunnels).
  • Such embodiments are also useful, for determining proximity location, for example, in the field of livestock control where the client-receivers are secured to livestock confined in an area in some way (e.g., by the presence of a fence) and the location as determined in accordance with the teachings herein primarily to ensure that the client-receivers do not leave (or are taken) from the area.
  • the calculated position may be stored in client-receiver 702 for future use, as seen at step 834.
  • the calculated location is displayed to user 700 on a display, such as screen 714 of client-receiver 702, and may be displayed as overlayed on a map for user 700 to more easily identify his location.
  • the calculated location is transmitted to a remote location, such as a server.
  • a remote location such as a server.
  • the calculated location may be transmitted to the supermarket management for use in their advertising and decisions regarding placement of products.
  • the location of client-receiver 702 is repeatedly calculated and updated, for example at a rate of 1 Hz.
  • the computation may be repeated or updated at any suitable rate, slower or faster than 1 Hz, for example 2 Hz - 0.1 Hz.
  • sound-sources 706 are mobile, for example, are fixed to motor vehicles or other movable objects, and the exact area in which the location of a client-receiver is determined, is defined ad hoc. Such embodiments are useful, for example, in emergency and civil defense implementations.
  • sound-sources 706 are mounted on fire-engines, ambulances, police cars and other official vehicles, client-receivers such as 702 are carried by rescue personnel, and the teachings herein are used to monitor the position of the rescue personnel.
  • client-receiver 702 may be computed using other calculation systems, for example RMS (Root Mean Square) EKF (Extended Kalman Filter) calculations, and numerical methods (e.g., using a binary search over the radius of the closest sound- source, using a gradient descent (steepest descent) in order to move a starting point to the location which is close-enough to the real location, using a particle filter.
  • RMS Root Mean Square
  • EKF Extended Kalman Filter
  • the speed of sound for distance calculations is taken at some standard value.
  • the speed of sound in the venue is monitored and used for calculations.
  • factors such as ambient temperature, pressure and altitude are measured and the speed of sound for distance calculations is corrected accordingly.

Abstract

Disclosed are methods and devices useful for assisting in accurately mapping a specified area and also methods and devices for determining a location in the specified area.

Description

METHOD AND DEVICE FOR ACCURATE LOCATION DETERMINATION IN A
SPECIFIED AREA
RELATED APPLICATION
The present application gains priority from US Provisional Patent Application
61/551,484 filed 26 October 2011 and from US Provisional Patent Application 61/699,883 filed 12 September 2012.
FIELD AND BACKGROUND OF THE INVENTION
The invention, in some embodiments, relates to the field of location determination, and more particularly, but not exclusively, to methods and devices useful for assisting in accurately determining a location of an object in a specified area.
There is often a need to determine the location of an object found in a specified area with great accuracy. For example, in the field of Location-Based Services (LBS), it is often required to known the location of a person with great accuracy.
Global navigation satellite systems (GNSS) methods for location determination are based on a terrestrial GNSS receiver receiving satellite transmissions from orbiting GNSS satellites. When the GNSS receiver is indoors, GNSS systems are unsuitable for location determination for various reasons, including that line of sight between the GNSS receiver and the GNSS satellites is blocked.
An indoor positioning system (IPS) is a network of devices used to wirelessly determine the location of objects inside a building or otherwise defined space. Known indoor positioning systems suffer from various limitations.
One type of indoor positioning systems, known as fingerprinting, includes an offline phase in which received signal strength indicator (RSSI) values of calibrated points in the indoor area are stored in a database, and an online phase in which received signal strength indicator values of an unidentified position are compared to the stored values, in order to identify the unidentified position. SUMMARY OF THE FNVENTION
The invention, in some embodiments, relates to the field of location determination, and more particularly, but not exclusively, to methods and devices useful for assisting in accurately determining a location of an object in a specified area. In some embodiments, the invention includes generation of a map of calibration profiles (also called calibration fingerprints) each calibration profile including one or more parameters for one or more sound-signals from at least one localized sound-source, the calibration fingerprints measured at calibration locations. In some embodiments, the calibration profiles are based on a time of arrival of the sound-signals at a calibration-receiver located at a calibration location, and/or on some manipulation or function of such an arrival time. In some embodiments, the calibration profiles are based on a time of flight of the sound-signals from a sound-source to a calibration-receiver at a calibration location. In some embodiments, at least two different sound-sources (each located at different location) are used, and the calibration profiles are based on the difference of arrival times of sound-signals generated by the different sound-sources at a calibration-receiver located at a calibration location.
In some embodiments a generated calibration profile map of a mapped area is used by a suitably-configured device to identify an own location in the mapped area by acquiring a corresponding client profile from the sound sources. The client profile for the unidentified location is compared to the calibration profiles, and the position at which the client profile was obtained is estimated based on the results of the comparison. For example, if the client profile is determined to be identical or nearly identical to a calibration profile taken at specific calibration location at (x,y,z) coordinates in the mapped location, it is concluded that the client location is at, or very close to, the calibration location at these specific (x,y,z) coordinates.
Thus, in accordance with some aspects of an embodiment of the teachings herein, there are provided methods for mapping a specified area, comprising:
from at least one sound-source, each such sound-source fixedly positioned in a specified area, transmitting at least one discrete sound-signal having a base frequency; at each calibration position of a plurality of calibration positions in the specified area: using a calibration-receiver located at the calibration position, receiving at least one of the discrete sound-signals transmitted by at least one of the at least one sound-source;
for each sound- source of the at least one sound- source from which at least one discrete sound-signal was received by the calibration-receiver, computing at least one calibration parameter value of at least one parameter for at least one the discrete sound-signals received from the sound-source; in a calibration database, storing a calibration profile for the calibration position, the calibration profile being based on the computed calibration parameter values,
wherein the calibration database characterizes the receipt of the at least one discrete sound-signal from the at least one sound-source at each of the plurality of calibration positions, thereby mapping the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are also provided methods for determining the location of a client-receiver in a specified area, having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, according to the method of mapping, comprising:
obtaining a map of a specified area as described herein (such as the map described above);
at a position in the specified area:
using a client-receiver located at the position, receiving at least one discrete sound-signal transmitted by the at least one sound-source;
for each sound-source of the at least one sound-source from which at least one discrete sound-signal was received by the client-receiver, computing at least one client parameter value of the at least one parameter for at least one discrete sound-signal received from the sound-source;
creating a client profile for the position based on the computed client parameter values;
evaluating similarity between the client profile and at least one calibration profile in the calibration database; and
based on the evaluating of similarity and on an identity of at least one the calibration position corresponding to the at least one calibration profile, approximating an identity of the position of the client-receiver.
In some embodiments, the specified area is in motion. For example, the sound-sources may be placed on board a vehicle such as an airplane or a cruise boat (which may or may not be moving), such that the specified area is an open area in or on the vehicle.
In some embodiments, at least one sound- source is positioned on an object within the specified area, which object is movable, but is not typically in motion. For example, in an exhibition pavilion, sound-sources may be mounted onto a table or a stand in the pavilion, which table or stand is movable. However, in normal practice, when people visit the exhibition, the stand or table is located at a fixed position.
In some embodiments, the at least one sound-source is a device comprising a speaker, a processor and a clock. In some such embodiments, the at least one sound-source is a device comprising a speaker, a processor, a clock, and a receiver for receiving synchronizing signals and wherein the transmitting comprises receiving a synchronizing signal, and, following the receipt of the synchronizing signal, waiting a predetermined delay duration before transmitting at least one sound-signal.
In some embodiments, the at least one sound-source comprises at least two sound- sources, and wherein the waiting a predetermined delay duration comprises each of the at least two sound-sources waiting a unique predetermined delay duration. In some embodiments, the at least one sound-source comprises at least two sound-sources, and wherein the waiting a predetermined delay duration comprises at least two of the at least two sound-sources waiting the same predetermined delay duration. In some embodiments, the at least one sound-source comprises at least two sound-sources, and wherein the waiting a predetermined delay duration comprises each of the at least two sound-sources waiting the same predetermined delay duration.
In some embodiments, the waiting a predetermined delay duration comprises waiting a delay duration equal to zero, and the transmitting is concurrent with the receiving of the synchronizing signal.
In some embodiments, a size of the specified area is in the range of about 1 m2 to about 10000 m2. In some embodiments, each of the at least one sound-source is fixedly positioned at a known location in the specified area.
Preferably, the sound-signals are substantially inaudible to humans. Accordingly, in some embodiments, the base frequency is in the range of from about 18 kHz to about 24 kHz. In some embodiments, the base frequency is in the range of from about 21 kHz to about 24 kHz.
In some embodiments, the duration of a specific discrete sound-signal is not more than 100 microseconds. In some embodiments, the duration of a specific discrete sound- signal is not more than 50 microseconds. In some embodiments, the duration of a specific discrete sound-signal is not more than 20 microseconds. In some embodiments, the duration of a specific discrete sound-signal is not less than 0.1 microseconds. In some embodiments, the duration of a specific discrete sound-signal is in the range of 1 and 10 microseconds. In some embodiments, the transmitting is at irregular intervals. In some embodiments, the transmitting is at regular intervals. In some embodiments, the transmitting is periodic. In some embodiments, a repetition rate of the transmitting the discrete sound-signal is less frequent than a maximum repetition rate.
In some embodiments, the at least one sound-sources is at least two sound-sources. In some such embodiments, each sound-signal has characteristics identifying from which one of the at least two sound-sources the sound-signal is transmitted. In some such embodiments, the characteristic comprises a unique base frequency for each one of the at least two sound- sources. In some such embodiments, the characteristic comprises a unique modulation for each of the at least two sound-sources. In some such embodiment, the characteristic comprises a unique signal duration for each of the at least two sound-sources.
In some embodiments, the transmitting comprises each of the at least two sound- sources transmitting a sound-signal simultaneously. In some embodiments, transmitting comprises each of the at least two sound-sources transmitting a sound-signal at different times according to a sound-signal transmission schedule.
In some embodiments, in which the at least one sound-source comprises at least two sound-sources, the receiving comprises receiving at least one sound-signal transmitted by each of the at least two sound-sources.
In some embodiments the calibration-receiver is a device comprising a microphone, a processor, and a clock.
In some embodiments, the calibration-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
In some embodiments, the plurality of calibration positions comprises at least two calibration positions. In some embodiments, the plurality of calibration positions comprises at least six calibration positions. In some embodiments, the plurality of calibration positions comprises at least ten calibration positions.
In some embodiments, the method is implemented for (x,y) mapping of the designated area and a density of the calibration positions is not less than one calibration position per 10 m2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 1 m2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m2 of the specified area. In some embodiments, the method is implemented for (x,y,z) mapping of the designated area and a density of the calibration positions is not less than one calibration position per 10 m3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 1 m3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m3 of the specified area.
In some embodiments, at least two different such calibration-receivers are simultaneously located at at least two different calibration positions, and the receiving by the at least two different calibration-receivers is substantially simultaneous.
In some embodiments, the calibration-receiver is in motion, and has a fixed velocity of up to about 10 km/h (2.8 m/sec). In some embodiments, the calibration positions are located along a path of motion of the calibration-receiver. In some such embodiments, the receiving occurs at a sampling rate. In some such embodiments, the sampling rate is in the range of 10 Hz - 0.1 Hz.
In some embodiments, the storing a calibration profile comprises, for each the calibration position, storing a calibration profile including a calibration parameter value related to the receipt by the calibration-receiver of a sound-signal transmitted from the at least one sound-source. In some embodiments, storing a calibration profile comprises, for each the calibration position, storing a calibration profile including a calibration parameter value related to the receipt by the calibration-receiver of a sound-signal transmitted from each one of the at least one sound-source.
In some embodiments, the method also comprises using the calibration-receiver, accessing a database to retrieve information relating to a specific sound-source of the at least one sound-source from which a sound-signal was received, based on at least one characteristic of the sound-signal.
In some embodiments, the method also comprises using the client-receiver, accessing a database to retrieve information relating to a specific sound-source of the at least one sound-source from which a sound-signal was received, based on at least one characteristic of the sound-signal.
In some such embodiments, the information comprises at least one of physical coordinates of the specific sound-source, a base frequency of a sound-signal transmitted by the specific sound-source, and a duration of a sound-signal transmitted by the specific sound- source. In some embodiments, a sound-signal transmission schedule of the at least one sound- source in the obtaining stage is identical to a sound-signal transmission schedule of the at least one sound-source in the receiving by the client-receiver.
In some embodiments, the client-receiver is a device comprising a microphone, a processor, and a clock. In some embodiments, the client-receiver comprises a device configured for wired or wireless communication with a remote location. In some embodiments, the client-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
In some embodiments, the client-receiver is mounted onto an object to be located, and the object is in motion. In some such embodiments, the client-receiver comprises a device having an adhesive portion which may be stuck onto an object to be located.
In some embodiments, the client profile includes a client parameter value related to receipt by the client-receiver of a sound-signal transmitted from at least one of the sound- sources. In some embodiments, the client profile includes a client parameter value related to the receipt by the client-receiver of a sound-signal transmitted from each one of the at least one sound- sources.
In some embodiments, the at least one sound-source comprises at least two sound- sources, and the calibration profile includes a calibration parameter value related to receipt by the calibration-receiver of a pair of the sound-signals, one of the pair of sound-signals transmitted from each one of the pair of the at least two sound-sources. In some such embodiments, the client profile includes a client parameter value related to the receipt by the client-receiver of a pair of the sound-signals, one sound-signal of the pair of sound-signals transmitted from each one of a pair of the at least two sound- sources.
In some embodiments, the parameter comprises a difference in the time of arrival at the receiver of the pair of sound-signals transmitted by the pair of the at least two sound- sources. In some embodiments, the parameter comprises a time of arrival at the receiver of a sound-signal. In some embodiments, the parameter comprises a time of flight of a sound- signal from the at least one sound-source to the receiver.
In some embodiments, evaluating the similarity comprises computing a metric indicating the similarity between the client profile and at least one calibration profile in the calibration database. In some such embodiments, evaluating the similarity comprises evaluating similarity between the client profile and at least two calibration profiles in the calibration database. In some embodiments, evaluating the similarity comprises evaluating similarity between the client profile and each calibration profile in the calibration database.
In some embodiments, the evaluating a similarity between the client profile and at least one calibration profile in the calibration database comprises computing a vector distance function between the client profile and the at least one calibration profile. In some embodiments, the distance function comprises a Euclidean distance.
In some embodiments, the approximating of the identity of the position of the client- receiver comprises finding one the calibration profile in the calibration database which is most similar to the client profile and approximating the position of the client-receiver to be at the calibration position corresponding to the calibration profile, and in some embodiments near the calibration position corresponding to the calibration profile.
In some embodiments, the approximating of the identity of the position of the client- receiver comprises finding a subset of the calibration profiles in the calibration database (the subset including one or more different calibration profiles) to which the client profile is most similar and approximating the position of the client-receiver to be a function of the calibration positions corresponding to the calibration profiles in the subset. In some embodiments, the function comprises a weighted average, which may be computed using an suitable method, for example a particle filter, a Kalman filter or an Extended Kalman filter.
In some embodiments, the method further comprises reporting the approximated position to a user interface of the client-receiver. In some such embodiments, the method comprises presenting the approximated position to the user on a display of the client-receiver, for example, overlayed on the image of a map of the specified area.
In some embodiments, the method further comprises reporting the approximated position to a location remote from the client-receiver, such as a third-party server.
In some embodiments, the client-receiver is in motion, and has a velocity of up to about 10 km/h (2.8 m/sec). In some such embodiments, the approximating the position is recurrent at an approximating rate. In some such embodiments, the approximating rate is between 10 Hz and 0.1 Hz.
In some embodiments, the method further comprises, following the receiving by the client-receiver of the at least one discrete sound signal, transmitting information relating to the received sound signal to a server. In some such embodiments, at least one of the computing, the creating a client profile, the evaluating, and the approximating are carried out at the server. In some such embodiments, all of the computing, the creating a client profile, the evaluating, and the approximating are carried out at the server. In some such embodiments, the method further comprises from the server, reporting the approximated position to a user interface of the client-receiver.
In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for mapping a specified area, comprising:
at least one sound-source fixedly positionable in a specified area and configured for transmitting at least one discrete sound-signal having a base frequency;
a calibration receiver configured to be positioned at a calibration position of a plurality of calibration positions in the specified area and to receive at least one of the discrete sound-signals transmitted by at least one of the at least one sound-source; a calibration parameter value computer configured, for each sound-source of the at least one sound-source from which at least one discrete sound-signal was received by the calibration-receiver, to compute at least one calibration parameter value of at least one parameter for at least one such discrete sound-signals received from the sound- source; and
a calibration database configured to store a calibration profile for the calibration position, the calibration profile being based on the computed calibration parameter values,
wherein the calibration database characterizes the receipt of the at least one discrete sound- signal from the at least one sound-source at each of the plurality of calibration positions, thereby mapping the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are also provided devices for determining the location of a client-receiver in a specified area, having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, using the device for mapping, comprising:
a map obtainer configured to obtain a map of a specified area as described above; a client-receiver configured to be located at a position in the specified area and to receive at least one discrete sound-signal transmitted by the at least one sound-source; a client parameter value computer configured, for each sound-source of the at least one sound-source from which at least one discrete sound- signal was received by the client-receiver, to compute at least one client parameter value of the at least one parameter for at least one discrete sound-signal received from the sound-source;
a client profile creator configured to create a client profile for the position based on the computed client parameter values; a similarity evaluator configured to evaluate similarity between the client profile and at least one calibration profile in the calibration database; and
a position approximator configured to approximate an identity of the position of the client-receiver based on the evaluating and on an identity of at least one the calibration position corresponding to the at least one calibration profile, approximating an identity of the position of the client-receiver.
In some embodiments, the specified area is in motion. For example, the sound-sources may be placed on board a vehicle such as an airplane or a cruise boat (which may or may not be moving), such that the specified area is an open area in or on the vehicle.
In some embodiments, at least one sound- source is positioned on an object within the specified area, which object is movable, but is not typically in motion. For example, in an exhibition pavilion, sound-sources may be mounted onto a table or a stand in the pavilion, which table or stand is movable. However, in normal practice, when people visit the exhibition, the stand or table is located at a fixed position.
In some embodiments, the at least one sound-source is a device comprising a speaker, a processor and a clock. In some such embodiments, the at least one sound-source is a device comprising a speaker, a processor, a clock, and a receiver for receiving synchronizing signals. In some such embodiments, the at least one sound-source is configured to receive a synchronizing signal, and, following the receipt of the synchronizing signal, to wait a predetermined delay duration before transmitting at least one sound-signal.
In some embodiments, the at least one sound-source comprises at least two sound- sources, each configured to wait a unique predetermined delay duration. In some embodiments, the at least one sound-source comprises at least two sound-sources, at least two of the at least two sound-sources configured to wait the same predetermined delay duration. In some embodiments, the at least one sound-source comprises at least two sound-sources, each configured to wait the same predetermined delay duration.
In some embodiments, the predetermined delay duration is equal to zero, and the at least one sound-source is configured to transmit the at least one discrete sound signal concurrently with receipt of the synchronizing signal.
In some embodiments, a size of the specified area is in the range of about 1 m2 to about 10000 m2. In some embodiments, each of the at least one sound-source is fixedly positioned at a known location in the specified area.
Preferably, the sound-signals are substantially inaudible to humans. Accordingly, in some embodiments, the base frequency is in the range of from about 18 kHz to about 24 kHz. In some embodiments, the base frequency is in the range of from about 21 kHz to about 24 kHz.
In some embodiments, the duration of a specific discrete sound-signal is not more than 100 microseconds. In some embodiments, the duration of a specific discrete sound- signal is not more than 50 microseconds. In some embodiments, the duration of a specific discrete sound-signal is not more than 20 microseconds. In some embodiments, the duration of a specific discrete sound-signal is not less than 0.1 microseconds. In some embodiments, the duration of a specific discrete sound-signal is in the range of 1 and 10 microseconds.
In some embodiments, the at least one sound-source is configured to transmit the discrete sound-signals at irregular intervals. In some embodiments, the at least one sound- source is configured to transmit the discrete sound-signals at regular intervals. In some embodiments, the at least one sound-source is configured to transmit the discrete sound- signals periodically. In some embodiments, the at least one sound-source is configured to transmit the discrete sound-signals at a repetition which is less frequent than a maximum repetition rate.
In some embodiments, the at least one sound-sources is at least two sound-sources. In some such embodiments, each sound-signal has characteristics identifying from which one of the at least two sound-sources the sound-signal is transmitted. In some such embodiments, the characteristic comprises a unique base frequency for each one of the at least two sound- sources. In some such embodiments, the characteristic comprises a unique modulation for each of the at least two sound-sources. In some such embodiment, the characteristic comprises a unique signal duration for each of the at least two sound-sources.
In some embodiments, the at least two sound-sources are configured transmit a sound- signal simultaneously. In some embodiments, each of the at least two sound-sources is configured to transmit a sound-signal at a different time according to a sound-signal transmission schedule.
In some embodiments, in which the at least one sound-source comprises at least two sound-sources, and the calibration receiver is configured to receive at least one sound-signal transmitted by each of the at least two sound- sources.
In some embodiments the calibration-receiver is a device comprising a microphone, a processor, and a clock.
In some embodiments, the calibration-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer. In some embodiments, the plurality of calibration positions comprises at least two calibration positions. In some embodiments, the plurality of calibration positions comprises at least six calibration positions. In some embodiments, the plurality of calibration positions comprises at least ten calibration positions.
In some embodiments, a density of the calibration positions is not less than one calibration position per 10 m2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 1 m2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m2 of the specified area.
In some embodiments, the calibration receiver comprises at least two different such calibration-receivers simultaneously located at at least two different calibration positions, and configured to receive discrete sound-signals substantially simultaneously.
In some embodiments, the calibration-receiver is in motion, and has a fixed velocity of up to about 10 km/h (2.8 m/sec). In some embodiments, the calibration positions are located along a path of motion of the calibration-receiver. In some such embodiments, the calibration receiver is configured to receive sound- signals at a sampling rate. In some such embodiments, the sampling rate is in the range of 10 Hz - 0.1 Hz.
In some embodiments, the calibration database is configured to store, for each calibration position, a calibration profile including a calibration parameter value related to the receipt by the calibration-receiver of a sound-signal transmitted from the at least one sound- source. In some embodiments, the calibration database is configured to store, for each calibration position, a calibration profile including a calibration parameter value related to the receipt by the calibration-receiver of a sound-signal transmitted from each one of the at least one sound-source.
In some embodiments, the calibration-receiver is also configured to access a database to retrieve information relating to a specific sound-source of the at least one sound-source from which a sound-signal was received, based on at least one characteristic of the sound- signal.
In some embodiments, the client-receiver is also configured to access a database to retrieve information relating to a specific sound-source of the at least one sound-source from which a sound-signal was received, based on at least one characteristic of the sound-signal.
In some such embodiments, the information comprises at least one of physical coordinates of the specific sound-source, a base frequency of a sound-signal transmitted by the specific sound-source, and a duration of a sound-signal transmitted by the specific sound- source.
In some embodiments, a sound-signal transmission schedule of the at least one sound- source when sound-signals are received by the calibration receiver is identical to a sound- signal transmission schedule of the at least one sound-source when sound signals are received by the client-receiver.
In some embodiments, the client-receiver is a device comprising a microphone, a processor, and a clock. In some embodiments, the client-receiver comprises a device configured for wired or wireless communication with a remote location. In some embodiments, the client-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
In some embodiments, the client-receiver is mounted onto an object to be located, and the object is in motion. In some such embodiments, the client-receiver comprises a device having an adhesive portion which may be stuck onto an object to be located.
In some embodiments, the client profile includes a client parameter value related to receipt by the client-receiver of a sound-signal transmitted from at least one of the sound- sources. In some embodiments, the client profile includes a client parameter value related to the receipt by the client-receiver of a sound-signal transmitted from each one of the at least one sound- sources.
In some embodiments, the at least one sound-source comprises at least two sound- sources, and the calibration profile includes a calibration parameter value related to receipt by the calibration-receiver of a pair of the sound-signals, one of the pair of sound-signals transmitted from each one of the pair of the at least two sound-sources. In some such embodiments, the client profile includes a client parameter value related to the receipt by the client-receiver of a pair of the sound-signals, one sound-signal of the pair of sound-signals transmitted from each one of a pair of the at least two sound- sources.
In some embodiments, the parameter comprises a difference in the time of arrival at the receiver of the pair of sound-signals transmitted by the pair of the at least two sound- sources. In some embodiments, the parameter comprises a time of arrival at the receiver of a sound-signal. In some embodiments, the parameter comprises a time of flight of a sound- signal from the at least one sound-source to the receiver.
In some embodiments, the similarity evaluator is configured to compute a metric indicating the similarity between the client profile and at least one calibration profile in the calibration database. In some such embodiments, the similarity evaluator is configured to evaluate similarity between the client profile and at least two calibration profiles in the calibration database. In some embodiments, the similarity evaluator is configured to evaluate similarity between the client profile and each calibration profile in the calibration database.
In some embodiments, the similarity evaluator is configured to compute a vector distance function between the client profile and the at least one calibration profile. In some embodiments, the distance function comprises a Euclidean distance.
In some embodiments, the position approximator is configured to find one calibration profile in the calibration database which is most similar to the client profile and to approximate the position of the client-receiver to be at the calibration position corresponding to the calibration profile, and in some embodiments near the calibration position corresponding to the calibration profile.
In some embodiments, the position approximator is configured to find a subset of the calibration profiles in the calibration database (the subset including one or more different calibration profiles) to which the client profile is most similar and to approximate the position of the client-receiver to be a function of the calibration positions corresponding to the calibration profiles in the subset. In some embodiments, the function comprises a weighted average, which may be computed using an suitable method, for example a particle filter, a Kalman filter or an Extended Kalman filter.
In some embodiments, the position approximator is configured to report the approximated position to a user interface of the client-receiver. In some such embodiments, client-receiver is configured to present the approximated position to the user on a display, for example, overlayed on the image of a map of the specified area.
In some embodiments, the position approximator is configured to report the approximated position to a location remote from the client-receiver, such as a third-party server.
In some embodiments, the client-receiver is in motion, and has a velocity of up to about 10 km/h (2.8 m/sec). In some such embodiments, the the position approximator is configured to recurrently approximate the position at an approximating rate. In some such embodiments, the approximating rate is between 10 Hz and 0.1 Hz.
In some embodiments, the client-receiver is also configured, following receipt of the at least one discrete sound signal, to transmit information relating to the received sound signal to a server. In some such embodiments, at least one of the client parameter value computer, client profile creator, similarity evaluator, and position approximator form part of the server. In some such embodiments, all of the client parameter value computer, client profile creator, similarity evaluator, and position approximator form part of the server. In some such embodiments, the server is configured to report the approximated position to a user interface of the client-receiver.
In some alternative or complementary embodiments, determination of the location of a sound-receiver (such as a client-receiver) in accordance with the invention includes generation of discrete sound- signals from at least one localized sound-source. In some such embodiments, discrete sound-signals from different sound-sources are generated in a synchronous manner. In such embodiments, the travel time of the sound-signal, or the time difference of arrival between times of receipt of two separate sound-signals, may be computed using simple arithmetic.
Since the speed of sound is known, the travel time of the sound-signal and/or time difference of arrival, allows calculation of the distance from the sound-source to the client- receiver, which distance can then be used, using methods known in the art such as trilateration, to determine the location of the client-receiver.
Thus, in accordance with some aspects of an embodiment of the teachings herein, there are also provided methods for determining the location of a client-receiver in a specified area, comprising:
from each of at least two sound-sources located in a specified area, at a predetermined time, transmitting a sound-signal having a base frequency;
at a client-receiver located in the specified area, receiving at least two of the sound- signals transmitted by the sound-sources;
accessing information relating to the predetermined time of transmission of the sound- signals;
computing a time of flight (TOF) of at least some of the received sound-signal based on time receipt of the received sound-signals and on the information relating to the predetermined time of transmission of the received sound-signals; and
using the computed time of flight (TOF) and respective locations in the specified area of sound- sources of the at least two sound- sources for which the time of flight is computed, determining a location of the receiver in the specified area.
In some embodiments, the computing a time of flight comprises computing a time of flight for a specific received sound-signal transmitted by a specific sound-source of the at least one sound-source and the using the computed time of flight comprises using the time of flight computed for the specific sound-signal, a respective location in the specified area for the specific sound-source, and a speed of sound, to compute a distance between the client- receiver and the specific sound-source.
In some such embodiments, the receiving comprises receiving sound-signals from at least two of the at least two sound-sources, and the determining the location comprises carrying out a mathematical function on the computed distances to the at least two sound- sources from which the sound-signals were received. In some embodiments, the mathematical function comprises trilateration. In some embodiments, other mathematical functions are used for example RMS (Root Mean Square) EKF (Extended Kalman Filter) calculations, and numerical methods (e.g., using a binary search over the radius of the closest sound-source, using a gradient descent (steepest descent) in order to move a starting point to the location which is close-enough to the real location, using a particle filter.
In accordance with some aspects of an embodiment of the teachings herein, there are also provided methods for determining the location of a client-receiver in a specified area, comprising:
from each of at least two sound-sources located in a specified area, transmitting a sound-signal having a base frequency;
at a client-receiver located in the specified area, receiving at least two of the sound- signals transmitted by at least two different ones of the at least two sound-sources; computing a time difference of arrival (TDOA) of at least some pairs of the received sound-signals, sound-signals in each the pair received from different ones of the at least two sound-sources, based on times of receipt of the received sound-signals; and using the computed time differences of arrival (TDOA) and respective locations in the specified
area of the sound-sources from which the at least some pairs of sound-signals were received, determining a location of the client-receiver in the specified area.
In some embodiments, the using the computed time difference of arrival comprises for each the pair of received sounds signals for which a time difference of arrival is computed, based on the respective locations in the specified area of the ones of the at least two sound-sources from which the pair of sound- signals was received and on a speed of sound, identifying a group of possible locations in the specified area, such that if the client- receiver were located at one of the group of locations, the time difference of arrival would be satisfied and using a function of the groups of possible locations to determine the location of the client-receiver. In some embodiments, the function comprises intersection of the groups of possible locations.
In some embodiments, the methods also comprise identifying, for each sound-signal of the received sound-signals, from which one of the at least two sound-sources the sound- signal is transmitted, based on at least one signal characteristic. In some such embodiments, the signal characteristic comprises a unique base frequency for sound-signals transmitted from each one of the at least two sound-sources. In some such embodiments, the signal characteristic comprises a unique modulation for sound-signals transmitted from each of the at least two sound-sources. In some such embodiments, the signal characteristic comprises a unique signal duration for sound-signals transmitted from each of the at least two sound- sources.
In some embodiments, the identifying comprises accessing additional data indicating an association between a signal characteristic and one of the at least two sound-sources that transmits signals having the signal characteristic. In some embodiments, accessing additional data comprises accessing data in a pre -populated dataset included in the client-receiver. In some embodiments, accessing additional data comprises accessing data encoded in a received sound-signal.
In some embodiments, accessing additional data comprises accessing a database at a remote location from the client-receiver. In some such embodiments, accessing a database at a remote location comprises communicating with a remote server housing the database using a communication method selected from the group consisting of: a wireless network (e.g., WiFi®), a wireless cellular telephony network (e.g., GPRS, 2G, 3G, 4G), a wireless personal area network (e.g., Bluetooth®).
In some embodiments, the transmitting the sound-signal comprises at the at least two sound-sources, receiving a synchronizing signal at a synchronizing rate and following receipt of the synchronizing signal, at each of the at least two sound-sources, waiting a predetermined duration prior to transmitting the sound-signal. In some embodiments, the method further comprises receiving the synchronizing signal at the client-receiver.
In some embodiments, the receiving a synchronizing signal comprises receiving a synchronizing sound-signal transmitted by a sound-source. In some such embodiments, the sound-source is one of the at least two sound-sources.
In some embodiments, the receiving a synchronizing signal comprises receiving a synchronizing signal comprising a change of phase in current powering the at least two sound-sources. In some embodiments, the synchronizing signal is transmitted based on a reference time. In some such embodiments, the reference time is selected from the group consisting of: a local reference time, UTC (coordinated universal time), TAI (International Atomic Time), PTP, and a GNSS clock.
In some embodiments, the synchronizing rate is in the range of 100Hz to lHz.
In some embodiments, the predetermined delay duration is unique to each one of the at least two sound-sources. In some embodiments, the predetermined delay duration is the same for at least two sound-sources of the at least two sound- sources. In some embodiments, predetermined delay duration is predetermined duration is the same for all of the at least two sound-sources.
In some embodiments, the predetermined delay duration corresponding to at least one of the at least two sound-sources is equal to zero, and the sound-signal is transmitted from the at least one of the at least two sound-sources substantially simultaneously with the receipt of the synchronizing signal by the at least one of the at least two sound- sources.
Preferably, the base frequency is substantially inaudible to humans. In some embodiments, the base frequency is in the range of from about 18 kHz to about 24 kHz. In some embodiments, base frequency is in the range of from about 21 kHz to about 24 kHz.
In some embodiments, the duration of a specific sound-signal is not more than 100 microseconds. In some embodiments, the duration of a specific sound-signal is not more than 50 microseconds. In some embodiments, the duration of a specific sound-signal is not more than 20 microseconds. In some embodiments, the duration of a specific sound-signal is not less than 0.1 microseconds. In some embodiments, the duration of a specific sound-signal is in the range of 1 and 10 microseconds.
In some embodiments, a repetition rate of transmitting a sound-signal is less frequent than a maximum repetition rate. In some embodiments, the maximal repetition rate is 5 Hz.
In some embodiments, a method as described herein also comprises at least one sound-signal also transmitting information (that is to say the signal carries the information or is encoded with the information) relating to at least one of the at least two sound- sources. In some embodiments, transmitting information comprises transmitting at least one of:
location information for the at least one of the at least two sound-sources;
a sound-signal schedule for the at least one of the at least two sound-sources;
a handle enabling the client-receiver to access information relating to the at least one of the at least two sound-sources;
data corresponding to location-sensitive information; a start time of the one of the at least two sound-signals;
data encoding a text message; and
data encoding a voice message.
In some embodiments, the sound-signal schedule comprises information relating to at least one of a sound-signal transmission time, a sound-signal duration, a sound-signal frequency, and a sound-signal modulation, for at least one sound-signal transmitted by the at least one of the at least two sound- sources.
In some embodiments, the location information for the at least one of the at least two sound-sources comprises absolute location information for the at least one of the at least two sound-sources. In some embodiments, the location information comprises location information for the at least one of the at least two sound-sources relative to a known location in the specified area, e.g. a door.
In some embodiments, the handle enabling the client-receiver to access information relating to the at least one of the at least two sound-sources comprises at least one of a URL, a barcode, and a quick response (QR) code.
In some embodiments, the data corresponding to location-sensitive information comprises at least one of information about sales and special products and an event schedule. In some such embodiments, the data corresponding to location-sensitive information includes: coordinates of a location of interest, distance from the location of interest, and advertising content.
In some embodiments, the transmitting information is at a transmission rate in the range of 1 and 20 kbps.
In some embodiments, at least one of the at least two sound-sources is a device comprising a speaker, a processor and a clock. In some such embodiments, the device also includes a receiver for receipt of synchronizing signals, e.g., a radio receiver or a client- receiver.
In some embodiments, the client-receiver is a device comprising a microphone, a processor, and a clock. In some such embodiments, the device also includes a radio receiver for receipt of synchronizing signals. In some embodiments, the client-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a Wi-Fi enabled cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
In some embodiments, the client-receiver is in motion, and has a velocity of up to about 10 km/h (2.8 m/sec). In some embodiments, the determined location is stored in the client-receiver. In some embodiments, the determined location is displayed to a user of the client-receiver, for example on a display of the client-receiver. In some embodiments, the displaying comprises displaying the determined location overlayed on a map of the specified area.
In some embodiments, a method as described herein also comprises, from a transmitter included in the client-receiver, transmitting the determined location to a location remote from the client-receiver.
In some embodiments, the determining the location comprises repeatedly determining the location at a determining rate. In some such embodiments, the determining rate is in the range of 2 Hz - 0.1 Hz.
In some embodiments, at least one of the at least two sound-source is mobile.
In some embodiments, a size of the specified area is in the range of 1 m2 to 10000 m2.
In some embodiments, a method as described herein also comprises determining a velocity vector of the client-receiver. In some such embodiments, the determining the velocity vector comprises determining a Doppler-shift of the client-receiver to at least one of the at least two sound- sources.
In some embodiments of a method as described herein, the time of flight calculations, Time Difference of Arrival (TDOA) calculations, distance calculations, possible group of locations calculations, and/or location calculation are all carried out at the client-receiver.
In some embodiments of a method as described herein, the client-receiver transmits information regarding the received sound-signals, such as time stamp of receipt of the sound- signals, and duration, modulation, and frequencies of the sound-signals, to a remote server, for example using a wireless network protocol (e.g., WiFi®)), a wireless cellular telephony network protocol (e.g., GPRS, 2G, 3G, 4G), a wireless personal area network protocol (e.g., Bluetooth®). In some such embodiments, the time of flight calculations, TDOA calculations, distance calculations, possible group of locations calculations, and location calculations are all carried out at the remote server.
In some embodiments of a method as described herein, some of the time of flight, TDOA, distance, possible group of location, and location calculations are carried out at the client-receiver, and calculations not carried out at the client-receiver are carried out at the remote server.
It is appreciated that in some embodiments of a method as described herein, there is only a single deployed sound-source so that the location determined in accordance with the teachings herein is a range from the sound-source. Such embodiments are useful, for example, for determining location in a substantially linear specified area (e.g., buildings with hallways or well-defined passageways, in tunnels). Such embodiments are also useful, for determining proximity location, for example, in the field of livestock control where the client-receivers are secured to livestock confined in an area in some way (e.g., by the presence of a fence) and the location as determined in accordance with the teachings herein primarily to ensure that the client-receivers do not leave (or are taken) from the specified area.
Thus, in accordance with some aspects of an embodiment of the teachings herein, there are also provided devices for determining the location of a client-receiver in a specified area, comprising:
at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency at a predetermined time;
a client-receiver located in the specified area, configured to receive at least two of the sound-signals transmitted by the sound-sources;
an information obtainer functionally associated with the client-receiver, configured to access information relating to the predetermined time of transmission of the sound- signals;
a time of flight (TOF) computer functionally associated with the information obtainer, configured to compute a time of flight of at least some of the received sound-signal based on time receipt of the received sound-signals and on the information obtained by the information obtainer; and
a distance location calculator functionally associated with the time of flight computer, configured to use the computed time of flight and respective locations in the specified area of sound-sources of the at least two sound-sources for which the time of flight is computed to determine a location of the receiver in the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for providing signals useful in determining the location of a client-receiver in a specified area, comprising:
at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency at a predetermined time.
In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for determining the location of a client-receiver in a specified area, comprising: a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in the specified area, each of the at least two sound signals being transmitted at a predetermined time by the at least two sound-sources;
an information obtainer functionally associated with the client-receiver, configured to access information relating to the predetermined time of transmission of the sound- signals;
a time of flight (TOF) computer functionally associated with the information obtainer, configured to compute a time of flight of at least some of the received sound-signal based on time receipt of the received sound-signals and on the information obtained by the information obtainer; and
a distance location calculator functionally associated with the time of flight computer, configured to use the computed time of flight and respective locations in the specified area of sound-sources of the at least two sound-sources for which the time of flight is computed to determine a location of the receiver in the specified area.
In some embodiments, the TOF computer is configured to compute a time of flight for a specific received sound-signal transmitted by a specific sound-source of the at least one sound-source and the distance location calculator is configured to use the time of flight computed for the specific sound-signal, a respective location in the specified area for the specific sound-source, and a speed of sound to compute a distance between the client-receiver and the specific sound-source.
In some such embodiments, the client-receiver is configured to receive sound-signals from at least two of the at least two sound-sources, and the distance location calculator is configured to carry out a mathematical function on the computed distances to the at least two sound-sources from which the sound-signals were received. In some embodiments, the mathematical function comprises trilateration. In some embodiments, other mathematical functions are used for example RMS (Root Mean Square) EKF (Extended Kalman Filter) calculations, and numerical methods (e.g., using a binary search over the radius of the closest sound-source, using a gradient descent (steepest descent) in order to move a starting point to the location which is close-enough to the real location, using a particle filter.
In accordance with some aspects of an embodiment of the teachings herein, there are also provided devices for determining the location of a client-receiver in a specified area, comprising: at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency;
a client-receiver located in the specified area, configured to receive at least two of the sound-signals transmitted by at least two different ones of the at least two sound- sources;
a time difference of arrival (TDOA) computer functionally associated with the client- receiver, configured to compute a time difference of arrival of at least some pairs of the received sound-signals, sound-signals in each the pair received from different ones of the at least two sound-sources, based on times of receipt of the received sound- signals; and
a time difference of arrival (TDOA) location calculator functionally associated with the TDOA computer, configured to use the computed time differences of arrival and respective locations in the specified area of the sound-sources from which the at least some pairs of sound-signals were received to determine a location of the client- receiver in the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for providing signals useful in determining the location of a client-receiver in a specified area, comprising:
at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency.
In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for determining the location of a client-receiver in a specified area, comprising:
a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in the specified area, each of the at least two sound signals being transmitted by the at least two sound-sources; a time difference of arrival (TDOA) computer functionally associated with the client- receiver, configured to compute a time difference of arrival of at least some pairs of the received sound-signals, sound-signals in each the pair received from different ones of the at least two sound-sources, based on times of receipt of the received sound- signals; and
a time difference of arrival (TDOA) location calculator functionally associated with the TDOA computer, configured to use the computed time differences of arrival and respective locations in the specified area of the sound-sources from which the at least some pairs of sound-signals were received to determine a location of the client- receiver in the specified area.
In some embodiments, the TDOA location calculator is configured, for each the pair of received sounds signals for which a time difference of arrival is computed, based on the respective locations in the specified area of the ones of the at least two sound-sources from which the pair of sound-signals was received and on a speed of sound, to identify a group of possible locations in the specified area, such that if the client-receiver were located at one of the group of locations, the time difference of arrival would be satisfied and to use a function of the groups of possible locations to determine the location of the client-receiver. In some embodiments, the function comprises intersection of the groups of possible locations.
In some embodiments, the devices also comprise a sound-source identifier configured to identify, for each sound-signal of the received sound-signals, from which one of the at least two sound-sources the sound-signal is transmitted, based on at least one signal characteristic.
In some such embodiments, the signal characteristic comprises a unique base frequency for sound-signals transmitted from each one of the at least two sound- sources. In some such embodiments, the signal characteristic comprises a unique modulation for sound- signals transmitted from each of the at least two sound- sources. In some such embodiments, the signal characteristic comprises a unique signal duration for sound-signals transmitted from each of the at least two sound- sources.
In some embodiments, the sound-source identifier is configured to access additional data indicating an association between a signal characteristic and one of the at least two sound-sources that transmits signals having the signal characteristic. In some embodiments, the sound-source identifier is configured to access data in a pre-populated dataset included in the client-receiver. In some embodiments, the sound-source identifier is configured to access data encoded in a received sound-signal.
In some embodiments, the sound-source identifier is configured to access a database at a remote location from the client-receiver. In some such embodiments, the sound-source identifier is configured to communicate with a remote server housing the database using a communication method selected from the group consisting of: a wireless network (e.g., WiFi®), a wireless cellular telephony network (e.g., GPRS, 2G, 3G, 4G), a wireless personal area network (e.g., Bluetooth®).
In some embodiments, the at least two sound-sources are configured to receive a synchronizing signal at a synchronizing rate and to wait a predetermined duration following receipt of the synchronizing signal, prior to transmitting the sound-signal. In some embodiments, the client-receiver is configured to receive the synchronizing signal.
In some embodiments, the synchronizing sound-signal is transmitted by a sound- source. In some such embodiments, the sound-source is one of the at least two sound- sources.
In some embodiments, the synchronizing signal comprises a change of phase in current powering the at least two sound-sources.
In some embodiments, the synchronizing signal is based on a reference time. In some such embodiments, the reference time is selected from the group consisting of: a local reference time, UTC (coordinated universal time), TAI (International Atomic Time), PTP, and a GNSS clock.
In some embodiments, the synchronizing rate is in the range of 100Hz to lHz.
In some embodiments, the predetermined delay duration is unique to each one of the at least two sound-sources. In some embodiments, the predetermined delay duration is the same for at least two sound-sources of the at least two sound- sources. In some embodiments, predetermined delay duration is predetermined duration is the same for all of the at least two sound-sources.
In some embodiments, the predetermined delay duration corresponding to at least one of the at least two sound-sources is equal to zero, and the at least one of the at least two sound-sources is configured to transmit a sound-signal substantially simultaneously with receipt of the synchronizing signal.
Preferably, the base frequency is substantially inaudible to humans. In some embodiments, the base frequency is in the range of from about 18 kHz to about 24 kHz. In some embodiments, base frequency is in the range of from about 21 kHz to about 24 kHz.
In some embodiments, the duration of a specific sound-signal is not more than 100 microseconds. In some embodiments, the duration of a specific sound-signal is not more than 50 microseconds. In some embodiments, the duration of a specific sound-signal is not more than 20 microseconds. In some embodiments, the duration of a specific sound-signal is not less than 0.1 microseconds. In some embodiments, the duration of a specific sound-signal is in the range of 1 and 10 microseconds.
In some embodiments, a repetition rate of transmitting a sound- signal is less frequent than a maximum repetition rate. In some embodiments, the maximal repetition rate is 5 Hz.
In some embodiments, a device as described herein also comprises at least one sound- signal also transmitting information (that is to say the signal carries the information or is encoded with the information) relating to at least one of the at least two sound-sources. In some embodiments, the sound signal is configured to transmit at least one of:
location information for the at least one of the at least two sound-sources;
a sound-signal schedule for the at least one of the at least two sound-sources;
a handle enabling the client-receiver to access information relating to the at least one of the at least two sound-sources;
data corresponding to location-sensitive information;
a start time of the one of the at least two sound-signals;
data encoding a text message; and
data encoding a voice message.
In some embodiments, the sound-signal schedule comprises information relating to at least one of a sound-signal transmission time, a sound-signal duration, a sound-signal frequency, and a sound-signal modulation, for at least one sound-signal transmitted by the at least one of the at least two sound- sources.
In some embodiments, the location information for the at least one of the at least two sound-sources comprises absolute location information for the at least one of the at least two sound-sources. In some embodiments, the location information comprises location information for the at least one of the at least two sound-sources relative to a known location in the specified area, e.g. a door.
In some embodiments, the handle enabling the client-receiver to access information relating to the at least one of the at least two sound-sources comprises at least one of a URL, a barcode, and a quick response (QR) code.
In some embodiments, the data corresponding to location-sensitive information comprises at least one of information about sales and special products and an event schedule. In some such embodiments, the data corresponding to location-sensitive information includes: coordinates of a location of interest, distance from the location of interest, and advertising content.
In some embodiments, the sound signal is configured to transmit information at a transmission rate in the range of 1 and 20 kbps.
In some embodiments, at least one of the at least two sound-sources is a device comprising a speaker, a processor and a clock. In some such embodiments, the device also includes a receiver for receipt of synchronizing signals, e.g., a radio receiver or a client- receiver. In some embodiments, the client-receiver is a device comprising a microphone, a processor, and a clock. In some such embodiments, the device also includes a radio receiver for receipt of synchronizing signals. In some embodiments, the client-receiver comprises a modified mobile device selected from the group consisting of a smart phone, a Wi-Fi enabled cell phone, a PDA, a mobile computer, a Bluetooth® earphone, and a tablet computer.
In some embodiments, the client-receiver is in motion, and has a velocity of up to about 10 km/h (2.8 m/sec).
In some embodiments, the determined location is stored in the client-receiver. In some embodiments, the determined location is displayed to a user of the client-receiver, for example on a display of the client-receiver. In some embodiments, the displaying comprises displaying the determined location overlayed on a map of the specified area.
In some embodiments, the client-receiver also includes a transmitter configured to transmit the determined location to a location remote from the client-receiver.
In some embodiments, location is determined repeatedly at a determining rate. In some such embodiments, the determining rate is in the range of 2 Hz - 0.1 Hz.
In some embodiments, at least one of the at least two sound-source is mobile.
In some embodiments, a size of the specified area is in the range of 1 m2 to 10000 m2.
In some embodiments, a device as described herein also comprises a velocity determiner configured to determine a velocity vector of the client-receiver. In some such embodiments, the velocity determiner is configured to determine a Doppler-shift of the client-receiver to at least one of the at least two sound- sources.
In some embodiments of a device as described herein, the information obtainer, time of flight (TOF) computer, distance location calculator, time difference of arrival (TDOA) computer, and/or time difference of arrival (TDOA) location calculator form part of the client-receiver.
In some embodiments of a device as described herein, the client-receiver comprises a transmitter configured to transmit information regarding the received sound-signals, such as time stamp of receipt of the sound-signals, and duration, modulation, and frequencies of the sound-signals, to a remote server, for example using a wireless network protocol (e.g., WiFi®)), a wireless cellular telephony network protocol (e.g., GPRS, 2G, 3G, 4G), a wireless personal area network protocol (e.g., Bluetooth®). In some such embodiments, time of flight (TOF) computer, distance location calculator, time difference of arrival (TDOA) computer, and/or time difference of arrival (TDOA) location calculator form part of the remote server. In some embodiments of a device as described herein, some of the time of flight (TOF) computer, distance location calculator, time difference of arrival (TDOA) computer, and/or time difference of arrival (TDOA) location calculator form part of the client-receiver, and the ones not part of the client-receiver form part of the remote server.
Aspects and embodiments of the invention are described in the specification hereinbelow and in the appended claims.
Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention pertains. In case of conflict, the specification, including definitions, will control.
As used herein, the terms "comprising", "including", "having" and grammatical variants thereof are to be taken as specifying the stated features, integers, steps or components but do not preclude the addition of one or more additional features, integers, steps, components or groups thereof.
As used herein, the indefinite articles "a" and "an" mean "at least one" or "one or more" unless the context clearly dictates otherwise.
As used herein, when a numerical value is preceded by the term "about" the term "about" is intended to indicate +/-10%. Some embodiments of the invention may involve performing or completing selected tasks manually, automatically, or a combination thereof. Some embodiments of the invention are implemented with the use of components that comprise hardware, software, firmware or combinations thereof. In some embodiments, some components are general-purpose components such as general-purpose computers or processors. In some embodiments, some components are dedicated or custom components such as circuits, integrated circuits or software. For example, some embodiments are performed, at least partially, as a plurality of software instructions executed by a data processor, for example which is part of a general- purpose or custom computer. In some embodiments, the data processor or computer comprises volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data. In some embodiments, implementation includes a network (e.g., Internet, Intranet, wired, wireless) connection. In some embodiments, implementation includes a user interface, generally comprising one or more of input devices (e.g., allowing input of commands and/or parameters) and output devices (e.g., allowing reporting parameters of operation and results). BRIEF DESCRIPTION OF THE FIGURES
Some embodiments of the invention are described herein with reference to the accompanying figures. The description, together with the figures, makes apparent to a person having ordinary skill in the art how some embodiments of the invention may be practiced. The figures are for the purpose of illustrative discussion and no attempt is made to show structural details of an embodiment in more detail than is necessary for a fundamental understanding of the invention. For the sake of clarity, some objects depicted are not to scale. In the Figures:
FIG. 1 is a schematic depiction of an embodiment of a sound-source according to the teachings herein;
FIG. 2 is a schematic depiction of an embodiment of a sound-receiver, such as a client-receiver, suitable for location determination based on fingerprinting according to the teachings herein; and
FIGS. 3 A and 3B are a schematic depiction of an embodiment of a preparatory (mapping) stage and an active stage of a method for determining the location of a receiver in a designated area based on fingerprinting according to the teachings herein;
FIGS. 4A and 4B are flowcharts of the embodiments of Figures 3A and 3B, respectively;
FIG. 5 is a schematic depiction of an embodiment of a sound- source and of a time line representing a sound-signal transmitted from the sound-source according to the teachings herein;
FIG. 6 is a schematic depiction of an embodiment of a client-receiver suitable for location determination without fingerprinting according to the teachings herein; and
FIG. 7 is a schematic depiction of an embodiment of a method for determining the location of a receiver without fingerprinting according to the teachings herein; and
FIGS. 8A and 8B taken together are a flowchart of the embodiment of Figure 7.
DESCRIPTION OF SOME EMBODIMENTS OF THE INVENTION
The invention, in some embodiments, relates to the field of location determination, and more particularly, but not exclusively, to methods and devices useful for assisting in accurately determining a location of an object in a specified area.
In the context of the present application, the terms "client-receiver" and "sound- receiver" are intended to have the same meaning, and may be interchangeably used unless clearly dictated otherwise by the context. Specifically, in some instances the term "sound- receiver" or "sound receiver" used in priority document 61/551,484 is understood to be identical to the term "client-receiver"as used herein.
In accordance with some aspects of an embodiment of the teachings herein, there are provided methods for mapping a specified area, comprising:
from at least one sound-source, each such sound-source fixedly positioned in a specified area, transmitting at least one discrete sound-signal having a base frequency; at each calibration position of a plurality of calibration positions in the specified area: using a calibration-receiver located at the calibration position, receiving at least one of the discrete sound-signals transmitted by at least one of the at least one sound-source;
for each sound-source of the at least one sound-source from which at least one discrete sound-signal was received by the calibration-receiver, computing at least one calibration parameter value of at least one parameter for at least one the discrete sound-signals received from the sound-source;
in a calibration database, storing a calibration profile for the calibration position, the calibration profile being based on the computed calibration parameter values,
wherein the calibration database characterizes the receipt of the at least one discrete sound-signal from the at least one sound-source at each of the plurality of calibration positions, thereby mapping the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are also provided methods for determining the location of a client-receiver in a specified area, having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, according to the method of mapping, comprising:
obtaining a map of a specified area as described above;
at a position in the specified area:
using a client-receiver located at the position, receiving at least one discrete sound-signal transmitted by the at least one sound-source;
for each sound- source of the at least one sound- source from which at least one discrete sound-signal was received by the client-receiver, computing at least one client parameter value of the at least one parameter for at least one discrete sound-signal received from the sound-source; creating a client profile for the position based on the computed client parameter values;
evaluating similarity between the client profile and at least one calibration profile in the calibration database; and
based on the evaluating and on an identity of at least one the calibration position corresponding to the at least one calibration profile, approximating an identity of the position of the client-receiver.
In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for mapping a specified area, comprising:
at least one sound-source fixedly positioned in a specified area and configured for transmitting at least one discrete sound-signal having a base frequency;
a calibration receiver configured to be positioned at a calibration position of a plurality of calibration positions in the specified area and to receive at least one of the discrete sound-signals transmitted by at least one of the at least one sound-source; a calibration parameter value computer configured, for each sound-source of the at least one sound-source from which at least one discrete sound-signal was received by the calibration-receiver, to compute at least one calibration parameter value of at least one parameter for at least one such discrete sound-signals received from the sound- source; and
a calibration database configured to store a calibration profile for the calibration position, the calibration profile being based on the computed calibration parameter values,
wherein the calibration database characterizes the receipt of the at least one discrete sound-signal from the at least one sound-source at each of the plurality of calibration positions, thereby mapping the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are also provided devices for determining the location of a client-receiver in a specified area, having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, using the device for mapping, comprising:
a map obtainer configured to obtain a map of a specified area as described above; a client-receiver configured to be located at a position in the specified area and to receive at least one discrete sound-signal transmitted by the at least one sound-source; a client parameter value computer configured, for each sound-source of the at least one sound-source from which at least one discrete sound-signal was received by the client-receiver, to compute at least one client parameter value of the at least one parameter for at least one discrete sound-signal received from the sound-source;
a client profile creator configured to create a client profile for the position based on the computed client parameter values;
a similarity evaluator configured to evaluate similarity between the client profile and at least one calibration profile in the calibration database; and
a position approximator configured to approximate an identity of the position of the client-receiver based on the evaluating and on an identity of at least one the calibration position corresponding to the at least one calibration profile, approximating an identity of the position of the client-receiver.
Thus, in accordance with some aspects of an embodiment of the teachings herein, there are also provided methods for determining the location of a client-receiver in a specified area, comprising:
from each of a plurality of sound-sources located in a specified area, at a predetermined time, transmitting a sound-signal having a base frequency;
at a client-receiver located in the specified area, receiving at least two of the sound- signals transmitted by the sound-sources;
accessing information relating to the predetermined time of transmission of the sound- signals;
computing a time of flight (TOF) of at least some of the received sound-signal based on time receipt of the received sound-signals and on the information relating to the predetermined time of transmission of the received sound-signals; and
using the computed time of flight (TOF) and respective locations in the specified area of sound-sources of the at least two sound-sources for which the time of flight is computed, determining a location of the receiver in the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are also provided methods for determining the location of a client-receiver in a specified area, comprising:
from each of at least two sound-sources located in a specified area, transmitting a sound-signal having a base frequency;
at a client-receiver located in the specified area, receiving at least two of the sound- signals transmitted by at least two different ones of the at least two sound-sources; computing a time difference of arrival (TDOA) of at least some pairs of the received sound-signals, sound-signals in each the pair received from different ones of the at least two sound-sources, based on times of receipt of the received sound-signals; and using the computed time differences of arrival (TDOA) and respective locations in the specified area of the sound-sources from which the at least some pairs of sound- signals were received, determining a location of the client-receiver in the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are also provided devices for determining the location of a client-receiver in a specified area, comprising:
at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency at a predetermined time;
a client-receiver located in the specified area, configured to receive at least two of the sound-signals transmitted by the sound-sources;
an information obtainer functionally associated with the client-receiver, configured to access information relating to the predetermined time of transmission of the sound- signals;
a time of flight (TOF) computer functionally associated with the information obtainer, configured to compute a time of flight of at least some of the received sound-signal based on time receipt of the received sound-signals and on the information obtained by the information obtainer; and
a distance location calculator functionally associated with the TOF computer, configured to use the computed time of flight and respective locations in the specified area of sound-sources of the at least two sound-sources for which the time of flight is computed to determine a location of the receiver in the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for providing signals useful in determining the location of a client-receiver in a specified area, comprising:
at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency at a predetermined time.
In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for determining the location of a client-receiver in a specified area, comprising: a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in the specified area, each of the at least two sound signals being transmitted at a predetermined time by the at least two sound-sources;
an information obtainer functionally associated with the client-receiver, configured to access information relating to the predetermined time of transmission of the sound- signals;
a time of flight (TOF) computer functionally associated with the information obtainer, configured to compute a time of flight of at least some of the received sound-signal based on time receipt of the received sound-signals and on the information obtained by the information obtainer; and
a distance location calculator functionally associated with the time of flight computer, configured to use the computed time of flight and respective locations in the specified area of sound-sources of the at least two sound-sources for which the time of flight is computed to determine a location of the receiver in the specified area.
In accordance with some aspects of an embodiment of the teachings herein, there are also provided devices for determining the location of a client-receiver in a specified area, comprising:
at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency;
a client-receiver located in the specified area, configured to receive at least two of the sound-signals transmitted by at least two different ones of the at least two sound- sources;
a time difference of arrival (TDOA) computer functionally associated with the client- receiver, configured to compute a time difference of arrival of at least some pairs of the received sound-signals, sound-signals in each the pair received from different ones of the at least two sound-sources, based on times of receipt of the received sound- signals; and
a time difference of arrival (TDOA) location calculator functionally associated with the TDOA computer, configured to use the computed time differences of arrival and respective locations in the specified area of the sound-sources from which the at least some pairs of sound-signals were received to determine a location of the client- receiver in the specified area. In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for providing signals useful in determining the location of a client-receiver in a specified area, comprising:
at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency.
In accordance with some aspects of an embodiment of the teachings herein, there are provided devices for determining the location of a client-receiver in a specified area, comprising:
a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in the specified area, each of the at least two sound signals being transmitted by the at least two sound-sources; a time difference of arrival (TDOA) computer functionally associated with the client- receiver, configured to compute a time difference of arrival of at least some pairs of the received sound-signals, sound-signals in each the pair received from different ones of the at least two sound-sources, based on times of receipt of the received sound- signals; and
a time difference of arrival (TDOA) location calculator functionally associated with the TDOA computer, configured to use the computed time differences of arrival and respective locations in the specified area of the sound-sources from which the at least some pairs of sound-signals were received to determine a location of the client- receiver in the specified area.
Typical embodiments of the teachings herein include:
a) location-determination of a person for location-dependent personalized advertisement and other location-based services;
b) location-determination of a person in a conference hall, for example to seeking a specific stand;
c) location-determination of a person in an exhibit, for example to provide content related to the exhibit;
d) location-determination of a supermarket trolley to know where and how long a person is found at a specific display a supermarket;
e) location-determination of a rescue worker in low-visibility conditions (e.g., firepersons, search-teams);
f) location-determination of a mechanical device (e.g., robot) or person (e.g., a visually impaired person), for example along a track or in a specified area; and g) monitoring of livestock and other farming products (e.g., beehives).
The principles, uses and implementations of the teachings of the invention may be better understood with reference to the accompanying description and figures. Upon perusal of the description and figures present herein, one skilled in the art is able to implement the teachings of the invention without undue effort or experimentation. In the figures, like reference numerals refer to like parts throughout.
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth herein. The invention is capable of other embodiments or of being practiced or carried out in various ways. The phraseology and terminology employed herein are for descriptive purpose and should not be regarded as limiting.
Reference is now made to Figure 1 , which is a schematic depiction of an embodiment of a sound-source according to the teachings herein.
As seen in Figure 1, an ultrasonic sound-source 10 comprises a processor 14 and a sound emitter 16, such as a speaker. In some embodiments, sound-source 10 also includes a clock 18. Sound-source 10 is configured to transmit a discrete sound-signal, indicated by reference numeral 20.
In some embodiments, sound-source 10 further includes a receiver 22, and is configured to receive a synchronizing signal (not shown), and to transmit the discrete sound- signal at a fixed time duration, measured using clock 18, after receipt of the synchronizing signal.
Sound-signal 20 has a defined base frequency and is transmitted at a well defined start time, which may be defined independently, but in some embodiments is defined with respect to a time of receipt of the synchronizing signal, i.e., a predetermined delay duration after receipt of the synchronizing signal. In some embodiments, the predetermined delay duration is zero, that is, the sound-signal is transmitted substantially immediately upon receipt of the synchronizing signal.
In some embodiments when multiple sound-sources 10 are deployed in the same area, as described with reference to Figures 3A and 3B, each sound-source 10 generates a sound- signal 20 at a predetermined delay duration after receipt of the synchronizing signal. In some such embodiments, at least two sound-sources 10 deployed in the same area have the same predetermined delay duration. That said, in some such embodiments, at least one sound- source 10 has a predetermined delay duration different from at least one other sound- source 10 deployed in the same area. In some embodiments, all sound- sources 10 deployed in the same area have the same predetermined delay duration and transmit a discrete sound-signal concurrently. In some embodiments, each sound-source 10 deployed in the same area has a unique predetermined delay duration different from the predetermined delay duration of all the other sound -sources deployed in the same area.
In some embodiments when multiple sound-sources 10 are deployed in the same area, as described with reference to Figures 3A and 3B, a sound-signal transmitted from each sound-source 10 has characteristics identifying from which sound- source 10 the sound- signal 20 was transmitted. In some embodiments, an identifying characteristic comprises a base frequency, in some embodiments a unique base frequency. In some embodiments, an identifying characteristic comprises a modulation, in some embodiments a unique modulation. In some embodiments, an identifying characteristic is a signal duration, in some embodiments a unique signal duration. In some embodiments, an identifying characteristic comprises a combination of at least two of a base frequency, a modulation, and a signal duration.
The base frequency is any suitable base frequency. That said, in order to avoid causing distress or nuisance, it is preferred that a base frequency be higher than normally detectable to a human, e.g., at least 18 kHz. The base frequency is typically between about 18 kHz and about 24 kHz, more typically between about 21 kHz and about 24 kHz. Such base frequencies allows the teachings herein to be exceptionally useful by allowing implementation thereof with standard smartphones and such devices, and in some embodiments do not require custom-made dedicated hardware.
As mentioned above, in some embodiments when multiple sound- sources 10 are deployed in the same area, as described with reference to Figures 3A and 3B, each sound- source 10 generates a sound- signal 20 at a unique base frequency, which is different from the base frequency of other sound-sources 10. In some embodiments, sound- source 10 transmits a sound-signal 20 at a specified base frequency that does not change. In some embodiments, the base-frequency of sound-signals generated by sound-source 10 changes with time.
The duration of a specific discrete sound-signal is any suitable duration. That said, it is preferred that the duration be short to reduce distress or nuisance. Accordingly, the duration of a specific discrete sound-signal is typically not more than about 100 microseconds, not more than about 50 microseconds, and even not more than about 20 microseconds. In some embodiments, the duration is between 1 and 10 microseconds. As mentioned above, in some embodiments when multiple sound-sources are deployed in the same area, as described with reference to Figures 3A and 3B, each sound- source 10 generates a sound-signal having a unique duration different from the duration of sound-signals of other sound-sources 10. In some embodiments, sound-source 10 generates a sound-signal having a duration that does not change. In some embodiments, the duration of sound-signals generated by a given sound-source 10 changes with time.
As noted above, a single sound-source recurrently generates a discrete sound-signal. In some embodiments, generation is intermittent. For simplicity and practical reasons, in some embodiments sound-signal generation is periodic. In some embodiments, the actual repetition rate is typically less frequent than a certain maximum repetition rate that is determined as a function of sound- signal duration and maximal range from a sound-source: it is preferred to ensure that a client-receiver at the furthest range from a sound-source receives a sound-signal before a succeeding sound-signal is generated in order to avoid possible confusion between two succeeding signals and also possible echoes. A typical maximal repetition rate is about 5 Hz (5 sound- signals per second). That said, to reduce distress or nuisance, an actual repetition rate is typically slower than 5 Hz.
The intensity of a discrete sound-signal is any suitable intensity. Typically the intensity is as low as possible to reduce distress or nuisance, but must be sufficient so as to be detectable at a desired maximal range. Typical base frequencies are such that it is unlikely that background noise drowns-out the sound- signals. That said, in some embodiments, interfering background noise may be a factor to consider when determining a suitable intensity.
Reference is now made to Figure 2, which is a schematic depiction of an embodiment of a client-receiver according to the teachings herein.
A client-receiver according to the teachings herein, which may be a calibration- receiver or a client-receiver, is a device comprising a microphone, a processor and a clock. In some embodiments such a device is custom-made to implement the teachings herein. In some embodiments, such as that illustrated in Figure 2, the device is a suitably-modified known device, for example, a mobile communication device (Wi-Fi enabled cellphone, PDA, smartphone, mobile computer, Bluetooth® earphone), typically only software-modified (as opposed to hardware-modified) allowing simple and advantageous implementation of the teachings herein with the use of a pre-existing and ubiquitous hardware infrastructure. That said, in some embodiments, such a mobile communication device is hardware modified to implement the teachings herein, for example, by addition or replacement of one or more hardware components for implementing the teachings herein.
As seen in Figure 2, a client-receiver 200, here illustrated as a suitably modified smart phone, such as a Ϊ7500 "Galaxy" smartphone by Samsung Inc, of Seoul, South Korea, which includes a sound-signal sensor 202, a processor 206, and a clock 208.
However, any suitably-configured device that can detect a generated sound-signal and can process received sound-signals may take advantage of the teachings herein as a client- receiver to determine an own location. Preferably, the client-receiver is a device including a microphone such as a smartphone, cellular telephone, computer or PDA that is software and/or hardware modified to implement the teachings herein.
In some embodiments the sound-signal sensor 202, which may be, for example, a software driver to a microphone of client-receiver 200, is modified to receive sound-signals transmitted by sound- sources according to the teachings herein, such as sound- sources 10 of Figure 1, and specifically to receive sound-signals having a frequency in the range of from about 18kHz to about 24 kHz.
For use, client-receiver 200 is activated to implement the teachings herein and monitors the microphone input for sound-signals. Upon receipt of a sound- signal by sound- signal sensor 202 in accordance with the teachings herein, processor 206 activates a time- stamper 210 to associate a time stamp, determined using clock 208, with the received sound- signal.
In some embodiments, processor 206 stores the time stamps in an Arrival Dataset 212 of a client-receiver database 214, implemented, for example, as a SQL relational database, where Arrival Dataset 212 is implemented as one or more database tables.
In some embodiments, client-receiver database 214 is populated with information regarding the characteristics of sound-signals received from different sound-sources prior to use of client-receiver 202. In some such embodiments, upon receipt of a sound-signal and identification of its characteristics, such as frequency, modulation, and/or duration, a sound- source identifier 216 extracts information from database 214 for association of the specific sound-signal with a sound-source which transmitted the sound-signal.
Typically, sound- signal sensor 202 receives a sound- signal from each sound- source deployed in the vicinity of client-receiver 200, and Arrival Dataset 212 stores a profile including multiple timestamps, each timestamp indicating the time of arrival of a sound- signal from a different sound- source. In general, following receipt of a profile of sound-signals transmitted by sound- sources in the vicinity of client-receiver 200, a time difference of arrival identifier 218 of client-receiver 200 calculates a pair wise Time Difference Of Arrival (TDOA) profile, that is, a profile including the time difference between the arrivals of two signals from each pair of sound-sources.
In some embodiments, processor 206 runs a similarity assessor 220, for example implemented as a separate process or thread, which receives a TDOA profile from TDOA identifier 218, obtains one or more calibration TDOA profiles corresponding to one or more known calibration points in a specified area, and assesses the similarity between the received TDOA profile and each calibration TDOA profile. TDOA profile comparer 220 may use any suitable method for comparing the received TDOA profile and a calibration TDOA profile, such as computing a Euclidean distance between the two profiles. Typically, TDOA profile comparer 220 outputs a similarity profile, for example in the form of a vector. The number of entries in the similarity profile is equal to the number of calibration TDOA profiles to which the TDOA profile was compared, and each entry includes a single numerical value indicating the similarity between a specific calibration TDOA profile and the TDOA profile obtained by TDOA identifier 218.
To continuously update the current location of client-receiver 200, in some embodiments, processor 206 runs a location estimator 224, for example implemented as a separate process or thread, which periodically receives updated similarity profiles as calculated by similarity assessor 220. Location estimator 224 estimates the location of client- receiver 200 based on the similarity profile, such that client-receiver 200 is estimated to be located close to calibration points for which the similarity profile indicated high similarity. Stated differently, location estimator 224 estimates that client-receiver 200 is located close to calibration points for which the calibration TDOA profile was similar to the TDOA profile obtained by client-receiver 200.
In some embodiments, location estimator 224 uses a function or metric to estimate the location of client-receiver 200, particularly if multiple calibration TDOA profiles are similar to the TDOA profile obtained by client-receiver 200. Location estimator 224 may implement any suitable method known in the art, for example, weighted average, trilateration, or other functions. Upon completing a location calculation, location estimator 224 stores the output for immediate use, for example, by a location-based service application running on client- receiver 200. Alternatively or additionally, location estimator 224 attaches a timestamp and stores the location in client-receiver database 214, for use by location-dependent applications, such as an application showing the client-receiver 200 path superimposed on a map.
It is appreciated that in some embodiments, the location of the client-receiver may be calculated using methods other than Time Difference of Arrival (TDOA) calculations, such as time-of-flight calculations and radiolocation calculations, though such calculations often require additional data, such as knowledge of the exact time that a sound-signal was transmitted by a sound-source.
The estimated location of client-receiver 200 is optionally reported to the user of client-receiver 200, for example on display screen 225, or to some external location, e.g., using a Wi-Fi session, Bluetooth® or cellular telephony.
In some embodiments, the estimated location of client-receiver 200 is within 50 cm of the actual location of client-receiver 200. In some embodiments, the estimated location is within 30, 10, or even 5 cm of the actual location of client-receiver 200.
Reference is now made to FIGS. 3 A and 3B, which are schematic depiction of an embodiment of a preparatory (mapping) stage and an active stage of a method for determining the location of a receiver in a designated area based on fingerprinting according to the teachings herein, and to Figures 4A and 4B, which are flowcharts of the embodiments of Figures 3 A and 3B, respectively.
As seen in Figure 3A, a calibration user 300 holding a calibration-receiver 302, similar to client-receiver 200 of Figure 2, is located in a room 304, such as a conference hall or exhibit room. In some embodiments, the size of the specified area in which the object is located, which in the illustrated embodiment is room 304, is between 1 m2 to 10000 m2.
It is appreciated that a calibration-receiver 302 may be mounted onto any object for which location determination is desired. In some embodiments, the size of the object for which location is determined is in the order of 1 cm - 200 cm.
Also located in room 304 is a plurality of sound-sources 306, similar to sound-sources 10 described hereinabove in reference to Figure 1. Room 304 further includes a plurality of calibration points 308.
The exact number of sound-sources 306 deployed in room 304 depends on the size of the room, and on the desired accuracy of location determination. For example, in a room of size 600 m2, four or five sound-sources 306 typically are deployed.
Similarly, the exact number and distribution of calibration points 308 depends on the desired accuracy of location determination, such that the greater the number of calibration points 308, or the shorter the distance between each two calibration points 308, the higher the accuracy of location determination.
As seen in Figure 3A, when the mapping is for two dimensional calibration points, such as points (x,y), the calibration points 308 are typically distributed at fixed distances Dv and Dh from one another, where Dv indicates a vertical distance and Dh indicates a horizontal difference. In some embodiments, Dv and Dh are both equal to two meters. In some embodiments, Dv and Dh are both equal to one meter. In some embodiments, Dv and Dh are equal to 80, 60, 40, or even 20 cm. In some embodiments, Dv is smaller than Dh. In some embodiments, Dh is smaller than Dv. In such embodiments, a density of the calibration positions is not less than one calibration position per 10 m2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 1 m2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m2 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m2 of the specified area.
In some embodiments, in which the mapping is (x,y,z) mapping of the designated area, a density of the calibration positions is not less than one calibration position per 10 m3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 1 m3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.5 m3 of the specified area. In some embodiments, a density of the calibration positions is not less than one calibration position per 0.1 m3 of the specified area.
In some embodiments, the sound-sources 306 are synchronized, such that a synchronizer (not shown) recurrently (in some embodiments intermittently, in some embodiments periodically) transmits a synchronizing signal allowing the one or more sound- sources 306 to be synchronized with each other, at step 402 of Figure 4A. At step 404, in some embodiments, calibration-receiver 302 also receives the synchronizing signal, allowing it to be synchronized with the one or more sound-sources 306. The synchronizing signal is typically transmitted in a synchronizing rate.
It is appreciated that in some embodiments the synchronizing signal is selected so as to be received by all sound-sources 306 substantially instantaneously.
In some embodiments, the synchronizing signal comprises an electromagnetic radiation transmission, such as an infrared radiation transmission or a radiofrequency transmission. In some embodiments, the synchronizing signal comprises a change of phase in the electrical current supplying power to sound-sources 306. In some embodiments, the synchronizing signal comprises a signal transmitted as a 3G or 4G telephony system beacon. In some embodiments, the synchronizing signal comprises a signal transmitted by a Wi-Fi access point, for example, embedded in a Wi-Fi beacon signal.
As discussed hereinabove with reference to Figure 1, at step 406 upon receipt of a synchronizing signal from the synchronizer, if such is transmitted, or at otherwise predetermined times, each of sound-sources 306 transmits a sound-signal 312, either immediately or after waiting a predetermined delay duration from receipt of the synchronizing signal. As discussed hereinabove, the delay duration may be unique to each sound-source 306, or may be common to two or more sound-sources, and may be of any duration, including duration zero.
At step 408, calibration-receiver 302, located at a specific calibration point 308a in room 304, receives sound-signals 312 transmitted by some or all of sound-sources 306. At step 410, calibration-receiver 302 time-stamps the time at which the sound-signals were received. As discussed hereinabove with reference to Figure 1, each sound-signal 312 transmitted by each of the sound-sources 306 has one or more unique characteristics which enable calibration-receiver 302, upon receipt of a specific sound-signal 312 and, in some cases, access to additional data, to identify which of the sound-sources 306 transmitted the received signal, at step 412. The identification may be based on the duration of the sound- signal, the modulation of the sound-signal, the base frequency of the sound-signal or combinations thereof.
In some embodiments, as discussed hereinabove with reference to Figure 2, once calibration-receiver 302 identifies a sound-source 306 from which each received sound-signal 312 was transmitted, calibration-receiver 302 generates a calibration TDOA profile 314 for calibration point 308a, at step 414. At step 416 calibration-receiver 302 transmits the calibration TDOA profile to a database 316 for storage therein, as indicated by arrow 318.
The process is then repeated multiple times until database 316 includes a calibration TDOA profile for each calibration point 308.
Turning to Figure 3B, it is seen that a client 320 holding a client-receiver 322, similar to client-receiver 200 of Figure 2, is located in room 304, at a point indicated by reference numeral 328.
As seen at step 428 of Figure 4B, and in Figure 3B, client-receiver 322, located at point 328, receives sound-signals 332 transmitted by some or all of sound-sources 306, and time-stamps the time at which the sound-signals 332 were received, at step 430. As discussed hereinabove with reference to Figure 1, each sound-signal 332 transmitted by each of the sound-sources 306 has one or more unique characteristics which enable client-receiver 322, upon receipt of a specific sound-signal 332 and, in some cases, access to additional data, to identify which of the sound-sources 306 transmitted the received signal, at step 432. The identification may be based on the duration of the sound-signal, the modulation of the sound- signal, the base frequency of the sound-signal or combinations thereof.
In some embodiments, as discussed hereinabove with reference to Figure 2, once client-receiver 322 identifies a sound-source 306 from which each received sound-signal 332 was transmitted, it stores a timestamp 334 indicating the arrival time of sound-signal 332, at step 434. Once signals are received from all sound-sources 306, or, alternately, once a predetermined duration from receipt of a first sound-signal 332 has passed, the client-receiver 322 generates a client TDOA profile 336 for point 328 based on the timestamps 334, as seen at step 436.
Subsequently, at step 438, client-receiver 332 accesses the calibration TDOA profiles 314 in database 316. At step 440, client-receiver 322 computes the similarity of each calibration TDOA profile to client TDOA profile 336, resulting in a similarity profile 338, at step 442. The similarity calculation may be any suitable calculation, such as calculation of Euclidean distance or any other distance metric.
In some embodiments, client-receiver 322 downloads the calibration TDOA profiles 314 from database 316 in real time, as indicated by arrow 340. In some embodiments, the calibration TDOA profiles 314 are loaded into client-receiver 322 offline, for example prior to client-receiver 322 entering room 304.
At step 444, client-receiver 332 estimates its position based on the similarity profile 338, such that it is located close to the calibration points for which the highest similarity was computed. In the illustrated embodiment, the greatest similarity, indicated by the lowest Euclidean distance, is between the client TDOA profile and the calibration TDOA profiles for points 308b and 308d, and thus it is estimated that point 328 is located between points 308b and 308d. The exact location of point 328 between points 308b and 308d may be computed using any suitable function, such as weighted average, trilateration, or any other suitable method.
As discussed hereinabove with reference to Figure 2, in some embodiments, the estimated position may be stored in client-receiver 322 for future use, as seen at step 446. In some embodiments, the estimated position is displayed to client 320 on a display, such as screen 342 of client-receiver 322, and may be displayed as overlayed on a map for client 320 to more easily identify his location, as seen at step 448.
In some embodiments, seen at step 450, the estimated position is transmitted to a remote location, such as a server. For example, in an embodiment in which client 320 is located in a supermarket, the calculated location may be transmitted to the supermarket management for use in advertising and decisions regarding placement of products.
It is appreciated that the system and method described hereinabove with reference to Figures 1-4B is particularly useful in situations in which the coordinates at which the sound- sources are located are unknown.
In some embodiments, described specifically with respect to Figures 1 and 5-8, the invention includes generation of a sound-signal, which may be a modulated sound-signal, from at least two sound-sources located in the venue, each sound-signal at a specified start- time. A suitably configured client-receiver is able to use the sound- signals to determine an own location within the venue.
Reference is now made to FIG. 5, which is a schematic depiction of an embodiment of a sound-source and of a time line representing a sound-signal transmitted from the sound- source according to the teachings herein.
As seen in Figure 5, an ultrasonic sound-source 510, similar to sound-source 10 of Figure 1, comprises a processor 514 and a sound emitter 516, such as a speaker. In some embodiments, sound-source 510 also includes a clock 518. Sound-source 510 is configured to transmit a modulated sound-signal, as described further hereinbelow, indicated by reference numeral 520.
In some embodiments, sound-source 510 further includes a receiver 522, and is configured to receive a synchronizing signal (not shown), and to transmit the modulated sound-signal at a fixed time duration, measured using clock 518, after receipt of the synchronizing signal.
As seen in Figure 5, sound-source 510 begins transmitting modulated sound-signal 520 is started at a predetermined time point, for example at each exact second (hh:mm:ss:000), upon receipt of a synchronizing signal or at a predetermined duration after receipt of such synchronizing signal. Specifically, modulated sound-signal 520 includes a series of multiple location signals 530, here shown as three location signals. The locations signals each have the same duration, for example 5 microseconds, and are separated by fixed time durations of silence 532, for example lasting 5 microseconds each. The last location signal 530 is followed by a predetermined duration of silence 534, for example 20 microseconds.
In the remaining time duration 536 until transmission of the next signal, for example 955 microseconds, sound-signal 520 is modulated to transmit data stored in, or generated by, processor 514 or by a controller (not shown) associated with the sound-source 510. Any suitable technique or algorithm (for example, as known in the art of modems, especially acoustically coupled modems) is used to modulate sound-signal 520 to carry the digital data.
For example, in time duration 536, sound-source 510 may transmit its own coordinates, for example using standard GPS coordinates to 1 cm3 resolution.
As another example, or after transmitting the coordinates, sound- source 510 may transmit data that corresponds to location-sensitive information, specifically, information about sales and special products. In some embodiments, this information has the format: coordinates of a location of interest, distance from location of interest and advertising content (visual and/or audible content).
In some embodiments, sound-source 510 may transmit a time stamp for the time at which transmission of sound-signal 520 was initiated, thereby allowing a recipient of sound- signal 520 to compute the time of flight of the signal until it was received, as described hereinbelow with reference to Figures 6-8. In some embodiments, sound-source 510 may transmit a schedule, for example a signal transmission schedule, as part of sound- signal 520.
In some embodiments, instead of transmitting specific data, such as its coordinates, sound-source 510 may transmit a handle to the data, or information from which the data may be obtained. For example, sound-source 510 may transmit as part 536 of sound-signal 520 a URL to a website listing the coordinates of the sound-source instead of directly transmitting the coordinates.
It is appreciated that in some embodiments, sound- source 510 may transmit a discrete sound-signal 520 as described hereinabove with reference to Figure 1.
Sound-signal 520 has a defined base frequency and is transmitted at a well defined start time, which may be defined independently, but in some embodiments is defined with respect to a time of receipt of the synchronizing signal, i.e., a predetermined delay duration after receipt of the synchronizing signal. All the characteristics of sound- source 510 and of sound-signal 520, including characteristics relating to start time, delay from receipt of a synchronizing signal, frequency, modulation, duration, schedule of sound-signal generation, repetition rates, and sound-signal intensity, are equivalent to those described hereinabove for sound-source 10 and sound-signal 20 of Figure 1. Depending on the embodiment and such factors as the frequency range allocated to sound-source 510 and the specific algorithm used to digitize information, the transmission rate of sound-source 510 is typically between 1 and 20 kbps. Such a transmission rate allows transmission of additional information, e.g., in time duration 536, e.g., location-sensitive information, advertisements, event schedules, announcements, data encoding voice messages and data encoding text messages.
Reference is now made to Figure 6, which is a schematic depiction of an embodiment of a client-receiver suitable for location determination without fingerprinting according to the teachings herein.
A client-receiver according to the teachings herein is a device comprising a microphone, a processor and a clock. In some embodiments such a device is custom-made to implement the teachings herein. In some embodiments, such as that illustrated in Figure 6, the device is a suitably-modified known device, for example, a mobile communication device (Wi-Fi enabled cellphone, PDA, smartphone, mobile computer, Bluetooth® earphone), typically only software-modified (as opposed to hardware -modified) allowing simple and advantageous implementation of the teachings herein with the use of a pre-existing and ubiquitous hardware infrastructure. That said, the device may be hardware modified, for example by functional association with a suitable dongle through a suitable port such as a USB port, to implement the teachings herein.
As seen in Figure 6, a client-receiver 600, here illustrated as a suitably modified smart phone, such as a Ϊ7500 "Galaxy" smartphone by Samsung Inc, of Seoul, South Korea, which includes a sound-signal sensor 602, a processor 606, and a clock 608.
However, any suitably-configured device that can detect a generated sound-signal and can process received sound-signals may take advantage of the teachings herein as a client- receiver to determine an own location. Preferably, the client-receiver is a device including a microphone such as a smartphone, cellular telephone, computer or PDA that is software- modified to implement the teachings herein, in some embodiments including a GNSS receiver.
In some embodiments the sound-signal sensor 602, which may be, for example, a software driver to a microphone of client-receiver 600, is modified to receive sound-signals transmitted by sound- sources according to the teachings herein, such as sound- sources 10 of Figure 1, and specifically to receive sound-signals having a frequency in the range of from about 18 kHz to about 24 kHz. For use, client-receiver 600 is activated to implement the teachings herein and monitors the microphone input for sound-signals. Upon receipt of a sound- signal by sound- signal sensor 602 in accordance with the teachings herein, processor 606 activates a time- stamper 610 to associate a time stamp, determined using clock 608, with the received sound- signal.
In some embodiments, processor 606 stores the time stamps in an Arrival Dataset 612 of a client-receiver database 614, implemented, for example, as a SQL relational database, where Arrival Dataset 612 is implemented as one or more database tables.
In some embodiments, client-receiver database 614 is populated with information regarding the characteristics of sound-signals received from different sound-sources prior to use of client-receiver 602. In some such embodiments, upon receipt of a sound-signal and identification of its characteristics, such as frequency, modulation, and/or duration, a sound- source identifier 616 extracts information from database 614 for association of the specific sound-signal with a sound-source which transmitted the sound-signal.
In some embodiments, following association of a sound-signal with a sound-source, processor 606 stores an entry indicating such association in Arrival Dataset 612 in Client- receiver Database 614.
In some embodiments, following receipt of a modulated sound-signal, a data extractor 618 extracts data encoded in the final portion of the signal, such as portion 536 of Figure 5. Processor 606 runs a data interpreter 620, for example implemented as a separate process or thread, which interprets the received data, to identify whether it indicates the location of the transmitting sound-source, a transmission schedule of the transmitting sound-source, a URL for accessing the coordinates and/or transmission sound schedule for the transmitting sound- source, or any other type of data. In some embodiments, in which data interpreter 620 identifies in the modulated sound-signal a handle to the data, such as a URL for accessing the data, a data retriever 622 running on processor 606, for example implemented as a separate process or thread, retrieves the data using the handle identified by data interpreter 620.
In some embodiments, the data, interpreted by data interpreter 620 or accessed by data retriever 622, is stored in client-receiver database 614 in association with the specific sound-signal and sound-source which transmitted the signal, for later use.
In general, in the embodiments described hereinbelow, the location of the sound- source from which a sound-signal was received are known, whether from data extracted from the received sound-signal, from data obtained from a data handle extracted from a received sound-signal, or by being pre-programmed into processor 606 of client-receiver 600. In general, following receipt of a sound-signal transmitted by a specific sound-source, if the start time of that sound-signal is known, for example because client-receiver 600 is synchronized with the sound-source, or because client-receiver 600 accessed a transmission schedule for the sound-source, client-receiver 600 can accurately calculate the distance to the sound-source based on the speed of sound. In some embodiments, the distance is reported. In some embodiments, the distance, taken together with the available known locations of the sound-sources and/or an available map is used to determine the location of the client-receiver and reported.
Specifically, in some embodiments, client-receiver database 614 allows for retrieval of the time stamp of receipt of a specific sound-signal as well as other information associated with the sound-signal, for example information obtained by data extractor 616 and data interpreter 618. Additionally, in some embodiments, client-receiver database 614 allows for retrieval of information associated with the sound-source that transmitted that sound-signal. When the start time of signal transmission is known, such information, allows for computation of the distance between the client-receiver 600 and a sound-source from which a sound-signal was received. Otherwise, when the start time of signal transmission is not known, such information allows for computation of the location of client-receiver 600 based on time differences of signal arrival times.
Specifically, in embodiments in which the signal transmission start time is known, using such information, finding the time difference between transmission of a sound-signal and receipt of the same sound-signal is trivial. Since the frequency of the sound-signal and the speed of sound are known, a distance calculator 624, for example implemented as a separate process or thread running in processor 606 calculates the distance of client-receiver 600 from a sound-source transmitting the sound-signal using the formula dt*vs, where dt is the time difference and vs is the speed of sound.
To continuously update the current location of client-receiver 600, in some embodiments, processor 606 runs a distance location calculator 628, for example implemented as a separate process or thread, which periodically receives updated distances of the client-receiver from a corresponding sound-source as calculated by the distance calculator.
Distance location calculator 628 may implement any suitable method known in the art, for example, trilateration, weighted average or other methods. Upon completing a location calculation, distance location calculator 628 stores the output for immediate use, for example, by a location-based service application running on client-receiver 600. Alternatively or additionally, distance location calculator 628 uses clock 608 to attach a timestamp and stores the location in client-receiver database 614, for use by location- dependent applications, such as an application showing the client-receiver 600 path superimposed on a map.
In embodiments in which the signal transmission start time is unknown, time differences of arrival are used to compute the location of client-receiver 600. Using the timestamps stored in client-receiver database 614, a TDOA calculator 630, for example implemented as a separate process or thread running in processor 606, calculates the time difference between arrival times of sound- signals transmitted by different sound- sources. For each TDOA calculated by TDOA calculator 630, since the frequency of the sound-signals, the locations of the sound-sources, and the speed of sound are known, a possible location estimator 632, for example implemented as a separate process or thread running in processor 606, calculates a group of possible locations for client-receiver 600 which would satisfy the calculated TDOA.
To continuously update the current location of client-receiver 600, in some embodiments, processor 606 runs a TDOA location calculator 634, for example implemented as a separate process or thread, which periodically receives updated groups of possible locations of client-receiver 600 as calculated by the possible location estimator 632 and computes the location of client-receiver 600, for example using an intersection of the groups of possible locations. Upon completing a location calculation, TDOA location calculator 634 stores the output for immediate use, for example, by a location-based service application running on client-receiver 600.
Alternatively or additionally, TDOA location calculator 634 uses clock 608 to attach a timestamp and stores the location in client-receiver database 614, for use by location- dependent applications, such as an application showing the client-receiver 600 path superimposed on a map.
In some embodiments, client-receiver 600 includes a velocity calculating process 636 configured to calculate the velocity of client-receiver 600 relative to a sound-source using Doppler shift of a received sound-signal as follows: f = fO *(vs + vr) / vs , where vr is the relative velocity, f is the received frequency and fO is the base-frequency of the sound-signal. Since f is measurable by sound-signal sensor 612 and fO can be obtained as part of the information obtained from the beacon frame or from client-receiver database 614, calculating vr is simple. The determined location of the signal sound sensor 602 of client-receiver 600 is optionally reported to the user of client-receiver 600, for example on display screen 640, or to some external location, e.g., using a Wi-Fi session, Bluetooth® or cellular telephony.
In some embodiments, client-receiver 600 includes a transmitter 642, configured to transmit time stamp information relating to receipt of sound-signals, or the determined location, to a remote server. In some such embodiments, some or all of the calculations, such as time of flight, distance, and/or location calculations, are carried out by the remote server.
In some embodiments, in which client-receiver 600 receives a sound-signal schedule for one or more sound-sources, such as by extracting a sound-signal schedule from data transmitted in the sound-signal or by such information being included in database 614, client- receiver 600 calculates a reception schedule of times of expected sound-signal reception, where each entry in the schedule may include any or all of the start time of the sound-signal, the base frequency, the duration of the sound-signal and the coordinates of the sound-source that generates the sound-signal, depending on information available to sound server 600. The start time of a given discrete sound-signal in the reception schedule is calculated relative to internal clock 608 of client-receiver 600 with reference to the start times listed in the sound- signal schedule.
In some such embodiments, the sound schedule references a GNSS clock, and the reception schedule is calculated by client-receiver 600 relative to the GNSS clock.
In parallel, client-receiver 600 monitors sound-signal sensor 602 with reference to the reception schedule. Specifically, sound-signal sensor 602 is monitored at expected times for sound-signals that appears in the reception schedule. The identity of which sound-source generated a received sound-signal is determined with reference to reception time, frequency (e.g., base frequency±30Hz), modulation, and duration (e.g., expected duration ±10%), as described hereinabove.
In some embodiments, the calculated location of client-receiver 600 is within 50 cm of the actual location of client-receiver 600. In some embodiments, the calculated location is within 30, 10, or even 5 cm of the actual location of client-receiver 600.
Reference is now made to Figure 7, which is a schematic depiction of an embodiment of a method for determining the location of a receiver without fingerprinting according to the teachings herein, and to Figures 8 A and 8B, which, when taken together, are a flowchart of the embodiment of Figure 7.
As seen in Figure 3, a user 700 holding a client-receiver 702, similar to client-receiver 600 of Figure 6, is located in a room 704, such as a conference hall or exhibit room. In some embodiments, the size of the specified area in which the object is located, which in the illustrated embodiment is room 704, is between 1 m2 to 10000 m2.
It is appreciated that a client-receiver 702 may be mounted onto any object for which location determination is desired. In some embodiments, the size of the object for which location is determined is in the order of 1 cm - 200 cm.
In some embodiments, the object, here shown as user 700, moves within the specified area with a velocity of up to about 10 km/h (2.8 m/sec).
Also located in room 704 is a plurality of sound-sources 706, similar to sound-sources 510 described hereinabove in reference to Figure 5. Typically, sound-sources 706 are synchronized with one another, for example by receipt of a synchronizing signal. The synchronizing signal is typically transmitted in a synchronizing rate, as seen at step 802 of Figure 8. In some embodiments, the synchronizing signal is also received by client-receiver 702, at step 804.
In some embodiments, the synchronizing signal is a sound-signal transmitted from one of sound-sources 706a. It is appreciated that in such embodiments, sound-sources 706 would not transmit sound-signals simultaneously, due to the difference in times that the synchronizing sound-signal is received by each of the sound-sources, which is dependent on the distance of each sound-source from synchronizing sound-source 706a. That said, for a specific sound-source 706, each synchronizing signal from sound-source 706a would arrive at the same delay from transmission time of the synchronizing signal, which may be calculated based on the distance between the specific sound-source 706 and synchronizing sound-source 706a.
In some embodiments, the synchronizing signal comprises a change of phase in the electrical current supplying power to sound-sources 706. In some embodiments, the synchronizing signal comprises a signal transmitted as a 3G or 4G telephony system beacon. It is appreciated that in some such embodiments, all sound-sources 706 would receive the synchronizing signal instantaneously and concurrently, due to the fact that radio frequency transmissions travel substantially at the speed of light, 10 meters in 33 nanoseconds.
In some embodiments, information necessary and/or useful for implementing the teachings herein is added to the transmitted synchronizing signal, for example as described hereinabove with reference to Figure 5. The information included in the synchronizing signal, for implementing the teachings herein, may include one or more of the following:
the physical coordinates, typically including height, of sound-sources 706, and more specifically, the physical coordinates of the speaker of each such sound-source, the base-frequency of a sound-signal transmitted by each of sound-sources 706 the duration of a sound-signal transmitted by each of sound-sources 706,
the modulation of a sound-signal transmitted by each of sound-sources 706, and a sound- signal schedule for sound-signals transmitted by each of sound-sources 706. In some embodiments, the information listed above is obtained by client-receiver 702 other than through the synchronizing signal, for example by accessing an appropriate database for retrieval of the information upon entering room 704, or by accessing information transmitted in each sound-signal as described hereinabove with reference to Figure 5.
In some embodiments, the location information for sound-sources 706 comprises absolute location information, and in other embodiments the location information comprises relative location information. For example, the location of a sound-source 706 may be indicated relative to a predetermined point in room 704, e.g. a door.
In some embodiments, the sound-signal schedule is relative to a local clock, e.g. a clock of one or more of sound- sources 706. In some embodiments, the synchronization information is relative to an external clock, e.g., UTC (coordinated universal time), TAI (International Atomic Time), PTP according to the IEEE 1588 standard (accuracy of better than 1 microsecond), or a GNSS clock, in outdoors-embodiments received from one or more satellites, or a reference clock (e.g., atomic clock) received, for example, through a Wi-Fi protocol or a telephony protocol (GPRS, 2G, 3G, 4G).
It is important to note that the greater the accuracy of synchronization, the more accurately the distance between a client-receiver and sound-source can be calculated. Similarly, the more accurately the start-time is defined (that is to say, the closer the sound- source generates the signal to the scheduled start-time) the more accurately the distance between a client-receiver and sound-source can be calculated. For example, to achieve a distance accuracy of ~1 cm, it is necessary that the synchronization be ~30 microseconds.
As discussed hereinabove with reference to Figure 5, upon receipt of a synchronizing signal, each of sound-sources 706 waits a predetermined delay duration, and then transmits a sound-signal 712, at step 806. As discussed hereinabove, the delay duration may be unique to each sound-source 706, or may be common to two or more sound-sources, and may be of any duration, including duration zero. As discussed hereinabove, the sound-signal may be a discrete sound-signal, being transmitted continuously for a predetermined duration, or may be a modulated sound-signal such as sound-signal 520 of Figure 5, configured to include data for transmission to the client-receiver 702. As described hereinabove with reference to Figure 6, at step 808, client-receiver 702 receives sound-signals 712 transmitted by some or all of sound-sources 706, and time-stamps the time at which the sound-signals were received at step 810. In the illustrated embodiment, client-receiver 702 receives sound-signals transmitted by sound-sources 706a, 706b, and 706c.
In some embodiments, following receipt of a specific sound-signal 712, client- receiver 702 extracts data encoded in the final portion of the signal and interprets such data at step 812, as described hereinabove with reference to Figure 6. In some embodiments, in which a handle to the data, such as a URL, is encoded in sound-signal 712, client-receiver 702 accesses the handle to obtain the data stored therein. In some embodiments, client- receiver 702 stores the data gleaned from signal 712, at step 814.
As discussed hereinabove with reference to Figures 1 and 5, each sound-signal 712 transmitted by each of the sound-sources 706 has one or more unique characteristics which enable client-receiver 702, upon receipt of a specific sound-signal 712 and, in some cases, access to additional data, to identify which of the sound-sources 706 transmitted the received signal, at step 816. The identification may be based on the duration of the sound-signal, the modulation of the sound-signal, the base frequency of the sound-signal, data encoded in the sound-signal as described hereinabove with reference to Figure 5, or combinations thereof.
In some embodiments, the additional data indicating the association between one or more signal characteristics and the sound-source that transmits signals having those characteristics is obtained from a pre-populated dataset included in client-receiver 702.
In some embodiments, the additional data indicating the association between one or more signal characteristics and the sound-source that transmits signals having those characteristics is embedded in the received sound-signal, and is retrieved therefrom as described hereinabove.
In some embodiments, the additional data indicating the association between one or more signal characteristics and the sound-source that transmits signals having those characteristics is obtained from a database at a remote location from the client-receiver 702, by client-receiver 702 communicating with a remote server housing the database using any suitable communication method such as a Wi-Fi protocol or a telephony protocol (GPRS, 2G, 3G, 4G).
In some embodiments, as discussed hereinabove with reference to Figure 6, once client-receiver 702 identifies a sound-source 706 from which each received sound-signal 712 was transmitted, client-receiver 702 accesses additional data regarding that sound-source 706, at step 818. The additional information typically includes the coordinates of sound- source 706 and in some embodiments also includes the signal transmission schedule for the sound- source 706. As mentioned hereinabove, the additional data may be obtained from a pre- populated database included in client-receiver 702, from the signal, or from a remote database.
Subsequently, in embodiments in which the time of signal transmission is known, as seen at step 820, the time of flight of each sound-signal received by client-receiver 702 is computed at step 822. Specifically, in such embodiments, the time of transmission is known ( ransmit), either directly, e.g. by being included in a transmission schedule, or indirectly, e.g. from a known transmission time of a synchronizing signal and a known delay duration between sound-source receipt of the synchronizing and transmission of the sound-signal. Since the time at which the sound-signal was received (Treceive), is also known from the time- stamping described hereinabove, the time of flight (ToF) of the sound-signal is given by the formula:
ToF = T receive Transmit ·
Since the frequency of the sound-signal and the speed of sound are known, once the time of flight of a given sound-signal is known, the distance between the sound-source 706 from which the sound-signal was transmitted and client-receiver 702 is calculated at step 824 using the formula dt*vs, where dt is the time of flight, and vs is the speed of sound. In some embodiments, the determination of distance between a sound-source and a client-receiver is recurrent, e.g., in some embodiments at a rate of 10 Hz to 0.1 Hz.
In embodiments including at least two sound-sources, such as the illustrated embodiment, the distances to the at least two sound-sources are determined in the same way. At step 826 the location of the client-receiver is determined from the at least two (preferably at least three) determined distances using trilateration, and in some embodiments, taken together with an available known location of the client-receivers and/or an available map. In some embodiments, the location is reported. Methods for implementing trilateration are well known, see for example, Manolakis, D.E. IEEE Trans Aerospace Elec Sys 1996, 32(4), 1239 or "Understanding GPS: Principles and Applications, Kaplan E and Hegraty C (editors) 2006 Artech House Inc. (ISBN 1-58053-894-0)
Alternately, in embodiments in which the time of signal transmission is unknown, it is impossible to compute the time of flight of a sound-signal. In these situations, client-receiver 702 computes the time difference of arrival (TDOA) for signals transmitted from different sound-sources 706 at step 828. Specifically, in such embodiments, sound-sources 706 are synchronized and their positions are known, such that the TDOA computation reflects the placement of client- receiver 702 relative to a pair of sound-sources 706, and thus defines a possible group of locations - a group of locations where client-receiver 702 may be placed. This possible group of locations is calculated by client-receiver 702 at step 830. Receipt of sound-signals from three different sound-sources 706 leads to the creation of three groups of locations as described, and the intersection of these groups of locations provides an accurate computation of client-receiver 702, and is computed by client-receiver 702 at step 832.
Typically, the speed of sound for distance and TDOA calculations is taken at some standard value. In some embodiments, the speed of sound in the area is monitored and used for calculations. In some embodiments, factors such as ambient temperature, pressure and altitude are measured and the speed of sound for distance calculations is corrected accordingly.
The distance or TDOA values, taken together with knowledge of the location (physical coordinates) of the sound-sources 706, allows the location of client-receiver 702 to be accurately determined, in some embodiments, within 10 cm, within 5 cm and even within 1 cm.
In some embodiments, the time of flight calculations, TDOA calculations, distance calculations, possible group of locations calculations, and location calculation are all carried out at client-receiver 702.
In some embodiments, client-receiver 702 transmits information regarding the received sound-signals, such as time stamp of receipt of the sound-signals, and duration, modulation, and frequencies of the sound-signals, to a remote server, for example using a Wi- Fi communication protocol or a telephony communication protocol. In some such embodiments, the time of flight calculations, TDOA calculations, distance calculations, possible group of locations calculations, and location calculations are all carried out at the remote server.
In some embodiments, some of the time of flight, TDOA, distance, possible group of location, and location calculations are carried out at client-receiver 702, and calculations not carried out at the client-receiver are carried out at the remote server.
It is appreciated that in some embodiments, there is only a single deployed sound- source so that the location determined in accordance with the teachings herein is a range from the sound-source. Such embodiments are useful, for example, for determining location in a substantially linear area (e.g., buildings with hallways or well-defined passageways, in tunnels). Such embodiments are also useful, for determining proximity location, for example, in the field of livestock control where the client-receivers are secured to livestock confined in an area in some way (e.g., by the presence of a fence) and the location as determined in accordance with the teachings herein primarily to ensure that the client-receivers do not leave (or are taken) from the area.
As discussed hereinabove with reference to Figure 6, in some embodiments, the calculated position may be stored in client-receiver 702 for future use, as seen at step 834.
In some embodiments, at step 836 the calculated location is displayed to user 700 on a display, such as screen 714 of client-receiver 702, and may be displayed as overlayed on a map for user 700 to more easily identify his location.
In some embodiments, at step 838 the calculated location is transmitted to a remote location, such as a server. For example, in an embodiment in which user 700 is located in a supermarket, the calculated location may be transmitted to the supermarket management for use in their advertising and decisions regarding placement of products.
In some embodiments, the location of client-receiver 702 is repeatedly calculated and updated, for example at a rate of 1 Hz. Depending on the embodiments, the computation may be repeated or updated at any suitable rate, slower or faster than 1 Hz, for example 2 Hz - 0.1 Hz.
It is appreciated that in some embodiments, some or all of sound-sources 706 are mobile, for example, are fixed to motor vehicles or other movable objects, and the exact area in which the location of a client-receiver is determined, is defined ad hoc. Such embodiments are useful, for example, in emergency and civil defense implementations. For example, sound-sources 706 are mounted on fire-engines, ambulances, police cars and other official vehicles, client-receivers such as 702 are carried by rescue personnel, and the teachings herein are used to monitor the position of the rescue personnel.
Though described hereinabove with respect to TOF and TDOA computations, it is appreciated that the location of client-receiver 702 may be computed using other calculation systems, for example RMS (Root Mean Square) EKF (Extended Kalman Filter) calculations, and numerical methods (e.g., using a binary search over the radius of the closest sound- source, using a gradient descent (steepest descent) in order to move a starting point to the location which is close-enough to the real location, using a particle filter.
Typically, the speed of sound for distance calculations is taken at some standard value. In some embodiments, the speed of sound in the venue is monitored and used for calculations. In some embodiments, factors such as ambient temperature, pressure and altitude are measured and the speed of sound for distance calculations is corrected accordingly.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination or as suitable in any other described embodiment of the invention. Certain features described in the context of various embodiments are not to be considered essential features of those embodiments, unless the embodiment is inoperative without those elements.
Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the scope of the appended claims.
Citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the invention.
Section headings are used herein to ease understanding of the specification and should not be construed as necessarily limiting.

Claims

CLAIMS:
1. A method for mapping a specified area, comprising:
from at least one sound-source, each said sound-source fixedly positionable in a specified area, transmitting at least one discrete sound-signal having a base frequency; at each calibration position of a plurality of calibration positions in said specified area:
using a calibration-receiver located at said calibration position, receiving at least one of the discrete sound-signals transmitted by at least one of said at least one sound-source;
for each sound-source of said at least one sound-source from which at least one discrete sound-signal was received by said calibration-receiver, computing at least one calibration parameter value of at least one parameter for at least one said discrete sound-signals received from said sound-source; and in a calibration database, storing a calibration profile for said calibration position, said calibration profile being based on said computed calibration parameter values,
wherein said calibration database characterizes said receipt of said at least one discrete sound-signal from said at least one sound-source at each of said plurality of calibration positions, thereby mapping said specified area.
2. A method for determining the location of a client-receiver in a specified area, having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, comprising:
obtaining a map of said specified area by carrying out the method of claim 1 ;
at a position in said specified area:
using a client-receiver located at said position, receiving at least one discrete sound-signal transmitted by said at least one sound-source;
for each sound-source of said at least one sound-source from which at least one discrete sound-signal was received by said client-receiver, computing at least one client parameter value of said at least one parameter for at least one said discrete sound-signal received from said sound-source;
creating a client profile for said position based on said computed client parameter values; evaluating similarity between said client profile and at least one calibration profile in said calibration database; and
based on said evaluating and on an identity of at least one said calibration position corresponding to said at least one calibration profile, approximating an identity of said position of said client-receiver.
3. The method of any of the preceding claims, wherein said transmitting comprises receiving a synchronizing signal, and, following said receipt of said synchronizing signal, waiting a predetermined delay duration before transmitting a said at least one sound-signal.
4. The method of any of the preceding claims, wherein said at least one sound-source comprises at least two sound-sources, and wherein each sound-signal of said at least one sound-signal has a characteristic identifying from which of said at least two sound-sources said sound-signal was transmitted.
5. The method of any of the preceding claims, wherein said at least one sound-source comprises at least two sound-sources, and wherein said transmitting comprises each of said at least two sound-sources transmitting a sound-signal of said at least one sound-signal simultaneously.
6. The method of any of the preceding claims, wherein said at least one sound- source comprises at least two sound-sources, and wherein said transmitting comprises each of said at least two sound-sources transmitting a sound-signal of said at least one sound-signal at a different time according to a sound- signal transmission schedule.
7. The method of any of the preceding claims, wherein said using a calibration-receiver comprises simultaneously using at least two different calibration-receivers located at at least two different said calibration positions, and said receiving by said at least two different calibration-receivers is substantially simultaneous.
8. The method of any of the preceding claims, wherein said storing a calibration profile comprises, for each said calibration position, storing a calibration profile including a calibration parameter value related to the receipt by said calibration-receiver of a sound- signal transmitted from said at least one sound-source.
9. The method of any of the preceding claims, also comprising using said calibration- receiver, accessing a database to retrieve information relating to a specific sound-source of said at least one sound-source from which a sound-signal was received, based on at least one characteristic of said sound-signal.
10. The method of any of claims 2 to 9, also comprising using said client-receiver, accessing a database to retrieve information relating to a specific sound-source of said at least one sound-source from which a said sound-signal was received, based on at least one characteristic of said sound-signal.
11. The method of any of claims 9 to 10, wherein said information comprises at least one of physical coordinates of said specific sound-source, a base frequency of a said sound-signal transmitted by said specific sound-source, and a duration of a said sound-signal transmitted by said specific sound-source.
12. The method of any of claims 2 to 11, wherein a sound- signal transmission schedule of said at least one sound-source in said obtaining stage is identical to a sound-signal transmission schedule of said at least one sound-source in said receiving by said client- receiver.
13. The method of any of claims 2 to 12, wherein said client profile includes a client parameter value related to receipt by said client-receiver of a sound-signal transmitted from said at least one sound-source.
14. The method of any of the preceding claims, wherein said at least one sound-source comprises at least two sound-sources, and said calibration profile includes a said calibration parameter value related to receipt by said calibration-receiver of a pair of said sound-signals, one of said pair of sound-signals transmitted from each one of said pair of said at least two sound-sources.
15. The method of claim 14, wherein said at least one sound-source comprises at least two sound-sources, and said client profile includes a said client parameter value related to the receipt by said client-receiver of a pair of said sound-signals, one sound-signal of said pair of sound-signals transmitted from each one of a pair of said at least two sound-sources.
16. The method of either of claims 14 and 15, wherein said parameter comprises a difference in the time of arrival at said receiver of said pair of sound-signals transmitted by said pair of said at least two sound- sources.
17. The method of any of the preceding claims, wherein said parameter comprises a time of arrival at said receiver of a said sound-signal.
18. The method of any of the preceding claims, wherein said parameter comprises a time of flight of a said sound-signal from said at least one sound-source to said receiver.
19. The method of any of claims 2 to 18, wherein said approximating said identity of said position of said client-receiver comprises:
finding one said calibration profile in said calibration database which is most similar to said client profile; and
approximating said position of said client-receiver to be near a said calibration position corresponding to said calibration profile.
20. The method of any of claims 2 to 19, wherein said approximating said identity of said position of said client-receiver comprises:
finding a subset of said calibration profiles in said calibration database to which said client profile is most similar; and
approximating said position of said client-receiver to be a function of said calibration positions corresponding to said calibration profiles in said subset.
21. The method of any of claims 2 to 20, also comprising reporting said approximated position to a user interface of said client-receiver.
22. The method of any of claims 2 to 21, also comprising presenting said approximated position to said user on a display of said client-receiver
23. The method of any of claims 2 to 22, also comprising reporting said approximated position to a location remote from said client-receiver.
24. A device for mapping a specified area, comprising:
at least one sound-source fixedly positionable in a specified area and configured for transmitting at least one discrete sound-signal having a base frequency;
a calibration-receiver configured to be positioned at a calibration position of a plurality of calibration positions in said specified area, and to receive at least one discrete sound-signal transmitted by at least one of said at least one sound-source; a calibration parameter value computer configured, for each sound-source of said at least one sound-source from which at least discrete one sound-signal was received by said calibration-receiver, to compute at least one calibration parameter value of at least one parameter for at least one said discrete sound-signal received from said sound-source; and
a calibration database configured for storing a calibration profile for said calibration position, said calibration profile being based on said computed calibration parameter values,
wherein said calibration database characterizes said receipt of said at least one discrete sound-signal from said at least one said sound-source at each of said plurality of calibration positions, thereby mapping said specified area.
25. A device for determining the location of a client-receiver in a specified area, having at least one sound-source, configured to transmit at least one discrete sound-signal having a base frequency, fixedly positioned therein, comprising:
a map obtainer configured to obtain a map of said specified area using the device of claim 24;
a client-receiver configured to be positioned at a position in said specified area and to receive at least one discrete sound-signal transmitted by said at least one sound- source;
a client parameter value computer configured, for each sound-source of said at least one sound-source from which at least one discrete sound-signal was received by said client-receiver, to compute at least one client parameter value of said at least one parameter for at least one said discrete sound-signal received from said sound-source; a client profile creator configured to create a client profile for said position based on said computed client parameter values;
a similarity evaluator configured to evaluate similarity between said client profile and at least one calibration profile in said calibration database; and a position approximator configured to approximate an identity of said position of said client-receiver based on results of said similarity evaluator and on an identity of at least one said calibration position corresponding to said at least one calibration profile.
26. The device of any of the claims 24 and 25, wherein said at least one sound-source comprises a speaker, a processor, and a clock.
27. The device of any of claims 24 to 26, wherein at least one sound-source is configured to receive a synchronizing signal, and, following said receipt of said synchronizing signal, to wait a predetermined delay duration before transmitting a said at least one sound-signal.
28. The device of any of claims 24 to 27, wherein said at least one sound-source comprises at least two sound-sources, each configured to transmit a sound-signal having a characteristic identifying from which of said at least two sound-sources said sound-signal was transmitted.
29. The device of any of claims 24 to 28, wherein said at least one sound-source comprises at least two sound-sources configured to simultaneously transmit a said sound- signal.
30. The device of any of claims 24 to 28, wherein said at least one sound-source comprises at least two sound-sources configured to transmitting sound-signals according to a sound-signal transmission schedule.
31. The device of any of claims 24 to 30, wherein said calibration-receiver is a device comprising a microphone, a processor, and a clock.
32. The device of any of claims 24 to 31, wherein said calibration database is configured to store, for each said calibration position, storing a calibration profile including a calibration parameter value related to the receipt by said calibration-receiver of a sound-signal transmitted from said at least one sound-source.
33. The device of any of claims 24 to 32, wherein said calibration-receiver is also configured to access a database to retrieve information relating to a specific sound-source of said at least one sound-source from which a sound-signal was received, based on at least one characteristic of said sound-signal.
34. The device of any of claims 25 to 33, wherein said client-receiver is also configured to access a database to retrieve information relating to a specific sound-source of said at least one sound-source from which a said sound-signal was received, based on at least one characteristic of said sound-signal.
35. The device of any of claims 33 to 34, wherein said information comprises at least one of physical coordinates of said specific sound-source, a base frequency of a said sound-signal transmitted by said specific sound-source, and a duration of a said sound-signal transmitted by said specific sound-source.
36. The device of any of claim 25 to 35, wherein said client-receiver is a device comprising a microphone, a processor, and a clock.
37. The device of any of claims 25 to 36, wherein said client profile includes a client parameter value related to receipt by said client-receiver of a sound-signal transmitted from said at least one sound-source.
38. The device of any of claims 24 to 37, wherein said at least one sound-source comprises at least two sound-sources, and said calibration profile includes a said calibration parameter value related to receipt by said calibration-receiver of a pair of said sound-signals, one of said pair of sound-signals transmitted from each one of said pair of said at least two sound-sources.
39. The device of claim 38, wherein said at least one sound-source comprises at least two sound-sources, and said client profile includes a said client parameter value related to the receipt by said client-receiver of a pair of said sound-signals, one sound-signal of said pair of sound-signals transmitted from each one of a pair of said at least two sound-sources.
40. The device of either of claims 38 and 39, wherein said parameter comprises a difference in the time of arrival at said receiver of said pair of sound-signals transmitted by said pair of said at least two sound- sources.
41. The device of any of claims 24 to 40, wherein said parameter comprises a time of arrival at said receiver of a said sound-signal.
42. The device of any of claims 24 to 41, wherein said parameter comprises a time of flight of a said sound-signal from said at least one sound-source to said receiver.
43. The device of any of claims 25 to 42, wherein said similarity evaluator is configured to compute a metric indicating the similarity between said client profile and said at least one calibration profile in said calibration database.
44. The device of any of claims 25 to 43, wherein said approximator is configured to find one said calibration profile in said calibration database which is most similar to said client profile and to approximate said position of said client-receiver to be at said calibration position corresponding to said calibration profile.
45. The device of any of claims 25 to 43, wherein said approximator is configured to find a subset of said calibration profiles in said calibration database to which said client profile is most similar and to approximate said position of said client-receiver to be a function of said calibration positions corresponding to said calibration profiles in said subset.
46. The device of any of claims 25 to 45, wherein said client-receiver comprises a display and said approximated position is presented to a user of said client-receiver on said display.
47. A method for determining the location of a client-receiver in a specified area, comprising:
from each of at least two sound-sources located in a specified area, at a predetermined time, transmitting a sound-signal having a base frequency;
at a client-receiver located in said specified area, receiving at least two of said sound- signals transmitted by said sound-sources; accessing information relating to said predetermined time of transmission of said sound-signals;
computing a time of flight (TOF) of at least some of said received sound-signal based on time receipt of said received sound-signals and on said information relating to said predetermined time of transmission of said received sound-signals; and
using said computed time of flight and respective locations in said specified area of sound-sources of said at least two sound-sources for which said time of flight is computed, determining a location of said client-receiver in said specified area.
48. The method of claim 47, wherein:
said computing a time of flight (TOF) comprises computing a time of flight for a specific received sound-signal transmitted by a specific sound-source of said at least one sound-source; and
said using said computed time of flight comprises using said time of flight computed for said specific sound-signal, a said respective location in said specified area for said specific sound-source, and a speed of sound, to compute a distance between said client-receiver and said specific sound-source.
49. The method of claim 48, wherein said receiving comprises receiving sound-signals from at least two of said at least two sound-sources, and said determining said location comprises carrying out a mathematical function on said computed distances to said at least two sound-sources from which said sound-signals were received.
50. A method for determining the location of a receiver in a specified area, comprising: from each of at least two sound-sources located in a specified area, transmitting a sound-signal having a base frequency;
at a client-receiver located in said specified area, receiving at least two of said sound- signals transmitted by at least two different ones of said at least two sound-sources; computing a time difference of arrival (TDOA) of at least some pairs of said received sound-signals, sound-signals in each said pair received from different ones of said at least two sound-sources, based on times of receipt of said received sound-signals; and using said computed time differences of arrival (TDOA) and respective locations in said specified area of said sound-sources from which said at least some pairs of sound-signals were received, determining a location of said client-receiver in said specified area.
51. The method of claim 50, wherein said using said computed time difference of arrival comprises:
for each said pair of received sounds signals for which a said time difference of arrival is computed, based on said respective locations in said specified area of said ones of said at least two sound-sources from which said pair of sound-signals was received and on a speed of sound, identifying a group of possible locations in said specified area, such that if said client-receiver were located at one of said group of locations, said time difference of arrival would be satisfied; and
using a function of said groups of possible locations to determine said location of said client-receiver.
52. The method of any of claims 47 to 51, also comprising identifying, for each sound- signal of said received sound-signals, from which one of said at least two sound-sources said sound-signal is transmitted, based on at least one signal characteristic.
53. The method of claim 52, wherein said identifying comprises accessing additional data indicating an association between a said signal characteristic and one of said at least two sound-sources that transmits signals having said signal characteristic.
54. The method of any of claims 47 to 53, wherein said transmitting said sound-signal comprises:
at said at least two sound-sources, receiving a synchronizing signal at a synchronizing rate; and
following receipt of said synchronizing signal, at each of said at least two sound- sources, waiting a predetermined duration prior to transmitting said sound-signal.
55. The method of claim 54, also comprising receiving said synchronizing signal at said client-receiver.
56. The method of any of claims 47 to 55, also comprising in at least one said sound- signal, also transmitting information relating to at least one of said at least two sound-sources.
57. The method of claim 56, wherein said transmitting information comprises transmitting at least one of:
location information for said at least one of said at least two sound-sources;
a sound-signal schedule for said at least one of said at least two sound-sources;
a handle enabling said client-receiver to access information relating to said at least one of said at least two sound-sources;
data corresponding to location-sensitive information;
a start time of said one of said at least two sound-signals;
data encoding a text message; and
data encoding a voice message.
58. The method of claim 57, wherein said sound-signal schedule comprises information relating to at least one of a sound-signal transmission time, a sound-signal duration, a sound- signal frequency, and a sound-signal modulation, for at least one sound-signal transmitted by said at least one of said at least two sound- sources.
59. The method of claim 57, wherein said location information comprises absolute location information for said at least one of said at least two sound-sources.
60. The method of claim 57, wherein said location information comprises location information for said at least one of said at least two sound-sources relative to a known location in said specified area.
61. The method of claim 57, wherein said handle comprises at least one of a URL, a barcode, and a quick response (QR) code.
62. The method of claim 57, wherein said data corresponding to location-sensitive information comprises at least one of information about sales and special products and an event schedule.
63. The method of any of claims 56 to 62, wherein said transmitting information is at a transmission rate in the range of 1 and 20 kbps.
64. The method of any of claims 47 to 63, also comprising storing said determined location in said client-receiver.
65. The method of any of claims 47 to 64, also comprising displaying said determined location to a user of said client-receiver.
66. The method of any of claims 47 to 65, also comprising, from a transmitter included in said client-receiver, transmitting said determined location to a location remote from said client-receiver.
67. The method of any of claims 47 to 66, wherein said determining said location comprises repeatedly determining said location at a determining rate.
68. A device for determining the location of a client-receiver in a specified area, comprising:
at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency at a predetermined time;
a client-receiver located in said specified area, configured to receive at least two of said sound-signals transmitted by said sound-sources;
an information obtainer functionally associated with said client-receiver, configured to access information relating to said predetermined time of transmission of said sound-signals;
a time of flight (TOF) computer functionally associated with said information obtainer, configured to compute a time of flight of at least some of said received sound-signal based on time receipt of said received sound-signals and on said information obtained by said information obtainer; and
a distance location calculator functionally associated with said TOF computer, configured to use said computed time of flight (TOF) and respective locations in said specified area of sound-sources of said at least two sound-sources for which said time of flight is computed to determine a location of said client-receiver in said specified area.
69. The device of claim 68, wherein:
said TOF computer is configured to compute a time of flight for a specific received sound-signal transmitted by a specific sound-source of said at least one sound-source; and said distance location calculator is configured to use said time of flight computed for said specific sound-signal, a said respective location in said specified area for said specific sound-source, and a speed of sound, to compute a distance between said client-receiver and said specific sound-source.
70. The device of claim 69, wherein said client-receiver is configured to receive sound- signals from at least two of said at least two sound-sources, and said location calculator is configured to carry out a mathematical function on said computed distances to said at least two sound-sources from which said sound-signals were received.
71. A device for determining the location of a receiver in a specified area, comprising: at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency;
a client-receiver located in said specified area, configured to receive at least two of said sound-signals transmitted by at least two different ones of said at least two sound-sources;
a time difference of arrival (TDOA) computer functionally associated with said client- receiver, configured to compute a time difference of arrival of at least some pairs of said received sound-signals, sound-signals in each said pair received from different ones of said at least two sound-sources, based on times of receipt of said received sound-signals; and
a time difference of arrival (TDOA) location calculator functionally associated with said TDOA computer, configured to use said computed time differences of arrival and respective locations in said specified area of said sound-sources from which said at least some pairs of sound-signals were received to determine a location of said client- receiver in said specified area.
72. The device of claim 71, wherein said TDOA location calculator comprises:
a group identifier configured, for each said pair of received sounds signals for which a said time difference of arrival is computed, based on said respective locations in said specified area of said ones of said at least two sound-sources from which said pair of sound-signals was received and on a speed of sound, to identify a group of possible locations in said specified area, such that if said client-receiver were located at one of said group of locations, said time difference of arrival would be satisfied; and a location determiner configured to use a function of said groups of possible locations to determine said location of said client-receiver.
73. The device of any of claims 68 to 72, also comprising a sound source identifier, configured, for each sound-signal of said received sound-signals, to identify from which one of said at least two sound-sources said sound-signal is transmitted, based on at least one signal characteristic.
74. The device of claim 73, wherein said sound source identifier is configured to access additional data indicating an association between a said signal characteristic and one of said at least two sound-sources that transmits signals having said signal characteristic.
75. The device of any of claims 68 to 74, wherein said at least two sound sources are configured to receiving a synchronizing signal at a synchronizing rate, and, following receipt of said synchronizing signal, to wait a predetermined duration prior to transmitting said sound-signal.
76. The device of claim 75, wherein said client-receiver is also configured to receive said synchronizing signal.
77. The device of any of claims 68 to 76, wherein at least one of said at least two sound sources is also configured to transmit information relating to at least one of said at least two sound-sources in at least one said sound-signal.
78. The device of claim 77, wherein said information comprises at least one of:
location information for said at least one of said at least two sound-sources;
a sound-signal schedule for said at least one of said at least two sound-sources;
a handle enabling said client-receiver to access information relating to said at least one of said at least two sound-sources;
data corresponding to location-sensitive information;
a start time of said one of said at least two sound-signals;
data encoding a text message; and
data encoding a voice message.
79. The device of claim 78, wherein said sound-signal schedule comprises information relating to at least one of a sound-signal transmission time, a sound-signal duration, a sound- signal frequency, and a sound-signal modulation, for at least one sound-signal transmitted by said at least one of said at least two sound- sources.
80. The device of claim 78, wherein said location information comprises absolute location information for said at least one of said at least two sound- sources.
81. The device of claim 78, wherein said location information comprises location information for said at least one of said at least two sound-sources relative to a known location in said specified area.
82. The device of claim 78, wherein said handle comprises at least one of a URL, a barcode, and a quick response (QR) code.
83. The device of claim 78, wherein said data corresponding to location-sensitive information comprises at least one of information about sales and special products and an event schedule.
84. The device of any of claims 78 to 83, wherein said at least one of said at least two sound sources is also configured to transmit said information at a transmission rate in the range of 1 and 20 kbps.
85. The device of any of claims 68 to 84, wherein at least one of said at least two sound- sources is a device comprising a speaker, a processor and a clock.
86. The device of any of claims 68 to 85, wherein said client-receiver is a device comprising a microphone, a processor, and a clock.
87. The device of any of claims 68 to 86, wherein said client-receiver is also configured to store said determined location.
88. The device of any of claims 68 to 87, wherein said client-receiver comprises a display, configured to display said determined location to a user of said client-receiver.
89. The device of any of claims 68 to 88, wherein said client-receiver comprises a transmitter configured to transmit said determined location to a location remote from said client-receiver.
90. A device for providing signals useful in determining the location of a client-receiver in a specified area, comprising:
at least two sound-sources located in a specified area, each configured to transmit a sound-signal having a base frequency.
91. The device of claim 90, wherein said at least two sound-sources are configured to transmit said sound- signals at a predetermined time.
92. The device of any of claims 90 to 91, wherein said at least two sound sources are configured to receiving a synchronizing signal at a synchronizing rate, and, following receipt of said synchronizing signal, to wait a predetermined duration prior to transmitting said sound-signal.
93. The device of any of claims 90 to 92, wherein at least one of said at least two sound sources is also configured to transmit information relating to at least one of said at least two sound-sources in at least one said sound-signal.
94. The device of claim 93, wherein said information comprises at least one of:
location information for said at least one of said at least two sound-sources;
a sound-signal schedule for said at least one of said at least two sound-sources;
a handle enabling said client-receiver to access information relating to said at least one of said at least two sound-sources;
data corresponding to location-sensitive information;
a start time of said one of said at least two sound-signals;
data encoding a text message; and
data encoding a voice message.
95. The device of claim 93, wherein said sound- signal schedule comprises information relating to at least one of a sound-signal transmission time, a sound-signal duration, a sound- signal frequency, and a sound-signal modulation, for at least one sound-signal transmitted by said at least one of said at least two sound- sources.
96. The device of claim 93, wherein said location information comprises absolute location information for said at least one of said at least two sound- sources.
97. The device of claim 93, wherein said location information comprises location information for said at least one of said at least two sound-sources relative to a known location in said specified area.
98. The device of claim 93, wherein said handle comprises at least one of a URL, a barcode, and a quick response (QR) code.
99. The device of claim 93, wherein said data corresponding to location-sensitive information comprises at least one of information about sales and special products and an event schedule.
100. The device of any of claims 93 to 99, wherein said at least one of said at least two sound sources is also configured to transmit said information at a transmission rate in the range of 1 and 20 kbps.
101. The device of any of claims 90 to 100, wherein at least one of said at least two sound- sources is a device comprising a speaker, a processor and a clock.
102. A device devices for determining the location of a client-receiver in a specified area, comprising:
a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in said specified area, each of said at least two sound signals being transmitted at a predetermined time by said at least two sound-sources;
an information obtainer functionally associated with said client-receiver, configured to access information relating to said predetermined time of transmission of said sound-signals;
a time of flight (TOF) computer functionally associated with said information obtainer, configured to compute a time of flight of at least some of said received sound-signal based on time receipt of said received sound-signals and on said information obtained by said information obtainer; and a distance location calculator functionally associated with said time of flight computer, configured to use said computed time of flight and respective locations in said specified area of sound-sources of said at least two sound-sources for which said time of flight is computed to determine a location of said receiver in said specified area.
103. The device of claim 102, wherein:
said TOF computer is configured to compute a time of flight for a specific received sound-signal transmitted by a specific sound-source of said at least one sound-source; and
said distance location calculator is configured to use said time of flight computed for said specific sound-signal, a said respective location in said specified area for said specific sound-source, and a speed of sound, to compute a distance between said client-receiver and said specific sound-source.
104. The device of claim 103, wherein said client-receiver is configured to receive sound- signals from at least two of said at least two sound-sources, and said location calculator is configured to carry out a mathematical function on said computed distances to said at least two sound-sources from which said sound-signals were received.
105. A device for determining the location of a client-receiver in a specified area, comprising:
a client-receiver located in a specified area configured to receive at least two sound signals transmitted by at least two sound-sources located in said specified area, each of said at least two sound signals being transmitted by said at least two sound-sources; a time difference of arrival (TDOA) computer functionally associated with said client- receiver, configured to compute a time difference of arrival of at least some pairs of said received sound-signals, sound-signals in each said pair received from different ones of said at least two sound-sources, based on times of receipt of said received sound-signals; and
a time difference of arrival (TDOA) location calculator functionally associated with said TDOA computer, configured to use said computed time differences of arrival and respective locations in said specified area of said sound-sources from which said at least some pairs of sound-signals were received to determine a location of said client- receiver in said specified area.
106. The device of claim 105, wherein said TDOA location calculator comprises:
a group identifier configured, for each said pair of received sounds signals for which a said time difference of arrival is computed, based on said respective locations in said specified area of said ones of said at least two sound-sources from which said pair of sound-signals was received and on a speed of sound, to identify a group of possible locations in said specified area, such that if said client-receiver were located at one of said group of locations, said time difference of arrival would be satisfied; and a location determiner configured to use a function of said groups of possible locations to determine said location of said client-receiver.
107. The device of any of claims 102 to 106, also comprising a sound source identifier, configured, for each sound-signal of said received sound-signals, to identify from which one of said at least two sound-sources said sound-signal is transmitted, based on at least one signal characteristic.
108. The device of claim 107, wherein said sound source identifier is configured to access additional data indicating an association between a said signal characteristic and one of said at least two sound-sources that transmits signals having said signal characteristic.
109. The device of any of claims 102 to 108, wherein at least one said sound-signal has encoded therein information relating to at least one of said at least two sound-sources in.
110. The device of claim 109, wherein said information comprises at least one of:
location information for said at least one of said at least two sound-sources;
a sound-signal schedule for said at least one of said at least two sound-sources;
a handle enabling said client-receiver to access information relating to said at least one of said at least two sound-sources;
data corresponding to location-sensitive information;
a start time of said one of said at least two sound-signals;
data encoding a text message; and
data encoding a voice message.
111. The device of claim 110, wherein said sound-signal schedule comprises information relating to at least one of a sound-signal transmission time, a sound-signal duration, a sound- signal frequency, and a sound-signal modulation, for at least one sound-signal transmitted by said at least one of said at least two sound- sources.
112. The device of claim 110, wherein said location information comprises absolute location information for said at least one of said at least two sound-sources.
113. The device of claim 110, wherein said location information comprises location information for said at least one of said at least two sound-sources relative to a known location in said specified area.
114. The device of claim 110, wherein said handle comprises at least one of a URL, a barcode, and a quick response (QR) code.
115. The device of claim 110, wherein said data corresponding to location-sensitive information comprises at least one of information about sales and special products and an event schedule.
116. The device of any of claims 110 to 115, wherein said at least one of said at least two sound sources is also configured to transmit said information at a transmission rate in the range of 1 and 20 kbps.
117. The device of any of claims 102 to 116, wherein said client-receiver is a device comprising a microphone, a processor, and a clock.
118. The device of any of claims 102 to 117, wherein said client-receiver is also configured to store said determined location.
119. The device of any of claims 102 to 118, wherein said client-receiver comprises a display, configured to display said determined location to a user of said client-receiver.
120. The device of any of claims 102 to 119, wherein said client-receiver comprises a transmitter configured to transmit said determined location to a location remote from said client-receiver.
PCT/IB2012/055871 2011-10-26 2012-10-25 Method and device for accurate location determination in a specified area WO2013061268A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161551484P 2011-10-26 2011-10-26
US61/551,484 2011-10-26
US201261699883P 2012-09-12 2012-09-12
US61/699,883 2012-09-12

Publications (2)

Publication Number Publication Date
WO2013061268A2 true WO2013061268A2 (en) 2013-05-02
WO2013061268A3 WO2013061268A3 (en) 2013-08-01

Family

ID=48168698

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2012/055871 WO2013061268A2 (en) 2011-10-26 2012-10-25 Method and device for accurate location determination in a specified area

Country Status (1)

Country Link
WO (1) WO2013061268A2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243918A (en) * 2014-09-03 2014-12-24 深圳奇沃智联科技有限公司 Robot monitoring system automatically patrolling based on Bluetooth positioning
EP2821807A3 (en) * 2013-07-03 2015-06-17 Volkswagen Aktiengesellschaft Determining a position of a device associated with a vehicle
WO2015114149A1 (en) * 2014-02-03 2015-08-06 Contnet AG Position determination of a user terminal by means of sound waves
CN105452897A (en) * 2013-05-31 2016-03-30 株式会社明通易 Positioning system, positioning method, and positioning program
WO2016135631A1 (en) * 2015-02-23 2016-09-01 Universidade Do Porto Positioning system and method with steganographic encoded data streams in audible-frequency audio
CN107113767A (en) * 2015-02-11 2017-08-29 哈曼国际工业有限公司 Positioning of mobile equipment
US20180232563A1 (en) 2017-02-14 2018-08-16 Microsoft Technology Licensing, Llc Intelligent assistant
CN111226125A (en) * 2017-10-16 2020-06-02 三菱重工制冷空调系统株式会社 Position estimation device, air conditioning system, position estimation method, and program
WO2021011326A1 (en) * 2019-07-12 2021-01-21 Carrier Corporation Security system with distributed audio and video sources
US11010601B2 (en) 2017-02-14 2021-05-18 Microsoft Technology Licensing, Llc Intelligent assistant device communicating non-verbal cues
US11100384B2 (en) 2017-02-14 2021-08-24 Microsoft Technology Licensing, Llc Intelligent device user interactions
US20220082688A1 (en) * 2020-09-16 2022-03-17 Bose Corporation Methods and systems for determining position and orientation of a device using acoustic beacons

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491670A (en) * 1993-01-21 1996-02-13 Weber; T. Jerome System and method for sonic positioning
WO2008069446A1 (en) * 2006-12-08 2008-06-12 Electronics And Telecommunications Research Institute Indoor wireless positioning system and method
US20090280824A1 (en) * 2008-05-07 2009-11-12 Nokia Corporation Geo-tagging objects with wireless positioning information
US20120263020A1 (en) * 2011-04-18 2012-10-18 Microsoft Corporation Mobile Device Localization Using Audio Signals
US20130079033A1 (en) * 2011-09-23 2013-03-28 Rajarshi Gupta Position estimation via proximate fingerprints

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491670A (en) * 1993-01-21 1996-02-13 Weber; T. Jerome System and method for sonic positioning
WO2008069446A1 (en) * 2006-12-08 2008-06-12 Electronics And Telecommunications Research Institute Indoor wireless positioning system and method
US20090280824A1 (en) * 2008-05-07 2009-11-12 Nokia Corporation Geo-tagging objects with wireless positioning information
US20120263020A1 (en) * 2011-04-18 2012-10-18 Microsoft Corporation Mobile Device Localization Using Audio Signals
US20130079033A1 (en) * 2011-09-23 2013-03-28 Rajarshi Gupta Position estimation via proximate fingerprints

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2014192893A1 (en) * 2013-05-31 2017-02-23 株式会社エムティーアイ Positioning system, positioning method, and positioning program
US10605891B2 (en) 2013-05-31 2020-03-31 Mti Ltd. Positioning system, positioning method, and positioning program
CN105452897A (en) * 2013-05-31 2016-03-30 株式会社明通易 Positioning system, positioning method, and positioning program
EP3006952A1 (en) * 2013-05-31 2016-04-13 MTI Ltd. Positioning system, positioning method, and positioning program
CN105452897B (en) * 2013-05-31 2018-08-24 株式会社明通易 Positioning system, localization method and finder
EP3006952A4 (en) * 2013-05-31 2017-05-03 MTI Ltd. Positioning system, positioning method, and positioning program
EP2821807A3 (en) * 2013-07-03 2015-06-17 Volkswagen Aktiengesellschaft Determining a position of a device associated with a vehicle
WO2015114149A1 (en) * 2014-02-03 2015-08-06 Contnet AG Position determination of a user terminal by means of sound waves
CN104243918A (en) * 2014-09-03 2014-12-24 深圳奇沃智联科技有限公司 Robot monitoring system automatically patrolling based on Bluetooth positioning
CN107113767A (en) * 2015-02-11 2017-08-29 哈曼国际工业有限公司 Positioning of mobile equipment
US20180003796A1 (en) * 2015-02-11 2018-01-04 Harman Internation Industries, Incorporated Mobile device positioning
KR102299935B1 (en) * 2015-02-11 2021-09-09 하만인터내셔날인더스트리스인코포레이티드 Mobile device positioning
KR20170117037A (en) * 2015-02-11 2017-10-20 하만인터내셔날인더스트리스인코포레이티드 Mobile device location determination
EP3257304A4 (en) * 2015-02-11 2018-11-21 Harman International Industries, Incorporated Mobile device positioning
WO2016135631A1 (en) * 2015-02-23 2016-09-01 Universidade Do Porto Positioning system and method with steganographic encoded data streams in audible-frequency audio
US10496905B2 (en) 2017-02-14 2019-12-03 Microsoft Technology Licensing, Llc Intelligent assistant with intent-based information resolution
US11010601B2 (en) 2017-02-14 2021-05-18 Microsoft Technology Licensing, Llc Intelligent assistant device communicating non-verbal cues
US10467510B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Intelligent assistant
US10460215B2 (en) 2017-02-14 2019-10-29 Microsoft Technology Licensing, Llc Natural language interaction for smart assistant
US10579912B2 (en) 2017-02-14 2020-03-03 Microsoft Technology Licensing, Llc User registration for intelligent assistant computer
WO2018152013A1 (en) * 2017-02-14 2018-08-23 Microsoft Technology Licensing, Llc Position calibration for intelligent assistant computing device
US10628714B2 (en) 2017-02-14 2020-04-21 Microsoft Technology Licensing, Llc Entity-tracking computing system
US11194998B2 (en) 2017-02-14 2021-12-07 Microsoft Technology Licensing, Llc Multi-user intelligent assistance
US10817760B2 (en) 2017-02-14 2020-10-27 Microsoft Technology Licensing, Llc Associating semantic identifiers with objects
US10824921B2 (en) 2017-02-14 2020-11-03 Microsoft Technology Licensing, Llc Position calibration for intelligent assistant computing device
US20180232563A1 (en) 2017-02-14 2018-08-16 Microsoft Technology Licensing, Llc Intelligent assistant
US11100384B2 (en) 2017-02-14 2021-08-24 Microsoft Technology Licensing, Llc Intelligent device user interactions
US10467509B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
US10957311B2 (en) 2017-02-14 2021-03-23 Microsoft Technology Licensing, Llc Parsers for deriving user intents
US10984782B2 (en) 2017-02-14 2021-04-20 Microsoft Technology Licensing, Llc Intelligent digital assistant system
US11004446B2 (en) 2017-02-14 2021-05-11 Microsoft Technology Licensing, Llc Alias resolving intelligent assistant computing device
CN111226125A (en) * 2017-10-16 2020-06-02 三菱重工制冷空调系统株式会社 Position estimation device, air conditioning system, position estimation method, and program
CN111226125B (en) * 2017-10-16 2023-08-22 三菱重工制冷空调系统株式会社 Air conditioning system and air conditioning control method
WO2021011362A1 (en) * 2019-07-12 2021-01-21 Carrier Corporation Security system with distributed audio and video sources
WO2021011325A1 (en) * 2019-07-12 2021-01-21 Carrier Corporation Security system with distributed audio and video sources
WO2021011326A1 (en) * 2019-07-12 2021-01-21 Carrier Corporation Security system with distributed audio and video sources
US11158174B2 (en) 2019-07-12 2021-10-26 Carrier Corporation Security system with distributed audio and video sources
US11282352B2 (en) 2019-07-12 2022-03-22 Carrier Corporation Security system with distributed audio and video sources
US20220082688A1 (en) * 2020-09-16 2022-03-17 Bose Corporation Methods and systems for determining position and orientation of a device using acoustic beacons

Also Published As

Publication number Publication date
WO2013061268A3 (en) 2013-08-01

Similar Documents

Publication Publication Date Title
WO2013061268A2 (en) Method and device for accurate location determination in a specified area
WO2013008169A1 (en) Accurate location determination in a specified area
Namiot On indoor positioning
US9791540B2 (en) Self-organizing hybrid indoor location system
US9867016B2 (en) System and method for locating a mobile phone with moveable wireless beacons
US8867313B1 (en) Audio based localization
CN107124697B (en) A kind of indoor mobile phone positioning method based on TDOA
US9625567B2 (en) Positioning system using sound waves
US20160100289A1 (en) Location System
EP2832121B1 (en) Contextual awareness using relative positions of mobile devices
JP2020523585A (en) Transmission device for use in a location determination system
US20170070873A1 (en) E911 positioning via background signal tracking
WO2013181247A1 (en) Ultrasound-based localization of client devices with inertial navigation supplement in distributed communication systems and related devices and methods
WO2013132393A1 (en) System and method for indoor positioning using sound masking signals
US9173063B2 (en) Wireless communication locating method
EP2850451A1 (en) Handheld-device-based indoor localization system and method
US20230039932A1 (en) Likelihood-based acoustic positioning
KR20230107218A (en) Distance measuring method, device, system, smart facility and computer readable storage medium
US20220308158A1 (en) Frequency-shift determination
Dmitry On indoor positioning
Oh A Study on the Relative Positioning Technology based on Range Difference and Root Selection
CA3194221A1 (en) System, method and computer program product facilitating efficiency of a group whose members are on the move
IL279076A (en) System, method and computer program product facilitating efficiency of a group whose members are on the move
GB2448715A (en) Wireless asset tracking system
Moutinho et al. Indoor Sound Based Localization: Research Questions and First Results

Legal Events

Date Code Title Description
122 Ep: pct application non-entry in european phase

Ref document number: 12844308

Country of ref document: EP

Kind code of ref document: A2