WO2007023446A1 - Determining position of a portable device - Google Patents

Determining position of a portable device Download PDF

Info

Publication number
WO2007023446A1
WO2007023446A1 PCT/IB2006/052886 IB2006052886W WO2007023446A1 WO 2007023446 A1 WO2007023446 A1 WO 2007023446A1 IB 2006052886 W IB2006052886 W IB 2006052886W WO 2007023446 A1 WO2007023446 A1 WO 2007023446A1
Authority
WO
WIPO (PCT)
Prior art keywords
portable device
transmitter
time
transmitter stations
signal
Prior art date
Application number
PCT/IB2006/052886
Other languages
French (fr)
Inventor
Graham G. Thomason
Original Assignee
Koninklijke Philips Electronics N.V.
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 Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Publication of WO2007023446A1 publication Critical patent/WO2007023446A1/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/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/0226Transmitters
    • 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/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/14Determining absolute distances from a plurality of spaced points of known location

Definitions

  • This invention relates to a method for determining the position of a portable device by a ranging technique and to apparatus for supporting the method.
  • Determining the position of a device is useful in many applications, such as navigation systems and inventory tracking. Many systems for determining the position of a device operate on the principles of ranging and triangulation.
  • the distance (range) is calculated between a device and each of a set of differently positioned transmitters. Using the calculated ranges, and the known position of the transmitters, the position of the device can be triangulated. Where a precise time of transmission is known and precise time is known at a receiver of a portable device, N ranges are needed for an N dimensional fix. Where the time at the device is not accurately known, but the clock error is the same for all ranges measured, N+1 pseudo-ranges are needed for an N- dimensional fix.
  • GPS Global Positioning System
  • a portable device receives signals from a set of orbiting satellite-based transmitters.
  • GPS requires a portable device to have a good view of a fair proportion of the sky and generally works well when a portable device is positioned outdoors but the performance deteriorates when a portable device is positioned indoors.
  • GPS can still operate when a portable device is positioned within a home or office, especially when the portable device is positioned near to windows, but deep indoors, especially in a massive edifice such as a station or shopping mall, GPS is unlikely to be effective.
  • EP 0 320 913 describes a system for locating the position of a mobile station which uses signals transmitted from radio telephone base stations.
  • EP 0 320 913 requires a fixed station to identify itself in a transmission which, in turn, requires a mobile station to demodulate the signal received from the fixed station.
  • the devices that need to determine their position are often portable devices which rely on a battery power supply. It is desirable that the position- determining function should use as little power as possible, to prolong the limited operating period of the power supply. It is also desirable that the apparatus required at a portable device is as simple as possible to minimise cost of the device.
  • the present invention seeks to provide an alternative technique for determining position of a device.
  • a first aspect of the present invention provides a method of determining the position of a portable device in a system comprising a set of transmitter stations, the set of transmitter stations being arranged to transmit at predetermined time intervals with respect to each other and to a common timing reference, the method comprising performing, at the portable device, the steps of: receiving a signal from each of a plurality of the transmitter stations; determining the arrival time of each signal; determining the identity of each transmitter station by comparing the differences in arrival time of received signals with stored assistance information which associates time intervals between transmitted signals to identity and location of transmitter stations in the system; determining pseudo-ranges of the portable device from the transmitter stations and determining the position of the portable device using a triangulation technique which uses the locations of the transmitter stations and the pseudo-ranges.
  • This method has an advantage that the portable device does not need to transmit an interrogation signal to a transmitter station.
  • the identity of a transmitter station can be determined from the time interval between received transmissions, a transmitter station does not need to encode a transmission with identity information and a portable device does not need to extract the identity information by demodulation of a carrier or other data extraction processes. This has important advantages of allowing simpler electronics, reducing power consumption at the portable devices and reducing the amount of RF traffic.
  • the predetermined time intervals are chosen such that they are readily identifiable from, and preferably significantly greater than, the expected time-of-f light times expected between any transmitter station and a portable device.
  • the time intervals between transmissions are called macroscopic intervals to contrast with the microscopic time-of-f light of a signal between a transmitter station and portable device.
  • Transmitter stations can be identified by a unique time interval between their respective transmission times or by a unique sequence of time intervals between a sub-set of a total group of transmissions.
  • the transmitter stations each transmit a pulsed signal, such as an Ultra Wideband (UWB) signal, which allow a precise point in time to be readily detected at a receiver without additional demodulation of a carrier wave.
  • the pulsed signal can comprise a single pulse or a train of pulses.
  • the receiver can use a correlation technique to detect the pulse train and this has an advantage of allowing each pulse within the pulse train to be transmitted at a lower power.
  • This system can be used indoors, where positioning systems such as GPS do not operate reliably, or outdoors and can be used as an alternative to, or addition to, existing positioning systems such as GPS.
  • the portable device does not need to maintain a clock when it is not being used as the clock is only required as a timer when it is receiving pulses. This further helps to conserve power at the portable device.
  • Another aspect of the invention provides a portable device for performing the method.
  • a further aspect of the invention provides a system for use in determining position of a portable device, the system comprising a set of transmitter stations, each of the set of transmitter stations being arranged to transmit a signal at a predetermined time interval with respect to other transmitter stations and to a common timing reference such that the time intervals can identify each of the transmitter stations.
  • the functionality described here can be implemented in software, hardware or a combination of these.
  • the invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed processing platform. Accordingly, another aspect of the invention provides a computer program product carrying instructions for implementing the method.
  • the software may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium.
  • the software may be downloaded directly to the portable device or transmitter stations in the system via a network connection.
  • Figure 1 shows a system which can be deployed to allow portable devices to determine their position
  • Figure 2 shows a sequence of transmissions by the transmitter stations of the system of Figure 1 ;
  • Figure 3 shows a portable device for use in the system of Figure 1 ;
  • Figure 4 shows a transmitter station for use in the system of Figure 1 ;
  • Figures 5 and 6 show characteristics of a pulsed transmission system
  • Figure 7 shows an internal response generated by the receiving system on reception of a transmitted pulse
  • Figure 8 shows the steps of a method of determining position performed at a portable device
  • Figure 9 shows triangulation calculations in two dimensions, where there is no clock error
  • Figure 10 shows a modified form of the portable device of Figure 3 for use in supporting an electronic compass function
  • Figure 11 shows an alternative form of pulse detector function for use in the receiver of Figure 3 which is responsive to a train of pulses
  • Figure 12 shows operation of the alternative pulse detector of Figure 11.
  • Figure 1 schematically shows a system which can be deployed to allow portable devices to determine their position.
  • the system is shown deployed within a building 10, such as a shopping mall, as this is a scenario where conventional GPS is ineffective, although the system is not restricted to indoor use and can be deployed at any location.
  • a set of fixed transmitter stations Tx1 , Tx2, Tx3, Tx4 are deployed at different geographical positions within building 10.
  • a system manager 35 manages operation of the system and includes a function 36 for distributing timing information to each transmitter station Tx1-Tx4. This ensures that each transmitter station Tx1-Tx4 has access to an accurate timing reference which allows each transmitter station Tx1-Tx4 to accurately transmit a signal at a predetermined time.
  • System manager 35 receives a clock signal from an accurate reference clock.
  • the reference clock can take the form of a stand-alone reference clock 20 or a clock signal obtained from the clock 21 of a GPS decoder 22 which receives a set of GPS signals via an antenna 23 mounted on the outside of the building 10.
  • a standard GPS system measures GPS pseudo-ranges and decodes satellite ephemerides and solves for the roof antenna position and GPS time. It is only GPS time that is required from GPS decoder 22.
  • Either source of timing information should preferably allow atomic clock accuracy, or a similar order of accuracy, and in the following description the source of timing information will be called a reference clock.
  • each transmitter station Tx1-Tx4 could have a reference clock, this is an expensive solution and it is preferable that timing information derived from a single reference clock 20 or GPS decoder 22 is distributed to the set of transmitter stations Tx1-Tx4 by timing distribution function 36 and via lines 25-28.
  • a first way of distributing timing information is to arrange for each fixed transmitter station TX1-Tx4 to receive a signal, say once per millisecond, on the exact reference clock millisecond boundary.
  • Each transmitter station Tx1- Tx4 can then use a local clock at the transmitter station to interpolate between the occasions when a signal is received from the system manager to determine the transmitter station's own transmission time.
  • the pipelines 25-28 to each transmitter station Tx1-Tx4 each induce a known propagation delay, depending on their length, which can be corrected for.
  • Timing distribution function 36 introduces a delay in the clock signal sent to each transmitter station Tx1-Tx4, with the delay varying according to the length of the line to that transmitter station.
  • a second way of distributing timing information is to arrange for a signal to be supplied to each fixed transmitter station Tx1-Tx4 in such a way that the signal arrives at the fixed transmitter station at the moment it should transmit a signal, offsetting all delays in transferring the signal.
  • timing distribution function 36 introduces a delay in the clock signal sent to each transmitter station Tx1-Tx4, with the delay varying according to the length of the line to that transmitter station.
  • a portable device 15 receives signals 31-34 from the set of transmitter stations Tx1-Tx4.
  • a single-trip ranging is used, where the portable device 15 only receives signals from transmitter stations Tx1-Tx4 and does not need to transmit.
  • the fixed transmitter stations Tx1-Tx4 transmit at known times, such as individual offsets past each 0.1 second. As will be described more fully below, the time intervals between the times at which each transmitter station Tx1-Tx4 transmits can uniquely identify the transmitter stations without the need for signals 31-34 to carry any further identification data.
  • the portable device 15 stores information about the position of each fixed transmitter station Tx1-Tx4 and information about the transmission time of each fixed transmitter station Tx1-Tx4. This will be called assistance information.
  • the assistance information can be stored in advance at the portable device 15, such as by sending the information to the portable device in a data transmission (e.g. SMS message, email or other data message from or by the portable device accessing a web page held by a server 39 to which portable device has access) and storing the information in a memory of the portable device.
  • the assistance information can be sent 40 separately from the position signals 31- 34, such as by a wireless base station BS1 of a communications system also deployed in building 10, or by one or more of the fixed transmitter stations during a time when the station is not transmitting a position signal.
  • each group of transmissions one transmission by each of transmitters Tx1-Tx4, the transmitters transmit at specially spaced intervals which allow the transmitters to be identified.
  • the groups are close to each other, so the repeat period for a group of transmissions is small. This ensures that the portable device does not move far during the time taken to receive and process any one batch of transmissions.
  • the intervals are not so close to each other that the transmitted signals could overlap.
  • the intervals are also not so small that the time of flight to the portable device significantly interferes with the relative intervals.
  • the intervals are not linearly spaced, so that the portable device can determine which transmissions it has received by the relative arrival times alone.
  • Tx1 at Os past the 1 /i 0 second
  • Tx2 at 0.00001s past the 1 /io second
  • Tx3 at 0.00003s past the Vi 0 second
  • Tx4 at 0.00007s past the 1 /i 0 second etc.
  • Table 1 An example table of offset differences in transmission times per transmitter pair (T a -T b ) for the above example (in 10 microsecond units) is shown in Table 1 at Appendix A1.
  • the transmission time of transmitter TN is 2 N"1 -1.
  • 2 N 1 -2 M 1 k (some constant), there is only one solution of N and M. Let us solve it in binary arithmetic. We consider k as (2 N"1 -1 )-(2 M"1 -1 ) again.
  • 2 N"1 -1 is a number consisting of all ones, e.g. 111 ,111 ,111.
  • 2 M"1 -1 is a number consisting of all ones but it is a smaller number, e.g. 111.
  • the portable device may only receive a signal from stations Tx1 and Tx4 but not Tx2 or Tx3. Because the time interval separating Tx1 and Tx4 is different from the interval separating any other pair of transmitters, this allows Tx1 and Tx4 to be identified.
  • Appendices A3 and A4 show exhaustive enumerations of the subsequences of length 3 and 4 respectively in a system with seven transmitters.
  • the sequences were obtained using the program findseqs.pl shown in Appendix B.
  • the sequence is a chronological ordering of signals and the spacing of (i.e. time intervals between) those signals.
  • the sequence of time intervals that identify a sub-set of transmitters need not be consecutive transmissions. For example, for a scheme where three transmissions (i.e.
  • a portable device stores the table shown in Appendix A3 or A4 (or a similar table) and identifies the transmitters by comparing time differences of a sequence of signals received from the transmitters with a simple look-up operation in the table.
  • Figure 2 shows a timeline of an example group of transmissions from a system of seven transmitters Tx1-Tx7 and corresponds to that shown in Table 2 above. Two complete groups of transmission sequences 51 , 52 are shown. The transmission times are, reading from left to right, 0, 1 , 3, 7, 8, 11 and 13 units past a reference time. The units can be tens or hundreds of microseconds, or any other appropriate timing unit. The sequence is repeated every 32 units.
  • N transmitters is now given.
  • Our representation corresponds to the best representation of sequences as head and tail in list-processing languages such as PROLOG and LISP.
  • the head is the leftmost digit and the tail is the remaining list.
  • LIMIT was obtained later; the value of 13 is the lowest suitable value in our example. So, any monotonic sequence [13, ..., 0] is a candidate solution for transmission times.
  • the starting list is a candidate for transmission times, but as it does not have the desired property that all subsequences of length N (say, 4) have distinct differences, we must generate the next monotonic sequence and test that.
  • the leftmost digit is 6, so we increment it, and as there is nothing to the left of it, there is nothing to do to maintain the monotonic property.
  • a second set of transmitters It is possible to reuse the set of transmission intervals in a second location, with a second set of transmitters.
  • the second location should be sufficiently spaced or shielded from the first location such that a portable device cannot receive both signals from both sets of transmitters.
  • a second set of transmitters could reuse the same set of intervals within a different transmission frequency band, or some other form of modulation scheme to differentiate the two sets of transmissions.
  • FIG 3 shows a portable device 15 for use in the system of Figure 1 which includes a position-determining apparatus 60.
  • the position-determining apparatus 60 includes a controller which, in this embodiment, is implemented by a processor 63 executing control software 64 stored in non-volatile memory 65.
  • the controller can alternatively be implemented in hardware using an Application Specific Integrated Circuit (ASIC), a programmable array or other logic circuit.
  • a receiver of the apparatus 60 comprises an antenna 61 which receives signals from the set of transmitters Tx1-Tx7 and a unit for detecting the arrival time of each signal. For UWB signals, this requires a pulse detecting function 62. Arrival times of pulses are stored 67 in an area of memory 70.
  • Assistance information 66 in the form of transmitter time interval sequence data and location data is also received at an assistance channel front end 80 (such as a mobile phone transceiver) and extracted and stored in memory 70.
  • a user interface 71 includes a display and controls for allowing a user to operate the position- determining apparatus 60.
  • a local clock/counter 72 is used to record arrival times of received signals and may be updated by as a result of triangulation calculations based on received signals.
  • An interface 75 connects to the transceiver 80 of a communications apparatus (such as the receive chain of a conventional mobile phone which hosts the position-determining apparatus 60). This allows the position-determining apparatus 60 to receive assistance information 66, 68, 69 and to access a return channel using the existing capabilities of the host equipment.
  • FIG 4 shows apparatus at one of the transmitter stations Tx1 in the system of Figure 1.
  • a controller controls operation of the transmitter station and, in this embodiment, is implemented by a processor 100 executing control software 107 stored in memory 108.
  • a pulse transmitter 112 generates a pulse (or other form of transmitted signal) for transmission by antenna 114 at a predetermined time.
  • Timing data 102 stored in memory 103 specifies when this transmitter station should transmit, with respect to a reference time.
  • a local clock 105 is maintained by the transmitter station and is updated on a regular basis (e.g. every millisecond) by timing information received via line 25.
  • the transmitter station receives the timing information via a pipeline 25 and an appropriate interface 110.
  • a preferred transmission scheme for transmitters Tx1-Tx7 is a pulsed radio or Ultra Wideband (UWB) transmission scheme where a pulse generator at a transmitter forms a pulsed signal having a wide bandwidth.
  • Figure 5 shows an example of the transmitted, carrierless, UWB signal in the time domain and Figure 6 shows the signal in the frequency domain, showing the wide frequency band that it may occupy.
  • the UWB signal can correspond to any shape within the bounds shown in Figure 6, corresponding to an Effective lsotropically Radiated Power (EIRP) of 0.56mW over the whole 7.5GHz band. Characteristics of the exact signal can, of course, differ from what is shown here.
  • EIRP Effective lsotropically Radiated Power
  • the pulse detecting function 62 in the receiver of the portable device integrates the energy of the pulse. As the transmitted signal need not carry any meaningful data, other than its presence, the pulse detector 62 simply detects received energy of the pulse exceeding a certain energy level, and generates a trigger signal.
  • Figure 7 shows an internal response generated by the pulse detector 62 on reception of a transmitted pulse as a digital rising edge compatible with the digital levels of the receiving system, which will trigger starting, or reading of, the counter/timer 72.
  • the UWB transmission scheme has the advantage that it sharply defines a point in time without the need to modulate a carrier wave with information defining that time.
  • a UWB receiver can thus be implemented with simple apparatus which is only required to detect the presence of a pulse, rather than to demodulate a carrier wave, as in a classical transmission scheme.
  • UWB transmitters transmitting a pulse although the transmitters can take other forms.
  • a set of UWB transmitters are installed at known positions in the location where position fixes are required.
  • the positions of the transmitters are represented for example as local x,y,z coordinates, or in ECEF (Earth Centred Earth Fixed) x,y,z coordinates, or both, but optionally only in two dimensions (local x,y coordinates).
  • the positions are specified in the assistance information.
  • the assistance information is made available to portable devices and stored locally at the portable devices.
  • the transmitter stations have access to a common accurate clock and are triggered to transmit their pulse at a specific time, different for each transmitter station, so giving a sequence of pulses potentially to be detected.
  • the times of transmission are spaced so that the transmitter stations can be identified from reception time intervals, as previously described.
  • the repetition time of an overall sequence of transmissions is such that the gap between whole sequences is larger than the time between the first transmission and the last transmission in a sequence.
  • the assistance information also includes the timing of the sequence of transmissions.
  • the portable device has a UWB receiver which receives UWB pulses from transmitter stations Tx1-Tx7 and generates a block pulse on reception of a UWB pulse.
  • the portable device also has a clock 72, which is used only as a timer between pulses.
  • the portable device determines the time of pulse arrivals and stores these 67 in memory 70.
  • the first pulse is allocated an arbitrary time (e.g. 0).
  • Processor 63 regularly examines the buffer for a new sequence of N or more pulses having been received (where N is the number needed for a fix, e.g. three for a two dimensional + time fix).
  • the portable device also accesses assistance information 66 about the transmission spacing and the positions of the transmitters.
  • the processor 63 uses a macroscopic interval method to determine the transmitters, as shown at step 122.
  • the arrival times are actually 1.002, 3.005, 13.003.
  • the actual times of flight are 0.002, 0.005 and 0.003, but the portable device does not know this yet, because it does not accurately know system time yet.
  • the portable device does not know system time it takes the first pulse as time 0.000 and sees arrival times of 0.000, 2.003, 10.001.
  • the portable device calculates the exact intervals between pulses (in our example 2.003 and 7.998 units) and calculates the macroscopic intervals between pulses as 2 and 8 by taking the nearest units of transmitter time spacing (or, better, by adding the largest expected time of flight and rounding down). In this example, because of the choice of spacing, this can only correspond to transmitters Tx2, Tx3, Tx7, which is seen from the separately obtained assistance information. So we have recovered the transmitter identities. From the identities, the portable device looks up the position coordinates, using the other assistance information.
  • the portable device works with pseudo-ranges (i.e. distances based on an uncorrected but consistent clock) obtained by subtracting the macroscopic times from the arrival times, as shown at step 124.
  • pseudo-ranges i.e. distances based on an uncorrected but consistent clock
  • the units of these pseudo-range distances are light-units (e.g. if the time units are milliseconds, the distance units are light-milliseconds). Note that the pseudo-ranges are the actual ranges with an offset of 0.002 units for each pseudo-range, due to the subtraction of 1.002 which took place earlier.
  • the portable device now solves by standard triangulation and obtains its position, for example as local x, y coordinates. If the device has a mapping application of the area served by the transmitters, the fix will be passed to it, and the fix will be displayed on the map. If the fix is a three dimensional+time one, (so requiring four pseudo-ranges), in ECEF x,y,z coordinates, these coordinates can be converted to latitude, longitude and altitude by standard formulae (using a geoidal or ellipsoidal model of the earth) and represented, for example, in NMEA (National Marine Electronics Association) format. A general mapping application can be used for these translations.
  • NMEA National Marine Electronics Association
  • Xi, yi Zi are the positions of the transmitters T 1
  • X 1 Y 1 Z is the position of the receiver to be determined
  • c is the speed of light
  • ⁇ t is the local clock error w.r.t. system time
  • ti.systemjx is the transmission time of the signal from transmitter / in system time
  • ti,iocai_arrivai is the arrival time of the signal from transmitter / according to the local clock
  • step 128 If multiple possible positions are output at step 128 then impossible locations are excluded by either an overspecified system, or by knowledge of the geometry of the building at step 130.
  • the portable device can deduce whether it can sensibly be positioned in that location. This can be implemented via a set of constraints or look-up tables 68, also stored in memory 70 of the portable device, but it may also be possible to place the transmitters in locations such that all impossible solutions are clearly identifiable, being outside a cuboid representing the valid mall space.
  • a position is output at step 132.
  • the overspecified system is solved using a standard least squares technique, as in GPS.
  • An alternative to using four pseudoranges is to assume the altitude of the portable device, at say 4 feet above the floor in the mall, so that if only three pseudoranges are known a fix can still be obtained.
  • map data 69 Another item of assistance information, as an option, is map data 69 that could be downloaded onto the portable device and used by a mapping application executed by processor 64. This allows a portable device, once it has obtained a fix in local coordinates, to display the fix as a point on a map of the area served by the transmitters at step 134.
  • a further use of the position information is to implement a radio compass, i.e. a compass which determines direction with respect to received radio signals rather than the earth's magnetic field.
  • a radio compass i.e. a compass which determines direction with respect to received radio signals rather than the earth's magnetic field.
  • the portable device is provided with two antennas 61 , 75 spaced apart along the portable device, one at each end of the portable device.
  • the portable device calculates a first fix using one of the antennas 61 , in the manner previously described, and then calculates a second fix using the other of the antennas 75, also in the manner previously described.
  • the portable device can switch between receiving signals via the first and second antennas by an electronic or electromechanical switching mechanism 76 under the instruction of a control signal 77 from processor 63.
  • the resulting bearing can be displayed as an arrow in any navigational direction on the screen of the portable device.
  • the portable device may receive, via a beacon, a mapping table from (where the device is) to (a direction to follow) so that the user is led to a destination by following an arrow on the device. Additionally, or alternatively, the portable device may have access to map information of the local area and can overlay the current bearing as an arrow on the map, at the current position.
  • the direction as the crow flies to that person can be shown by means of an arrow.
  • the calculation of the angle for the 'other person' with respect to the user is entirely analogous to that of the top and bottom of the user's device.
  • the position-finding functionality described above can be incorporated into a dedicated portable device or, more likely, is provided as an additional function in a portable device having another function, such as a mobile phone, personal digital assistant (PDA) or other portable computer.
  • the functionality can also be incorporated into GPS portable devices to allow the GPS portable device to operate in areas where GPS is unreliable.
  • the portable device can be hand-held, wearable or mounted in a vehicle or other portable appliance.
  • the assistance information described above which includes information defining transmitter locations, timing intervals identifying transmitters and optionally map information can either be made publicly available or made available to a selected group of users. In either case, access to the information may be free or charged.
  • the system described above only requires a portable device to receive signals from a set of transmitters.
  • the portable device can use a wireless return channel.
  • this existing apparatus see transceiver 80, Figure 3 can be used to return position information.
  • each transmitter Tx1-Tx7 in the system emits a single pulse each transmitter on each occasion and a receiver detects that pulse, records the arrival time of the pulse and uses a set of received arrival times to determine macroscopic transmitter intervals. The arrival times are also used to determine pseudo-ranges (times of flight) and these are used in a triangulation algorithm.
  • each transmitter emits a train of pulses on each occasion that it transmits. In same way as previously described, each transmitter's emitted pulse train is separated from the pulse train of another transmitter in the system by a time interval which allows that transmitter to be identified. This alternative scheme has the advantage that each pulse in the pulse train can carry less energy than in the single pulse scheme.
  • each arrow now represents the point in time at which the pulse train is detected.
  • the pulse trains of respective transmitters Tx1-Tx7 occur at different times, separated by a time interval which allows the transmitters to be identified.
  • the overall sequence 51 of transmitted pulse trains repeats after a period 53.
  • Each pulse train occurs within a short timespan compared to the interval between transmitters.
  • the number of individual pulses within a pulse train can vary from a relatively small number, e.g. 100 or less, to a very large number, e.g. 250,000 or more.
  • a receiver performs correlation of a locally generated pulse train with a received pulse train by shifting the relative timing of the locally- generated and received pulse trains and integrating the correlation result.
  • both the relative shift (representing time of flight/pseudo-range) and the time of finding a correlation peak are stored as arrival data.
  • the intervals between finding a correlation peak represent the macroscopic spacing of the transmitters (and hence transmitter identity) while the relative shift represents time of flight.
  • the intervals between transmitters sending their pulse trains must be longer than the length of the pulse trains themselves.
  • Each pulse can have a duration of less than a nanosecond, with a spacing of, say, 4 ns between pulses within a pulse train.
  • a pulse train of 250,000 pulses will have a duration of 1 ms.
  • the units of interval between transmitters can be, say, 2ms.
  • a whole sequence of pulse trains from all transmitters can have a duration of around 50 times this value, giving a total sequence duration (51 , Figure 2) of 100 milliseconds, i.e. 0.1s.
  • Figure 11 shows part of the position-determining apparatus 60 of Figure
  • the portable device 15 generates a replica of the expected pulse train by modulating an oscillator 143 onto a pulse train 144 at a first mixer 145.
  • the pulse train 144 is generated by a generator 146 at a time determined by a programmable time delay 150.
  • the oscillator 143 is a continuous sine wave at the centre frequency of the UWB pulses (e.g. in the centre of the 3.1-10.6 GHz frequency range).
  • This locally-generated pulse train 147 is mixed at a second mixer 148 with a signal 141 received via antenna 61 and low noise amplifier (LNA) 142.
  • LNA low noise amplifier
  • Controller 63 has two main functions: to control a feedback loop and to start or read a timer. The controller 63 searches for the best delay, equivalent to a phase shift, that it can find during the time that a pulse train is received. It achieves this by altering the value of programmable time delay 150 as a blind search until it obtains some correlation, and then further alters the delay in a way that gives a positive effect on the degree of correlation obtained.
  • the timer 72 When it has found the maximum correlation, it reads the timer 72 (or alternatively starts it for the start of a complete cycle of all transmitters) and puts that time 152 in a buffer for further use when timings from other transmitters have also been obtained. Because the macroscopic intervals separating the pulse trains of different transmitters are much longer than the length of an individual pulse train, the precise length of time that a receiver takes to find a correlation peak does not affect the ability of the receiver to identify the macroscopic intervals representing transmitters.
  • the time of flight of a signal i.e. the time to reach the portable device 15 from a transmitter is measured, not by measuring an absolute time such as the time of the first pulse, but by recording the value of the programmable time delay 150 which aligns pulses in the received pulse train 141 with pulses in the locally-generated signal 147.
  • This value 151 of the programmable time delay gives the pseudo-range.
  • the longer the time of flight the longer the time shift required. Individual pulses within a pulse train will be separated by a greater time than the longest feasible time-of-f light.
  • the time, once measured, is written to a buffer of "measured timings" (or “timestamps").
  • Figure 12 shows the effect of the programmed delay 150 on the pulse generator 146 and how this is used to obtain time and so a pseudo-range.
  • the black (solid) triangles represent locally-generated pulses while the white pulses represent a received pulse train.
  • the controller 63 alters the delay according to the output of the integrator and its knowledge of which direction of delay (increase/decrease) gave higher correlation. It searches for maximum correlation and outputs delay time that was required to obtain this. This represents the time of flight which is effectively a pseudo-range because of an offset due to clock error.
  • the clock error must be small compared to the spacing between pulses.
  • a positioning system which comprises a set of transmitter stations Tx1-Tx4 which are arranged to transmit at predetermined time intervals with respect to each other and to a common timing reference 20, 21 such that the time intervals can identify each of the transmitter stations.
  • Each pair of transmitted signals can be spaced by a time interval which is different from any other pair of transmitted signals from stations Tx1-Tx4 or a sequence of time intervals separating a sub-set of the group of transmitted signals can be different from a sequence of time intervals for any other sub-set of transmitted signals from Tx1-Tx4.
  • Assistance information 38 distributed to portable devices 15 associates time intervals between transmitted signals to identity and location of transmitter stations in the system.
  • Portable devices determine pseudo-ranges of the transmitter stations from the portable device and determine the position of the portable device using a triangulation technique which uses the locations of the transmitter stations and pseudo-ranges.
  • Program findseqs.pl - A Prolog program for generating suitable transmission interval sequences.
  • the program generates monotonic sequences of integral transmission times for N transmitters (7 for the datasets included) such that the relative spacing of any subsequence of length K (3 and 4 in the datasets included) is unique.
  • the output is included in the main description. The program was run using
  • a ⁇ B, /* accept if different subsequences diff (A, DA) , /* get the differences of the first subsequence diff (B, DB) , /* get the differences of the second subsequence
  • DA DB, /* fail if equal t fail, nosamediff (A, B) . /* succeed if we never fail
  • */ /* */ /* SETNUMBER is the data set identification number (for if we have several)*/ /* SEQUENCE represents a number of transmitters in a start configuration /* with their relative timing intervals /* LIMIT is the maximum number in a sequence we allow. /* PICK_K is the length of subsequence we use
  • increments_around_nth_digit (1, IN, LIMIT, OUT) - increment_repeatedly_nth_digit (1, IN, LIMIT, OUT) .
  • increments_around_nth_digit (N, IN, LIMIT, OUT) - N>1, increment_repeatedly_nth_digit (N, IN, LIMIT, MIDI) ,
  • NN is N-I, increments_around_nth_digit (NN, MIDl, LIMIT, OUT) .
  • LIMIT IO, increment_repeatedly_nth_digit (2, SEQ, LIMIT, OUT) , write (OUT) , fall, irnd.
  • DIG2 is DIG+1, /* Increment Nth digit */ set_pre(PRE,DIG2,PRE2) , /* Set the preceding part of the list */ append(PRE2, [DIG2 IPOST] ,OUT) . /* Compose the result */ /* demo, shows incrementing suceeding, and failing on limit */ ind:-
  • LIMIT3 6, increment_nth_digit (2,SEQ, 6,OUT3) ,
  • JU gn_fmdall(X,G,_) - asserta (gn_found (mark) ) , call (G) , asserta (gn_found (X) ) , fail .
  • 35 gn_fmdall (_, _, L) - gn_collect_found ( [ ] , M) , t

Abstract

A positioning system comprises a set of transmitter stations (Tx1-Tx4) which are arranged to transmit at predetermined time intervals with respect to each other and to a common timing reference (20, 21 ) such that the time intervals can identify each of the transmitter stations. Each pair of transmitted signals can be spaced by a time interval which is different from any other pair of transmitted signals from stations (Tx1-Tx4) or a sequence of time intervals separating a sub-set of the group of transmitted signals can be different from a sequence of time intervals for any other sub-set of transmitted signals from (Tx1-Tx4). Assistance information (38) distributed to portable devices (15) associates time intervals between transmitted signals to identity and location of transmitter stations in the system. Portable devices (15) determine pseudo- ranges of the portable device from the transmitter stations and determine the position of the portable device using a triangulation technique which uses the locations of the transmitter stations and pseudo-ranges.

Description

DESCRIPTION
DETERMINING POSITION OF A PORTABLE DEVICE
This invention relates to a method for determining the position of a portable device by a ranging technique and to apparatus for supporting the method.
Determining the position of a device is useful in many applications, such as navigation systems and inventory tracking. Many systems for determining the position of a device operate on the principles of ranging and triangulation. The distance (range) is calculated between a device and each of a set of differently positioned transmitters. Using the calculated ranges, and the known position of the transmitters, the position of the device can be triangulated. Where a precise time of transmission is known and precise time is known at a receiver of a portable device, N ranges are needed for an N dimensional fix. Where the time at the device is not accurately known, but the clock error is the same for all ranges measured, N+1 pseudo-ranges are needed for an N- dimensional fix. In the case where there is such a clock error, the measured ranges are called pseudo-ranges. One of the most popular ranging-based systems is the Global Positioning System (GPS) where a portable device receives signals from a set of orbiting satellite-based transmitters. GPS requires a portable device to have a good view of a fair proportion of the sky and generally works well when a portable device is positioned outdoors but the performance deteriorates when a portable device is positioned indoors. GPS can still operate when a portable device is positioned within a home or office, especially when the portable device is positioned near to windows, but deep indoors, especially in a massive edifice such as a station or shopping mall, GPS is unlikely to be effective. As an alternative to using satellite-based transmitters, it is known to use terrestrial transmitters such as wireless base stations. EP 0 320 913 describes a system for locating the position of a mobile station which uses signals transmitted from radio telephone base stations. EP 0 320 913 requires a fixed station to identify itself in a transmission which, in turn, requires a mobile station to demodulate the signal received from the fixed station.
It is also known to determine the position of a device within a building (such as where standard GPS positioning is infeasible) by a round-trip technique, where the mobile object transmits an interrogation signal to fixed stations. Each fixed station receives the interrogation signal and returns a signal to the portable device. Measuring the round-trip time of the interrogation signal allows the portable device to calculate a range to each fixed station and thus to triangulate the position of the portable device. This has a disadvantage of requiring a device to both transmit an interrogation signal and to receive a reply.
The devices that need to determine their position are often portable devices which rely on a battery power supply. It is desirable that the position- determining function should use as little power as possible, to prolong the limited operating period of the power supply. It is also desirable that the apparatus required at a portable device is as simple as possible to minimise cost of the device.
The present invention seeks to provide an alternative technique for determining position of a device.
A first aspect of the present invention provides a method of determining the position of a portable device in a system comprising a set of transmitter stations, the set of transmitter stations being arranged to transmit at predetermined time intervals with respect to each other and to a common timing reference, the method comprising performing, at the portable device, the steps of: receiving a signal from each of a plurality of the transmitter stations; determining the arrival time of each signal; determining the identity of each transmitter station by comparing the differences in arrival time of received signals with stored assistance information which associates time intervals between transmitted signals to identity and location of transmitter stations in the system; determining pseudo-ranges of the portable device from the transmitter stations and determining the position of the portable device using a triangulation technique which uses the locations of the transmitter stations and the pseudo-ranges.
This method has an advantage that the portable device does not need to transmit an interrogation signal to a transmitter station. As the identity of a transmitter station can be determined from the time interval between received transmissions, a transmitter station does not need to encode a transmission with identity information and a portable device does not need to extract the identity information by demodulation of a carrier or other data extraction processes. This has important advantages of allowing simpler electronics, reducing power consumption at the portable devices and reducing the amount of RF traffic.
By arranging that individual transmitter stations transmit in distinct time slots no parallel or superimposed-signal processing is required, which further simplifies apparatus at the portable device. The predetermined time intervals are chosen such that they are readily identifiable from, and preferably significantly greater than, the expected time-of-f light times expected between any transmitter station and a portable device. In the following description the time intervals between transmissions are called macroscopic intervals to contrast with the microscopic time-of-f light of a signal between a transmitter station and portable device. Transmitter stations can be identified by a unique time interval between their respective transmission times or by a unique sequence of time intervals between a sub-set of a total group of transmissions.
Preferably, the transmitter stations each transmit a pulsed signal, such as an Ultra Wideband (UWB) signal, which allow a precise point in time to be readily detected at a receiver without additional demodulation of a carrier wave. The pulsed signal can comprise a single pulse or a train of pulses. When a train of pulses is used, the receiver can use a correlation technique to detect the pulse train and this has an advantage of allowing each pulse within the pulse train to be transmitted at a lower power.
This system can be used indoors, where positioning systems such as GPS do not operate reliably, or outdoors and can be used as an alternative to, or addition to, existing positioning systems such as GPS. The portable device does not need to maintain a clock when it is not being used as the clock is only required as a timer when it is receiving pulses. This further helps to conserve power at the portable device.
Another aspect of the invention provides a portable device for performing the method.
A further aspect of the invention provides a system for use in determining position of a portable device, the system comprising a set of transmitter stations, each of the set of transmitter stations being arranged to transmit a signal at a predetermined time interval with respect to other transmitter stations and to a common timing reference such that the time intervals can identify each of the transmitter stations.
The functionality described here can be implemented in software, hardware or a combination of these. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed processing platform. Accordingly, another aspect of the invention provides a computer program product carrying instructions for implementing the method. The software may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium. The software may be downloaded directly to the portable device or transmitter stations in the system via a network connection.
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Figure 1 shows a system which can be deployed to allow portable devices to determine their position;
Figure 2 shows a sequence of transmissions by the transmitter stations of the system of Figure 1 ; Figure 3 shows a portable device for use in the system of Figure 1 ;
Figure 4 shows a transmitter station for use in the system of Figure 1 ;
Figures 5 and 6 show characteristics of a pulsed transmission system;
Figure 7 shows an internal response generated by the receiving system on reception of a transmitted pulse;
Figure 8 shows the steps of a method of determining position performed at a portable device;
Figure 9 shows triangulation calculations in two dimensions, where there is no clock error; Figure 10 shows a modified form of the portable device of Figure 3 for use in supporting an electronic compass function;
Figure 11 shows an alternative form of pulse detector function for use in the receiver of Figure 3 which is responsive to a train of pulses;
Figure 12 shows operation of the alternative pulse detector of Figure 11.
Figure 1 schematically shows a system which can be deployed to allow portable devices to determine their position. The system is shown deployed within a building 10, such as a shopping mall, as this is a scenario where conventional GPS is ineffective, although the system is not restricted to indoor use and can be deployed at any location. A set of fixed transmitter stations Tx1 , Tx2, Tx3, Tx4 are deployed at different geographical positions within building 10. A system manager 35 manages operation of the system and includes a function 36 for distributing timing information to each transmitter station Tx1-Tx4. This ensures that each transmitter station Tx1-Tx4 has access to an accurate timing reference which allows each transmitter station Tx1-Tx4 to accurately transmit a signal at a predetermined time. System manager 35 receives a clock signal from an accurate reference clock. The reference clock can take the form of a stand-alone reference clock 20 or a clock signal obtained from the clock 21 of a GPS decoder 22 which receives a set of GPS signals via an antenna 23 mounted on the outside of the building 10. A standard GPS system measures GPS pseudo-ranges and decodes satellite ephemerides and solves for the roof antenna position and GPS time. It is only GPS time that is required from GPS decoder 22. Either source of timing information should preferably allow atomic clock accuracy, or a similar order of accuracy, and in the following description the source of timing information will be called a reference clock. Although each transmitter station Tx1-Tx4 could have a reference clock, this is an expensive solution and it is preferable that timing information derived from a single reference clock 20 or GPS decoder 22 is distributed to the set of transmitter stations Tx1-Tx4 by timing distribution function 36 and via lines 25-28.
A first way of distributing timing information is to arrange for each fixed transmitter station TX1-Tx4 to receive a signal, say once per millisecond, on the exact reference clock millisecond boundary. Each transmitter station Tx1- Tx4 can then use a local clock at the transmitter station to interpolate between the occasions when a signal is received from the system manager to determine the transmitter station's own transmission time. The pipelines 25-28 to each transmitter station Tx1-Tx4 each induce a known propagation delay, depending on their length, which can be corrected for. Timing distribution function 36 introduces a delay in the clock signal sent to each transmitter station Tx1-Tx4, with the delay varying according to the length of the line to that transmitter station. A second way of distributing timing information is to arrange for a signal to be supplied to each fixed transmitter station Tx1-Tx4 in such a way that the signal arrives at the fixed transmitter station at the moment it should transmit a signal, offsetting all delays in transferring the signal. Again, timing distribution function 36 introduces a delay in the clock signal sent to each transmitter station Tx1-Tx4, with the delay varying according to the length of the line to that transmitter station.
Although only four transmitter stations Tx1-Tx4 are shown, a system can have a larger number of such stations and the examples shown later assume the system has seven transmitters Tx1-Tx7. A portable device 15 receives signals 31-34 from the set of transmitter stations Tx1-Tx4. A single-trip ranging is used, where the portable device 15 only receives signals from transmitter stations Tx1-Tx4 and does not need to transmit. The fixed transmitter stations Tx1-Tx4 transmit at known times, such as individual offsets past each 0.1 second. As will be described more fully below, the time intervals between the times at which each transmitter station Tx1-Tx4 transmits can uniquely identify the transmitter stations without the need for signals 31-34 to carry any further identification data. The portable device 15 stores information about the position of each fixed transmitter station Tx1-Tx4 and information about the transmission time of each fixed transmitter station Tx1-Tx4. This will be called assistance information. The assistance information can be stored in advance at the portable device 15, such as by sending the information to the portable device in a data transmission (e.g. SMS message, email or other data message from or by the portable device accessing a web page held by a server 39 to which portable device has access) and storing the information in a memory of the portable device. The assistance information can be sent 40 separately from the position signals 31- 34, such as by a wireless base station BS1 of a communications system also deployed in building 10, or by one or more of the fixed transmitter stations during a time when the station is not transmitting a position signal.
In each group of transmissions, one transmission by each of transmitters Tx1-Tx4, the transmitters transmit at specially spaced intervals which allow the transmitters to be identified. The groups are close to each other, so the repeat period for a group of transmissions is small. This ensures that the portable device does not move far during the time taken to receive and process any one batch of transmissions. The intervals are not so close to each other that the transmitted signals could overlap. The intervals are also not so small that the time of flight to the portable device significantly interferes with the relative intervals. The intervals are not linearly spaced, so that the portable device can determine which transmissions it has received by the relative arrival times alone. For example, they might transmit every 1/io second at intervals of: Tx1 at Os past the 1/i0 second, Tx2 at 0.00001s past the 1/io second, and Tx3 at 0.00003s past the Vi0 second and Tx4 at 0.00007s past the 1/i0 second etc. An example table of offset differences in transmission times per transmitter pair (Ta-Tb) for the above example (in 10 microsecond units) is shown in Table 1 at Appendix A1.
Note that the relative spacings are doubled for each subsequent transmitter: (T2-T1)=1 , (T3-T2)=2, (T4-T3)=4, (T5-T4)=8 and so on. The transmission time of transmitter TN is 2N"1-1. The time difference between transmitters TN and TM is (2N 1-1 ) - (2M 1-1 ) = 2N 1-2M 1. For T6 and T4 we have a time difference of 25-23 = 32-8 =24. Now for 2N 1-2M 1 = k (some constant), there is only one solution of N and M. Let us solve it in binary arithmetic. We consider k as (2N"1-1 )-(2M"1-1 ) again. 2N"1-1 is a number consisting of all ones, e.g. 111 ,111 ,111. Similarly, 2M"1-1 is a number consisting of all ones but it is a smaller number, e.g. 111. When we subtract the numbers from one another we lose some trailing ones, which become zeroes, to get a number of the kind 111 ,111 ,000. This is our k. So we set all digits of k to ones to obtain the original 2N"1-1 , from which N is quickly obtained (add 1 to get 2N"1 then take log2, then add 1 ). And we take the row of O1S in our representation of k, e.g. 000 (if there are none, we are dealing with T1 ), convert them to ones, giving e.g. 111 , and we have 2M"1-1 from which M is quickly obtained (add 1 to get 2M"1 then take log2 then add 1 ). With k=24, in binary 11000, we have (2N 1-1 )=11111 and (2M"1-1 )=111 , from which N=6 and M=4, telling us that an interval of 24 units is the interval between T6 and T4. The property that the time interval separating any pair of transmission times is different from the time intervals separating any other pair of transmitter station allows the portable device to accurately determine the identity of a transmitter station, even when a portable station does not receive an intermediate transmission in a sequence. As an example, the portable device may only receive a signal from stations Tx1 and Tx4 but not Tx2 or Tx3. Because the time interval separating Tx1 and Tx4 is different from the interval separating any other pair of transmitters, this allows Tx1 and Tx4 to be identified.
A disadvantage with this scheme is that the spacings between the times when transmitters transmit a signal grow exponentially with the number of transmitters used in the system. However, if we need at least n (typically n=3 or 4) transmitters for a fix, we only require that no subset of intervals for n transmitters from any row can be found in another row. This is because if a given subset of intervals can be found in two (or more) rows, then there are two (or more) different subsets of transmitters that we could have received the signals from. So on our basis that we use intervals in a sequence as the only means to identify transmitters, we must have uniqueness of the set of transmitters, otherwise the method will be ambiguous.
By only requiring that any three transmitters transmit in a unique timing sequence, the length of a single sequence of transmissions from the set of transmitters is minimised. One advantage of keeping the length of a single sequence to a minimum is that the sequence can be repeated more often. This overcomes the exponential growth problem of the first embodiment and still allows transmitters to be identified by their interval spacing. Table 2 in Appendix A2 shows an example solution.
Typically, three or four transmitters are required for a fix. Appendices A3 and A4 show exhaustive enumerations of the subsequences of length 3 and 4 respectively in a system with seven transmitters. The sequences were obtained using the program findseqs.pl shown in Appendix B. In each example it can be seen that no two sequences of arrival differences are the same, where the sequence is a chronological ordering of signals and the spacing of (i.e. time intervals between) those signals. As with the previous scheme, the sequence of time intervals that identify a sub-set of transmitters need not be consecutive transmissions. For example, for a scheme where three transmissions (i.e. a sequence of two time intervals) uniquely identify transmitters, the sub-set [Tx1 , Tx2, Tx3] and the sub-set [Tx1 , Tx4, Tx5] each yield a unique sequence of time intervals, as does any other sub-set of three transmissions.
The unique sequence of differences in time of arrival identify the transmitters. A portable device stores the table shown in Appendix A3 or A4 (or a similar table) and identifies the transmitters by comparing time differences of a sequence of signals received from the transmitters with a simple look-up operation in the table. Figure 2 shows a timeline of an example group of transmissions from a system of seven transmitters Tx1-Tx7 and corresponds to that shown in Table 2 above. Two complete groups of transmission sequences 51 , 52 are shown. The transmission times are, reading from left to right, 0, 1 , 3, 7, 8, 11 and 13 units past a reference time. The units can be tens or hundreds of microseconds, or any other appropriate timing unit. The sequence is repeated every 32 units. The interval 53 between the last transmission of the first sequence 51 and the first transmission of the second sequence 52 is (32 - 13) = 19 units, which cannot be mistaken for an in-sequence interval. A description of a method for finding suitable timing intervals for a set of
N transmitters is now given. A detailed program listing of the method, with accompanying comments, is given in Appendix B. We generate monotonically increasing sequences of integers (representing time units) with the property that for all subsequences of the monotonically increasing subsequences, if we take all the corresponding subsequence differences, no two subsequence differences are equal. We generate the monotonically increasing sequences from a starting sequence which consists of a consecutive sequence from 0 to N-1. For 7 transmitters, the starting sequence is [6,5,4,3,2,1 ,0]. To interpret this as transmission times, we read from right to left in this description. Our representation corresponds to the best representation of sequences as head and tail in list-processing languages such as PROLOG and LISP. The head is the leftmost digit and the tail is the remaining list. We now generate all monotonically increasing sequences with the bound that the head digit is limited to some number LIMIT. We describe how LIMIT is obtained later; the value of 13 is the lowest suitable value in our example. So, any monotonic sequence [13, ..., 0] is a candidate solution for transmission times.
The starting list is a candidate for transmission times, but as it does not have the desired property that all subsequences of length N (say, 4) have distinct differences, we must generate the next monotonic sequence and test that. We start by "incrementing around the first digit", i.e. repeatedly incrementing the first digit in the list, the head digit, while maintaining the monotonic property. In our example, the leftmost digit is 6, so we increment it, and as there is nothing to the left of it, there is nothing to do to maintain the monotonic property. We have the sequence [7,5,4,3,2,1,0]. We test the new sequence for the desired property, and if it does not have this property, we increment again up LIMIT, i.e. up to [13,5,4,3,2,1,0]. When we fail with the leftmost digit at the value LIMIT, we move to the next digit position, and backtrack to when we last incremented in this digit position, or in this case, as this is the first increment in this digit position, to the original consecutive- integer list. We increment this next digit down the list. Our search strategy is to increment the leftmost digits as eagerly as possible, and subsequent digits as reluctantly as possible, all the way down to incrementing the rightmost-but- one digit. But we are careful to maintain the monotonic property, and when we increment a digit in the sequence, we make all the previous (headward) digits consecutive integers greater than the incremented digit. So, at the first increment of the second-from-left digit, we obtain [7,6,4,3,2,1,0]. The algorithm is applied from a top level to this sequence, but by the time we have incremented the second digit as much as possible - with the sequence [13,12,4,3,2,1,0], we move on to the third digit. If at some stage we were incrementing the digit 6 in the sequence [12,7,6,3,2,1,0], we obtain the new sequence [9,8,7,3,2,1,0], which is a new starting point for the top level of the algorithm, but with us ready to backtrack to the next increment of the third digit, or to move to the fourth digit if the third digit cannot be incremented any more. The first few candidates under this scheme are:
[6,5,4,3,2,1,0]; [7,5,4,3,2,1,0]; [8,5,4,3,2,1,0]; [9,5,4,3,2,1,0]; [10,5,4,3,2,1,0]; [11,5,4,3,2,1,0]; [12,5,4,3,2,1,0]; [13,5,4,3,2,1,0]; [7,6,4,3,2,1,0]; [8,6,4,3,2,1,0]; [9,6,4,3,2,1,0]; [10,6,4,3,2,1,0]; [11,6,4,3,2,1,0]; [12,6,4,3,2,1,0]; [13,6,4,3,2,1,0]; [8,7,4,3,2,1,0]; [9,7,4,3,2,1,0]; [10,7,4,3,2,1,0]; [11,7,4,3,2,1,0]; [12,7,4,3,2,1,0]; [13,7,4,3,2,1,0]; [9,8,4,3,2,1,0]; [10,8,4,3,2,1,0]; [11,8,4,3,2,1,0]; [12,8,4,3,2,1,0]; [13,8,4,3,2,1,0]; [10,9,4,3,2,1,0]; [11,9,4,3,2,1,0]; [12,9,4,3,2,1,0]; [13,9,4,3,2,1,0]; [11,10,4,3,2,1,0]; [12,10,4,3,2,1,0]; [13,10,4,3,2,1,0]; [12,11,4,3,2,1,0]; [13,11,4,3,2,1,0]; [13,12,4,3,2,1,0]; [7,6,5,3,2,1,0]; [8,6,5,3,2,1,0] We know LIMIT will be at least N+1 and very probably rather higher, so in the absence of an intelligent estimate, we take N+1. If we fail to find a subsequence with this value of LIMIT, we increment it and try the above method again. Eventually we will find a subsequence with the desired property, because we have an upper bound, knowing that the interval doubling system described earlier has the required property. But we will in general find better solutions, as is seen by the examples we have given.
In the PROLOG example program, we do not include a predicate incrementing LIMIT until we find a solution - such a top-level wrapper could easily be added, but it would waste time searching with hopelessly low values. Instead, we run the program with a few manually chosen trial values, homing in on the lowest value that produces a solution.
It should be noted that an equally valid alternative strategy would be to increment rightmost digits as eagerly as possible (except for the very rightmost one, the 0, which is never changed), and leftmost ones as reluctantly as possible, maintaining the monotonic property. In this case, an advantage is that there would be no need to specify a limit, as the incrementation process does not require limitation of incrementing any one digit. Overall, there is no obvious advantage or disadvantage to this method over the method we first described, where LIMIT starts at N+1 and is increased until a solution is found.
It is possible to reuse the set of transmission intervals in a second location, with a second set of transmitters. The second location should be sufficiently spaced or shielded from the first location such that a portable device cannot receive both signals from both sets of transmitters. Alternatively, a second set of transmitters could reuse the same set of intervals within a different transmission frequency band, or some other form of modulation scheme to differentiate the two sets of transmissions.
Figure 3 shows a portable device 15 for use in the system of Figure 1 which includes a position-determining apparatus 60. The position-determining apparatus 60 includes a controller which, in this embodiment, is implemented by a processor 63 executing control software 64 stored in non-volatile memory 65. However, it will be readily appreciated that the controller can alternatively be implemented in hardware using an Application Specific Integrated Circuit (ASIC), a programmable array or other logic circuit. A receiver of the apparatus 60 comprises an antenna 61 which receives signals from the set of transmitters Tx1-Tx7 and a unit for detecting the arrival time of each signal. For UWB signals, this requires a pulse detecting function 62. Arrival times of pulses are stored 67 in an area of memory 70. Assistance information 66 in the form of transmitter time interval sequence data and location data is also received at an assistance channel front end 80 (such as a mobile phone transceiver) and extracted and stored in memory 70. A user interface 71 includes a display and controls for allowing a user to operate the position- determining apparatus 60. A local clock/counter 72 is used to record arrival times of received signals and may be updated by as a result of triangulation calculations based on received signals. An interface 75 connects to the transceiver 80 of a communications apparatus (such as the receive chain of a conventional mobile phone which hosts the position-determining apparatus 60). This allows the position-determining apparatus 60 to receive assistance information 66, 68, 69 and to access a return channel using the existing capabilities of the host equipment.
Figure 4 shows apparatus at one of the transmitter stations Tx1 in the system of Figure 1. A controller controls operation of the transmitter station and, in this embodiment, is implemented by a processor 100 executing control software 107 stored in memory 108. A pulse transmitter 112 generates a pulse (or other form of transmitted signal) for transmission by antenna 114 at a predetermined time. Timing data 102 stored in memory 103 specifies when this transmitter station should transmit, with respect to a reference time. A local clock 105 is maintained by the transmitter station and is updated on a regular basis (e.g. every millisecond) by timing information received via line 25. The transmitter station receives the timing information via a pipeline 25 and an appropriate interface 110. In the embodiment where the timing information received via line 25 specifies the exact time at which the transmitter station should transmit a pulsed signal, the timing data 102 is not required and there is no requirement to maintain an accurate local clock 105. A preferred transmission scheme for transmitters Tx1-Tx7 is a pulsed radio or Ultra Wideband (UWB) transmission scheme where a pulse generator at a transmitter forms a pulsed signal having a wide bandwidth. Figure 5 shows an example of the transmitted, carrierless, UWB signal in the time domain and Figure 6 shows the signal in the frequency domain, showing the wide frequency band that it may occupy. Under US regulations the UWB signal can correspond to any shape within the bounds shown in Figure 6, corresponding to an Effective lsotropically Radiated Power (EIRP) of 0.56mW over the whole 7.5GHz band. Characteristics of the exact signal can, of course, differ from what is shown here. Upon reception, the pulse detecting function 62 in the receiver of the portable device integrates the energy of the pulse. As the transmitted signal need not carry any meaningful data, other than its presence, the pulse detector 62 simply detects received energy of the pulse exceeding a certain energy level, and generates a trigger signal. Figure 7 shows an internal response generated by the pulse detector 62 on reception of a transmitted pulse as a digital rising edge compatible with the digital levels of the receiving system, which will trigger starting, or reading of, the counter/timer 72. The UWB transmission scheme has the advantage that it sharply defines a point in time without the need to modulate a carrier wave with information defining that time. A UWB receiver can thus be implemented with simple apparatus which is only required to detect the presence of a pulse, rather than to demodulate a carrier wave, as in a classical transmission scheme.
The overall operation of the system will now be described and the method of determining position performed at a portable device will be described with reference to Figure 8. This embodiment refers to UWB transmitters transmitting a pulse although the transmitters can take other forms. A set of UWB transmitters are installed at known positions in the location where position fixes are required. The positions of the transmitters are represented for example as local x,y,z coordinates, or in ECEF (Earth Centred Earth Fixed) x,y,z coordinates, or both, but optionally only in two dimensions (local x,y coordinates). The positions are specified in the assistance information. The assistance information is made available to portable devices and stored locally at the portable devices. The transmitter stations have access to a common accurate clock and are triggered to transmit their pulse at a specific time, different for each transmitter station, so giving a sequence of pulses potentially to be detected. The times of transmission are spaced so that the transmitter stations can be identified from reception time intervals, as previously described. The repetition time of an overall sequence of transmissions is such that the gap between whole sequences is larger than the time between the first transmission and the last transmission in a sequence. The assistance information also includes the timing of the sequence of transmissions.
As described with reference to Figures 3 and 8, the portable device has a UWB receiver which receives UWB pulses from transmitter stations Tx1-Tx7 and generates a block pulse on reception of a UWB pulse. The portable device also has a clock 72, which is used only as a timer between pulses. At step 120 the portable device determines the time of pulse arrivals and stores these 67 in memory 70. The first pulse is allocated an arbitrary time (e.g. 0). Processor 63 regularly examines the buffer for a new sequence of N or more pulses having been received (where N is the number needed for a fix, e.g. three for a two dimensional + time fix). The portable device also accesses assistance information 66 about the transmission spacing and the positions of the transmitters.
When sufficient pulses have arrived for a position fix, the processor 63 uses a macroscopic interval method to determine the transmitters, as shown at step 122. Suppose the arrival times are actually 1.002, 3.005, 13.003. The actual times of flight are 0.002, 0.005 and 0.003, but the portable device does not know this yet, because it does not accurately know system time yet. As the portable device does not know system time it takes the first pulse as time 0.000 and sees arrival times of 0.000, 2.003, 10.001. We have in fact unknowingly subtracted 1.002 from system time, but we are entitled to add or subtract any fixed offset to our clock, as when we solve the triangulation equations, we will determine the actual system time (which the transmitters used). This can be used to correct the local clock, if required.
The portable device calculates the exact intervals between pulses (in our example 2.003 and 7.998 units) and calculates the macroscopic intervals between pulses as 2 and 8 by taking the nearest units of transmitter time spacing (or, better, by adding the largest expected time of flight and rounding down). In this example, because of the choice of spacing, this can only correspond to transmitters Tx2, Tx3, Tx7, which is seen from the separately obtained assistance information. So we have recovered the transmitter identities. From the identities, the portable device looks up the position coordinates, using the other assistance information.
The portable device works with pseudo-ranges (i.e. distances based on an uncorrected but consistent clock) obtained by subtracting the macroscopic times from the arrival times, as shown at step 124. In this example this yields pseudo-ranges of:
• 0.000
• (2.003 - 2) = 0.003
• (10.001 -10) = 0.001
The units of these pseudo-range distances are light-units (e.g. if the time units are milliseconds, the distance units are light-milliseconds). Note that the pseudo-ranges are the actual ranges with an offset of 0.002 units for each pseudo-range, due to the subtraction of 1.002 which took place earlier.
Remember, the actual times of flight are 0.002, 0.005 and 0.003. It is possible that a pseudo-range may even be negative, but this does not matter. The fact that all pseudo ranges have the same clock error enables the portable device to calculate a fix.
The portable device now solves by standard triangulation and obtains its position, for example as local x, y coordinates. If the device has a mapping application of the area served by the transmitters, the fix will be passed to it, and the fix will be displayed on the map. If the fix is a three dimensional+time one, (so requiring four pseudo-ranges), in ECEF x,y,z coordinates, these coordinates can be converted to latitude, longitude and altitude by standard formulae (using a geoidal or ellipsoidal model of the earth) and represented, for example, in NMEA (National Marine Electronics Association) format. A general mapping application can be used for these translations.
Distances between a receiver and a transmitter, uncorrected for local clock errors, are called pseudo-ranges. If we also know the positions of the transmitters then, given sufficient transmitters, we can calculate the position of the receiver using a triangulation technique (step 126). Figure 9 shows the scenario in two dimensions. In three dimensions, with four transmitters, the equations are:
(X-Xi)2 + (Y-yi)2 + (Z-Z1)2 = { C[ (ti,iocal_arrival " ti ,system_tx) + δt] f
(X-X2)2 + (Y-V2)2 + (Z-Z2)2 = { C[ (t2,iocal_arrival " t2,system_tx) + δt] f
(X-X3)2 + (Y-V3)2 + (Z-Z3)2 = { C[ (t3,iocal_arrival - Wtemjx) + δt] f
(X-X4)2 + (Y-V4)2 + (Z-Z4)2 = { C[ (t4,local_arrival " kβyβtemjx) + δt] Ϋ i.e.
(X-Xi)2 + (Y-yi)2 + (Z-Zi)2 = { C[ (ti,iocal_arrival " ti.systemjx) + δt] f
These equations basically state that for each transmitter, the distance squared is the (velocity times time of flight) squared.
The symbols are:
Xi, yi Zi are the positions of the transmitters T1
X1Y1Z is the position of the receiver to be determined c is the speed of light δt is the local clock error w.r.t. system time, (tsystem - Wai) ti.systemjx is the transmission time of the signal from transmitter / in system time ti,iocai_arrivai is the arrival time of the signal from transmitter / according to the local clock We know the constant c, and the transmitter positions Xi, V1,
Figure imgf000019_0001
and the pseudo- ranges (ti,iocal_arrival " ti.systemjx) and Wβ SOlVβ for X,Y,Z,δt. This is the well-known triangulation technique, with a clock correction quantity included, as in GPS.
If multiple possible positions are output at step 128 then impossible locations are excluded by either an overspecified system, or by knowledge of the geometry of the building at step 130. For any set of coordinates X1Y1Z, the portable device can deduce whether it can sensibly be positioned in that location. This can be implemented via a set of constraints or look-up tables 68, also stored in memory 70 of the portable device, but it may also be possible to place the transmitters in locations such that all impossible solutions are clearly identifiable, being outside a cuboid representing the valid mall space. A position is output at step 132.
Where the portable device obtains more than 4 pseudoranges, the overspecified system is solved using a standard least squares technique, as in GPS. An alternative to using four pseudoranges is to assume the altitude of the portable device, at say 4 feet above the floor in the mall, so that if only three pseudoranges are known a fix can still be obtained.
Another item of assistance information, as an option, is map data 69 that could be downloaded onto the portable device and used by a mapping application executed by processor 64. This allows a portable device, once it has obtained a fix in local coordinates, to display the fix as a point on a map of the area served by the transmitters at step 134.
A further use of the position information is to implement a radio compass, i.e. a compass which determines direction with respect to received radio signals rather than the earth's magnetic field. This can be particularly useful in situations where there is not reliable access to the earth's magnetic field. As shown in Figure 10, the portable device is provided with two antennas 61 , 75 spaced apart along the portable device, one at each end of the portable device. The portable device calculates a first fix using one of the antennas 61 , in the manner previously described, and then calculates a second fix using the other of the antennas 75, also in the manner previously described. The portable device can switch between receiving signals via the first and second antennas by an electronic or electromechanical switching mechanism 76 under the instruction of a control signal 77 from processor 63. With a frequent transmission rate of the sequence, such as every 0.1 seconds or less, it is possible for the portable device to calculate a direction (bearing) after two sequences have been transmitted. A portable device, even if held by a pedestrian, is unlikely to change orientation in that time period. If the fixes for the top and bottom of the device are (Xi Yi Z1) and (X2 Y2 Z2), then the mathematical angle (i.e. with respect to the X axis, measuring anti-clockwise) in the horizontal plane is given by: θ=arctan(ΔY- ΔX) where
AY = Y2 - Y1
ΔX = X2 - X1 θ must be placed in the right quadrant by adding 180° if necessary according the following table:
Figure imgf000021_0001
The navigational angle ψ (North=0°, measuring clockwise), assuming the Y axis is aligned with North, is given by ψ = (90°- θ) (modulo 360).
The resulting bearing can be displayed as an arrow in any navigational direction on the screen of the portable device. The portable device may receive, via a beacon, a mapping table from (where the device is) to (a direction to follow) so that the user is led to a destination by following an arrow on the device. Additionally, or alternatively, the portable device may have access to map information of the local area and can overlay the current bearing as an arrow on the map, at the current position.
Alternatively, given another location, which may be from a person the user is due to meet, the direction as the crow flies to that person can be shown by means of an arrow. The calculation of the angle for the 'other person' with respect to the user is entirely analogous to that of the top and bottom of the user's device.
The position-finding functionality described above can be incorporated into a dedicated portable device or, more likely, is provided as an additional function in a portable device having another function, such as a mobile phone, personal digital assistant (PDA) or other portable computer. The functionality can also be incorporated into GPS portable devices to allow the GPS portable device to operate in areas where GPS is unreliable. The portable device can be hand-held, wearable or mounted in a vehicle or other portable appliance. The assistance information described above, which includes information defining transmitter locations, timing intervals identifying transmitters and optionally map information can either be made publicly available or made available to a selected group of users. In either case, access to the information may be free or charged. The system described above only requires a portable device to receive signals from a set of transmitters. In applications such as tracking assets or children, where position information is determined by a portable device and returned to an administrator, the portable device can use a wireless return channel. For portable devices which already have apparatus to support a return channel, such as a mobile phone, this existing apparatus (see transceiver 80, Figure 3) can be used to return position information.
In the method described above, each transmitter Tx1-Tx7 in the system emits a single pulse each transmitter on each occasion and a receiver detects that pulse, records the arrival time of the pulse and uses a set of received arrival times to determine macroscopic transmitter intervals. The arrival times are also used to determine pseudo-ranges (times of flight) and these are used in a triangulation algorithm. In an alternative scheme, which will now be described, each transmitter emits a train of pulses on each occasion that it transmits. In same way as previously described, each transmitter's emitted pulse train is separated from the pulse train of another transmitter in the system by a time interval which allows that transmitter to be identified. This alternative scheme has the advantage that each pulse in the pulse train can carry less energy than in the single pulse scheme. Referring again to the timing diagram of Figure 2, each arrow now represents the point in time at which the pulse train is detected. The pulse trains of respective transmitters Tx1-Tx7 occur at different times, separated by a time interval which allows the transmitters to be identified. The overall sequence 51 of transmitted pulse trains repeats after a period 53. Each pulse train occurs within a short timespan compared to the interval between transmitters. The number of individual pulses within a pulse train can vary from a relatively small number, e.g. 100 or less, to a very large number, e.g. 250,000 or more. As will be described, a receiver performs correlation of a locally generated pulse train with a received pulse train by shifting the relative timing of the locally- generated and received pulse trains and integrating the correlation result. When a correlation peak is found, both the relative shift (representing time of flight/pseudo-range) and the time of finding a correlation peak are stored as arrival data. The intervals between finding a correlation peak represent the macroscopic spacing of the transmitters (and hence transmitter identity) while the relative shift represents time of flight. The intervals between transmitters sending their pulse trains must be longer than the length of the pulse trains themselves. Each pulse can have a duration of less than a nanosecond, with a spacing of, say, 4 ns between pulses within a pulse train. A pulse train of 250,000 pulses will have a duration of 1 ms. The units of interval between transmitters can be, say, 2ms. A whole sequence of pulse trains from all transmitters can have a duration of around 50 times this value, giving a total sequence duration (51 , Figure 2) of 100 milliseconds, i.e. 0.1s. Figure 11 shows part of the position-determining apparatus 60 of Figure
3, and the pulse detector 62, to implement this alternative scheme at a receiver of a portable device 15. The portable device 15 generates a replica of the expected pulse train by modulating an oscillator 143 onto a pulse train 144 at a first mixer 145. The pulse train 144 is generated by a generator 146 at a time determined by a programmable time delay 150. The oscillator 143 is a continuous sine wave at the centre frequency of the UWB pulses (e.g. in the centre of the 3.1-10.6 GHz frequency range). This locally-generated pulse train 147 is mixed at a second mixer 148 with a signal 141 received via antenna 61 and low noise amplifier (LNA) 142. The result of this mixing operation is applied to an integrator 149, which integrates the power of the signal; this gives an indication of the degree of correlation between the locally- generated signal 147 and the received signal 141. An output representative of the degree of correlation is fed into a controller 63. Controller 63 has two main functions: to control a feedback loop and to start or read a timer. The controller 63 searches for the best delay, equivalent to a phase shift, that it can find during the time that a pulse train is received. It achieves this by altering the value of programmable time delay 150 as a blind search until it obtains some correlation, and then further alters the delay in a way that gives a positive effect on the degree of correlation obtained. When it has found the maximum correlation, it reads the timer 72 (or alternatively starts it for the start of a complete cycle of all transmitters) and puts that time 152 in a buffer for further use when timings from other transmitters have also been obtained. Because the macroscopic intervals separating the pulse trains of different transmitters are much longer than the length of an individual pulse train, the precise length of time that a receiver takes to find a correlation peak does not affect the ability of the receiver to identify the macroscopic intervals representing transmitters.
The time of flight of a signal, i.e. the time to reach the portable device 15 from a transmitter is measured, not by measuring an absolute time such as the time of the first pulse, but by recording the value of the programmable time delay 150 which aligns pulses in the received pulse train 141 with pulses in the locally-generated signal 147. This value 151 of the programmable time delay gives the pseudo-range. The longer the time of flight, the longer the time shift required. Individual pulses within a pulse train will be separated by a greater time than the longest feasible time-of-f light. The time, once measured, is written to a buffer of "measured timings" (or "timestamps"). This is in contrast to the previous scheme where we produced a rising edge as exactly as we could at the time of detection, so as to trigger reading the clock. Figure 12 shows the effect of the programmed delay 150 on the pulse generator 146 and how this is used to obtain time and so a pseudo-range. The black (solid) triangles represent locally-generated pulses while the white pulses represent a received pulse train. The controller 63 alters the delay according to the output of the integrator and its knowledge of which direction of delay (increase/decrease) gave higher correlation. It searches for maximum correlation and outputs delay time that was required to obtain this. This represents the time of flight which is effectively a pseudo-range because of an offset due to clock error. Clearly, the clock error must be small compared to the spacing between pulses. It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The words "comprising" and "including" do not exclude the presence of other elements or steps than those listed in the claim. Where the system/device/apparatus claims recite several means, several of these means can be embodied by one and the same item of hardware.
In the description above, and with reference to the Figures, there is described a positioning system which comprises a set of transmitter stations Tx1-Tx4 which are arranged to transmit at predetermined time intervals with respect to each other and to a common timing reference 20, 21 such that the time intervals can identify each of the transmitter stations. Each pair of transmitted signals can be spaced by a time interval which is different from any other pair of transmitted signals from stations Tx1-Tx4 or a sequence of time intervals separating a sub-set of the group of transmitted signals can be different from a sequence of time intervals for any other sub-set of transmitted signals from Tx1-Tx4. Assistance information 38 distributed to portable devices 15 associates time intervals between transmitted signals to identity and location of transmitter stations in the system. Portable devices determine pseudo-ranges of the transmitter stations from the portable device and determine the position of the portable device using a triangulation technique which uses the locations of the transmitter stations and pseudo-ranges.
APPENDICES
APPENDIX A1
Transmission times and relative intervals for a set of seven transmitters:
Figure imgf000027_0001
Table 1
APPENDIX A2 Transmission times and relative intervals for a set of seven transmitters:
Figure imgf000027_0002
Table 2 APPENDIX A3
Example of transmission intervals with a set of seven transmitters, a sub-set of three transmitters are required for a fix. Sequence obtained using program findseqs.pl shown in Appendix B. The sequences should be read from right to left.
Figure imgf000028_0001
Figure imgf000029_0001
Note that no two arrival differences are the same.
APPENDIX A4
Example of transmission intervals with a set of seven transmitters, a sub-set of four transmitters are required for a fix. Sequence obtained using program findseqs.pl shown in Appendix B. The sequences should be read from right to left.
Figure imgf000030_0001
Figure imgf000031_0001
APPENDIX B
Program findseqs.pl - A Prolog program for generating suitable transmission interval sequences.
The program generates monotonic sequences of integral transmission times for N transmitters (7 for the datasets included) such that the relative spacing of any subsequence of length K (3 and 4 in the datasets included) is unique. The output is included in the main description. The program was run using
WinProlog from Logic Programming Associates, and also under SWI-Prolog (http://www.swi-prolog.org)
/* Author: Graham Thomason, Philips Digital Systems Laboratories /* Date: 10 October, 2004
/*
/*
/* 1 2 3 4 5 6 7 >
7*345678901234567890123456789012345678901234567890123456789012345678901234567J
/ / TOP LEVEL GOAL / / We generate monotonic sequences with the property that: / for any 2 subsequences (of length PICK_K) , / the subsequence differences are not equal / / With dataset (1, ... ) , we find [13,11,8,7,3,1,0] and 3 others /* go:- go(i) . go (N) :- dataset (N, SEQ, DIG, LIMIT, PICK_K) , /* pick up data increments_around_nth_digit (DIG, SEQ, LIMIT, OUT) , /* get next sequence
/* write (OUT) ,nl,~*/ ~ nosamediff (OUT, PICK_K) , /* backtrack if unsuitable diff (OUT, DOUT) , /* get sequence difference nl, write (OUT) ,tab(3) , write (DOUT) ,nl, /* write seq and diff pick(PICK_K, OUT, SUBSEQ) , /* get next subsequence diff (SUBSEQ, DSUBSEQ) , /* and its difference write(SUBSEQ) ,tab(3) , write (DSUBSEQ) ,nl, /* write subseq and diff fail. /* backtrack go(_) .
/* There must be no pair of subsets with the same difference */ nosamediff (OUT, PICK K):- pick(PICK_K,OUT,A) , /* get a subsequence pick(PICK_K,OUT,B) , /* get another subsequence
A\=B, /* accept if different subsequences diff (A, DA) , /* get the differences of the first subsequence diff (B, DB) , /* get the differences of the second subsequence
DA=DB, /* fail if equal t fail, nosamediff (A, B) . /* succeed if we never fail
/* */
/* dataset (SETNUMBER, SEQUENCE, LIMIT, PICK_K) */
/* ======================================== */ /* Data sets, to feed the top level goals. */ /* */ /* SETNUMBER is the data set identification number (for if we have several)*/ /* SEQUENCE represents a number of transmitters in a start configuration /* with their relative timing intervals /* LIMIT is the maximum number in a sequence we allow. /* PICK_K is the length of subsequence we use
I* in requiring distinguishable subsequence differences
/* The written output is the useful sequences found.
/* dataset(l, SEQUENCE, STARTDIGIT, 13, 3) :- SEQUENCE= [6,5,4,3,2,1,0], member (STARTDIGIT, SEQUENCE) , /* First digit of sequence gives STARTDIGIT I /* We only want first solution of "member" dataset(2, SEQUENCE, STARTDIGIT, 10, 4) :- SEQUENCE= [6,5,4,3,2,1,0], member (STARTDIGIT, SEQUENCE) , /* First digit of sequence gives STARTDIGIT */ /* We only want first solution of "member" */
/* */
/* increments_around_nth_digit (1, IN, LIMIT, OUT) */
/* =========================================== */
/* Successive monotonic sequences starting with IN, are produced in OUT, */ /* starting the incrementation at the Nth digit (element) , up to a LIMIT */
/* */
/* RECURSION PATTERN */
/* (All increments and repetitions are to some LIMIT) */
/* */
/* increments around 1st digit */
/* increment first digit repeatedly LEVEL A2 */
/* */
/* increments around 2nd digit */
/* increment second digit, */
/* do the above (=increments around 1st digit) */
/* increment second digit, */
/* do the above (=increments around 1st digit) */
/* ... */
/* */
/* increments around 3rd digit */
/* increment third digit, */
/* do the above (=increments around 2nd digit) */
/* increment third digit, */
/* do the above (=increments around 2nd digit) */
/* ... */
/* */
/* increments around 4th digit */
/* increment fourth digit, */
/* do the above (=increments around 3rd digit) */
/* increment fourth digit, */
/* do the above (=increments around 3rd digit) */
/* ... */
/* */
/* */ increments_around_nth_digit (1, IN, LIMIT, OUT) :- increment_repeatedly_nth_digit (1, IN, LIMIT, OUT) . increments_around_nth_digit (N, IN, LIMIT, OUT) :- N>1, increment_repeatedly_nth_digit (N, IN, LIMIT, MIDI) , NN is N-I, increments_around_nth_digit (NN, MIDl, LIMIT, OUT) .
/* demo */ iand:- increments_around_nth_digit (6, [6,5,4,3,2,1,0] ,8,OUT) , write (OUT) ,nl, fail, iand. /* increment_repeatedly_nth_digit (N, IN, LIMIT, NEW) */
/* ============================================== */
/* */
/* Demo (below) results, incrementing second digit repeatedly, LIMIT=IO */ /* [6,5,4], [7,6,4], [8,7,4], [9,8,4], [10,9,4] */
/* */ increment_repeatedly_nth_digit (N, IN, LIMIT, IN) . /* NULL ACTION */ increment_repeatedly_nth_digit (N, IN, LIMIT, NEW) :- increment_nth_digit (N, IN, LIMIT,NEW2) , increment_repeatedly_nth_digit (N, NEW2, LIMIT, NEW) .
/ * demo * / irnd:- SEQ= [6, 5, 4] ,
LIMIT=IO, increment_repeatedly_nth_digit (2, SEQ, LIMIT, OUT) , write (OUT) , fall, irnd.
/* V /* increment_nth_digit (N, IN, LIMIT, OUT) */
/* =================================== */
/* Increment the Nth-from-head digit */
/* Ensure previous digits run monotonically : */
/* Ensure no newly generated digit exceeds LIMIT */ /* [..., N+3, N+2, N+l, UNCHANGED, UNCHANGED, ...] */
/* */ increment_nth_digit (N, IN, LIMIT, OUT) :- get_nth_digit (N, IN, PRE, [DIG | POST] ) ,
LIMIT2 is LIMIT-N, /* The limit is on the head digit */ DIG =< LIMIT2, /* So a lower limit on the nth digit */
DIG2 is DIG+1, /* Increment Nth digit */ set_pre(PRE,DIG2,PRE2) , /* Set the preceding part of the list */ append(PRE2, [DIG2 IPOST] ,OUT) . /* Compose the result */ /* demo, shows incrementing suceeding, and failing on limit */ ind:-
SEQ= [8, 5,1] ,
LIMIT1=8, increment_nth_digit (2, SEQ, 8,OUTl) , write ( 1LIMIT=1 ) , write (LIMITl ) , tab(l) , write (OUTl) ,nl,
LIMIT2=7, increment_nth_digit (2, SEQ, 7,OUT2) , write ( 1LIMIT=1 ) , write (LIMIT2 ) , tab(l) , write (OUT2) ,nl,
LIMIT3=6, increment_nth_digit (2,SEQ, 6,OUT3) ,
Wr^e(1LIMIT=1 ) , write (LIMIT3) ,tab(l) , write (OUT3) ,nl. ind.
/* */
/* get_nth_digit (N, IN, PRE, TAIL) */ /* ============================ */
/* */
/* Get the Nth digit of IN into the head of TAIL. */
/* The sublist preceding the Nth digit is returned in PRE. */
/* EXAMPLE */ /* get_nth_digit(3, [10,8,6,4,2,0] ,PRE, TAIL) . // get third digit (=6) */
/* PRE = [10,8] , // preceding part returned */
/* TAIL = [6,4,2,0] // head of tail = 6 */
/* */ get_nth_digit (1, IN, PRE, TAIL) :- /* EXAMPLE */ PRE=[] , /* N=I, IN=[a,b] , PRE=[] , TAIL= [a, b] */
IN=TAIL, get_nth_digit (N, IN, PRE, TAIL) :- /* EXAMPLE */ N>1, /* N=4, IN=[a,b,c,d,e,f,g,h] */
NN is N-I, get_nth_digit (NN, IN, PRE2 , TAIL2 ) , /* PRE2=[a,b], TAIL2=[c,d,e,f,g,h] */ TAIL2=[DIG|TAIL] , /* DIG=C TAIL= [d,e,f,g,h] */ TAIL \=[] , /* exclude empty tail */ append (PRE2, [DIG] ,PRE) . /* PRE=[a,b,c] */
/* */
/* set_pre(IN,DIG,OUT) */
/* =================== */
/* Make OUT a minimal monotonically decreasing list, */
/* starting with DIG+1 on the right */
/* The length of OUT willbe equal to the length of IN, */
/* The contents of IN are otherwise irrelevant. */
/* */
/* EXAMPLE */
/* IN= [7, 5, 4] DIG=9, OUT= [12 , 11 , 10] (IN just gives the length) */
/* */
/* */ set_pre( [] ,DIG, [] ) . /* IN of length 0 set_pre( [A] ,DIG, [DIG2] ) :- DIG2 is DIG+1. /* IN of length 1 set_pre( [H | T] , DIG, [HH | TT] ) :- T\=[], /* IN of length at least 2 */ set_pre(T,DIG,TT) , TT= [H2 |T2] , HH is H2+1.
Figure imgf000035_0001
/* Choose any K items in sequence from list IN, producing subsequence OUT */
/* This is related to the K-Combmation-N binomial term (N=length of list) */
/* */ /* EXAMPLE */
/* pick(3, [a,b,c,d,e] ,P) . */
/* P= [a,b,c]; [a,b,d]; [a,b,e]; [a,c,d]; [a,c,e]; */
/* [a,d,e]; [b,c,d]; [b,c,e]; [b,d,e]; [c,d,e]; */
/* V :- member (MEM, IN) , /* To pick one element, just take next "member" */ OUT= [MEM] . :- K>1, /* For picking more than one element */ memberRestAfter (MEM, REST, IN) , /* Single pick one element... */
KK is K-I, /* with REST=everythmg after it */ pick(KK, REST, MEM2) , /* Recursive pick from the tail */ OUT= [MEM|MEM2] . /* Combine single pick and recursive pick */
/* */
/* memRestAfter (MEMBER, REST, LIST) */
/* ============================== V /* MEMBER of a LIST and the REST-list after that member */
/* */
/* EXAMPLE */
/* memberRestAfter (M, R, [a, b, c, d] ). */
/* M=a, R= [b, c,d]; */ /* M=b, R=[c,d]; */
/* M=c, R= [d]; */
/* M=d, R=[]; */
/* */ memberRestAfter (M, R, L) :- L=[M|R] . memberRestAfter (M, R, L) :-
L=[HIT], memberRestAfter (M, R, T) . /* V
Figure imgf000036_0001
/* Difference between successive elements of LIST */
/* EXAMPLE */
/* diff ([9, 5, 3,1], D) . */
/* D = [4,2,2] V
10 /* */
Figure imgf000036_0002
diff ( [Hl, H2 |T] , [HH I TT] ) :- 15
Figure imgf000036_0003
.
/* V
ZU /* gn_fmdall/3 */
/* ============ */
/* Description: */
/* Clocksin and Mellish p.163 - with modified names */
'* *'
25 /* Parameters: */
/* findall (X, G, L) constructs a list L of all the objects X such */
/* that the goal G is satisfied. Recursive find (i.e. in G) is */
/* supported. */
/* V
JU gn_fmdall(X,G,_) :- asserta (gn_found (mark) ) , call (G) , asserta (gn_found (X) ) , fail . 35 gn_fmdall (_, _, L) : - gn_collect_found ( [ ] , M) , t
L=M.
40 /* v
/* gn_collect_found */
/* Auxiliary predicate to gn_findall */
/* */ gn_collect_found (S , L) : - 45 gn_getnext (X) , t gn_collect_found ( [X | S ] , L) . gn_collect_found (L, L) . OU
/* */
/* gn_getnext */
/* Auxiliary predicate to gn_findall */
/* V
00 gn_getnext (X) : - retract (gn_found (X) ) , t
X\==mark. 60 /* [end of module] */

Claims

1. A method of determining the position of a portable device (15) in a system comprising a set of transmitter stations (Tx1-Tx4), the set of transmitter stations (Tx1-Tx4) being arranged to transmit a signal at predetermined time intervals with respect to each other and to a common timing reference (20, 21 ), the method comprising performing, at the portable device (15), the steps of: receiving a signal from each of a plurality of the transmitter stations (Tx1-Tx4); determining the arrival time of each signal; determining the identity of each transmitter station by comparing the differences in arrival time of received signals with stored assistance information which associates time intervals between transmitted signals to identity and location of transmitter stations in the system; determining pseudo-ranges of the portable device from the transmitter stations and determining the position of the portable device using a triangulation technique which uses the locations of the transmitter stations and the pseudo-ranges.
2. A method according to claim 1 wherein the step of determining pseudo- ranges of the portable device from the transmitter stations subtracts the predetermined time intervals from the arrival times of the received signals, so that the remaining time differences are pseudo-ranges, and determining the position of the portable device using a triangulation technique which uses the locations of the transmitter stations and the pseudo-ranges.
3. A method according to claim 1 wherein each signal received from a transmitter station comprises a pulse train and the method comprises correlating a locally-generated pulse train with the received pulse train, the arrival time being the time at which a correlation peak occurs.
4. A method according to claim 3 wherein the step of determining pseudo- ranges of the portable device from the transmitter stations comprises time- shifting the locally-generated pulse train with respect to the received pulse train to determine a time-shift at which a correlation peak occurs, the time-sift representing a pseudo-range.
5. A method according to claim 3 or 4 wherein pulses within a pulse train are separated by more than an expected time-of-flight of a signal between a transmitter station and a portable device.
6. A method according to any one of the preceding claims wherein the predetermined time intervals are longer than an expected time-of-flight of a signal between a transmitter station and a portable device.
7. A method according to any one of the preceding claims wherein the step of determining the identity of each transmitter station compares the differences in arrival time of a sequence of received signals with stored information to determine the identity of each of the transmitters in the sequence.
8. A method according to claim any one of the preceding claims which uses a signal from at least three differently positioned transmitter stations.
9. A method according to claim 8 further comprising maintaining a clock (72) at the portable device and updating the clock by using a signal received from a further transmitter station in the triangulation technique.
10. A method according to any one of the preceding claims wherein the stored information is received at the portable device via a wireless data transmission.
11. A method according to any one of the preceding claims wherein the portable device comprises two antenna elements (61 , 75) which are spaced apart on the device, the method further comprising determining a first position of the portable device using a first of the antenna elements and determining a second position of the portable device using a second of the antenna elements and determining a direction in which the portable device is pointing using the first and second determined positions.
12. A controller for a portable device comprising control logic for performing the method according to any one of the preceding claims.
13. A portable device comprising the controller of claim 12.
14. A portable device according to claim 13 which further comprises a receiver for receiving a signal from each of a plurality of the transmitter stations
(Tx1-Tx4).
15. Software for causing a processor of a portable device to perform the method according to any one of claims 1 to 11.
16. A system for use in determining position of a portable device (15), the system comprising a set of transmitter stations (Tx1-Tx4), each of the set of transmitter stations being arranged to transmit a signal at a predetermined time interval with respect to other transmitter stations and to a common timing reference (20, 21 ) such that the time intervals can identify each of the transmitter stations.
17. A system according to claim 16 wherein, for a group of transmitted signals from the set of transmitter stations, each pair of transmitted signals are spaced by a time interval which is different from any other pair of transmitted signals.
18. A system according to claim 16 wherein, for a group of transmitted signals from the set of transmitter stations, a sequence of time intervals separating a sub-set of the group of transmitted signals is different from a sequence of time intervals for any other sub-set of transmitted signals.
19. A system according to claim 18 wherein the sub-set is three or four transmitted signals.
20. A system according to any one of claims 16 to 19 wherein each transmitter station receives timing information which the transmitter station can use to time the transmission of a signal.
21. A system according to claim 20 further comprising a system manager (35) which obtains an input from a reference clock (20, 21) and distributes (36) timing information to each of the transmitter stations (Tx1 -Tx4).
22. A system according to claim 21 wherein each of the transmitter stations (Tx1-Tx4) is connected to the system manger (35) via a transmission path and the timing information corrects for a delay introduced by the transmission path.
23. A system according to any one of claims 20 to 22 wherein the timing information specifies the time at which a transmitter station (Tx1-Tx4) should transmit.
24. A system according to any one of claims 20 to 23 wherein a transmitter station (Tx1-Tx4) uses the timing information to maintain a local clock (105) at the transmitter station.
25. A system according to any one of claims 16 to 24 further comprising providing assistance information (38) to portable devices (15) which associates time intervals between transmitted signals to identity and location of transmitter stations in the system.
26. A system according to any one of claims 16 to 25 wherein each signal transmitted by a transmitter station comprises a pulse train in which the pulses are separated by more than an expected time-of-flight of a signal between a transmitter station and a portable device.
27. A transmitter station (Tx1-Tx4) for use in the system of any one of claims 16 to 26.
28. A method of operating a set of transmitter stations (Tx1-Tx4) for use in determining position of a portable device (15), the method comprising causing the set of transmitter stations to transmit a signal at a predetermined time interval with respect to other transmitter stations and to a common timing reference (20, 21 ) such that the time intervals can identify each of the transmitter stations.
29. A method according to claim 28 wherein, for a group of transmitted signals from the set of transmitter stations, each pair of transmitted signals are spaced by a time interval which is different from any other pair of transmitted signals.
30. A method according to claim 28 wherein, for a group of transmitted signals from the set of transmitter stations, a sequence of time intervals separating a sub-set of the group of transmitted signals is different from a sequence of time intervals for any other sub-set of transmitted signals.
31. A method according to any one of claims 28 to 30 further comprising providing assistance information to portable devices (15) which associates time intervals between transmitted signals to identity and location of transmitter stations in the system.
PCT/IB2006/052886 2005-08-22 2006-08-21 Determining position of a portable device WO2007023446A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05107698 2005-08-22
EP05107698.2 2005-08-22

Publications (1)

Publication Number Publication Date
WO2007023446A1 true WO2007023446A1 (en) 2007-03-01

Family

ID=37507663

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2006/052886 WO2007023446A1 (en) 2005-08-22 2006-08-21 Determining position of a portable device

Country Status (1)

Country Link
WO (1) WO2007023446A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012108814A1 (en) 2011-02-11 2012-08-16 Telefonaktiebolaget L M Ericsson (Publ) Ue-side removal of positioning assistance ambiguity
CN103370633A (en) * 2011-02-11 2013-10-23 瑞典爱立信有限公司 Network-side removal of positioning assistance ambiguity via selective delay of assistance data transmission
US8849302B2 (en) 2011-02-11 2014-09-30 Telefonaktiebolaget L M Ericsson (Publ) UE-side removal of positioning assistance ambiguity
US9188660B2 (en) 2011-02-11 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Network-side removal of positioning assistance ambiguity via selective delay of assistance data transmission
EP3079381A1 (en) * 2015-04-09 2016-10-12 Datalogic IP TECH S.r.l. High accuracy indoor locating system
CN109154642A (en) * 2016-04-15 2019-01-04 株式会社电装 For establishing the system and method positioned in real time
CN109975747A (en) * 2019-03-26 2019-07-05 四川中电昆辰科技有限公司 Positioning signal reception method, device and equipment
US10859663B2 (en) 2017-04-30 2020-12-08 Pointme Ltd. Beacon-based position awareness system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4651156A (en) * 1982-02-08 1987-03-17 Mcgraw-Edison Co. Integrated radio location and communication system
EP0320913A2 (en) * 1987-12-18 1989-06-21 Nokia-Mobira Oy A method for locating a mobile station, as well as a mobile station and a base station for carrying out the method
GB2277152A (en) * 1993-04-03 1994-10-19 Cat Systems Ltd Localising system for robotic vehicles
US20030048220A1 (en) * 2000-04-21 2003-03-13 Rene Gounon Method and device for instantaneous determination of orientation, based on satellite positioning signals
US20040051663A1 (en) * 2002-06-26 2004-03-18 Risto Martikkala Method for calculating absolute time difference in radio system, and radio system
FR2849926A1 (en) * 2003-01-10 2004-07-16 Raymond Houdas Mobile object e.g. ship, locating device, has three non-aligned fixed stations transmitting digital data and two distinct temporary markers separated by interval time, in cylindrical and calibrated rhythm

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4651156A (en) * 1982-02-08 1987-03-17 Mcgraw-Edison Co. Integrated radio location and communication system
EP0320913A2 (en) * 1987-12-18 1989-06-21 Nokia-Mobira Oy A method for locating a mobile station, as well as a mobile station and a base station for carrying out the method
GB2277152A (en) * 1993-04-03 1994-10-19 Cat Systems Ltd Localising system for robotic vehicles
US20030048220A1 (en) * 2000-04-21 2003-03-13 Rene Gounon Method and device for instantaneous determination of orientation, based on satellite positioning signals
US20040051663A1 (en) * 2002-06-26 2004-03-18 Risto Martikkala Method for calculating absolute time difference in radio system, and radio system
FR2849926A1 (en) * 2003-01-10 2004-07-16 Raymond Houdas Mobile object e.g. ship, locating device, has three non-aligned fixed stations transmitting digital data and two distinct temporary markers separated by interval time, in cylindrical and calibrated rhythm

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012108814A1 (en) 2011-02-11 2012-08-16 Telefonaktiebolaget L M Ericsson (Publ) Ue-side removal of positioning assistance ambiguity
WO2012108812A1 (en) 2011-02-11 2012-08-16 Telefonaktiebolaget L M Ericsson (Publ) Network-side removal of positioning assistance ambiguity via selective delay of assistance data transmission
CN103370633A (en) * 2011-02-11 2013-10-23 瑞典爱立信有限公司 Network-side removal of positioning assistance ambiguity via selective delay of assistance data transmission
US8849302B2 (en) 2011-02-11 2014-09-30 Telefonaktiebolaget L M Ericsson (Publ) UE-side removal of positioning assistance ambiguity
CN103370633B (en) * 2011-02-11 2015-04-29 瑞典爱立信有限公司 Network-side removal of positioning assistance ambiguity via selective delay of assistance data transmission
US9188660B2 (en) 2011-02-11 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Network-side removal of positioning assistance ambiguity via selective delay of assistance data transmission
EP3079381A1 (en) * 2015-04-09 2016-10-12 Datalogic IP TECH S.r.l. High accuracy indoor locating system
US9571985B2 (en) 2015-04-09 2017-02-14 Datalogic Ip Tech S.R.L. High accuracy indoor locating system
US10448203B2 (en) 2015-04-09 2019-10-15 Datalogic Ip Tech S.R.L. High accuracy indoor locating system
CN109154642A (en) * 2016-04-15 2019-01-04 株式会社电装 For establishing the system and method positioned in real time
US10859663B2 (en) 2017-04-30 2020-12-08 Pointme Ltd. Beacon-based position awareness system
US11385313B2 (en) 2017-04-30 2022-07-12 Pointme Ltd. Beacon-based position awareness system
CN109975747A (en) * 2019-03-26 2019-07-05 四川中电昆辰科技有限公司 Positioning signal reception method, device and equipment

Similar Documents

Publication Publication Date Title
WO2007023446A1 (en) Determining position of a portable device
CN1833178B (en) A system and method for providing assistance data within a location network
CN101487889B (en) Inter-network operation of multiple location networks
CN101371159B (en) A method for combined use of a local positioning system, a local RTK system, and a regional, wide- area, or global carrier-phase positioning system
US6812884B2 (en) Transceiver system and method utilizing nanosecond pulses
US6611758B1 (en) Environmental location system
CN100401093C (en) Method and apparatus for determining an error estimate in a hybrid position determination system
CA2223537C (en) Enhanced position calculation
US7899006B2 (en) Location system for wireless local area network (WLAN) using RSSI and time difference of arrival (TDOA) processing
US20120050103A1 (en) Synthetic aperture device for receiving signals of a system comprising a carrier and means for determining its trajectory
CN108351400A (en) System and method for the positioning of ultra wide band position
WO2008034728A1 (en) Integrated mobile-terminal navigation
CN101156078A (en) Positioning system with intentional multi-path signal
US11821997B2 (en) Techniques for determining geolocations
CN101903794A (en) Suppression of multipath effects for received SPS signal
WO2013165851A1 (en) Terrestrial position and timing system
US11668837B2 (en) Systems and methods for GNSS processing to determine secondary code phase
Mathews et al. SCP enabled navigation using signals of opportunity in GPS obstructed environments
US6775616B1 (en) Environmental location system
Eichelberger Robust Global Localization Using GPS and Aircraft Signals
US20120188126A1 (en) Synthetic Aperture Antenna Device for Transmitting Signals of a Satellite Navigation System Comprising a Carrier and Means for Determining its Trajectory
US11573085B2 (en) Positioning system and method
US11719782B2 (en) One-way time-of-flight localization using sonic and electromagnetic signals for mobile ad hoc networks
Vincent et al. Doppler-aided position estimation for HS-GNSS
US20230199677A1 (en) Localization using repeated transmissions of electromagnetic signals for mobile ad hoc networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06795718

Country of ref document: EP

Kind code of ref document: A1