WO2001034264A1 - Acoustic location system - Google Patents

Acoustic location system Download PDF

Info

Publication number
WO2001034264A1
WO2001034264A1 PCT/GB2000/004326 GB0004326W WO0134264A1 WO 2001034264 A1 WO2001034264 A1 WO 2001034264A1 GB 0004326 W GB0004326 W GB 0004326W WO 0134264 A1 WO0134264 A1 WO 0134264A1
Authority
WO
WIPO (PCT)
Prior art keywords
acoustic
signal
position detection
detection system
spread spectrum
Prior art date
Application number
PCT/GB2000/004326
Other languages
French (fr)
Other versions
WO2001034264A8 (en
Inventor
David Bartlett
Scott Hommel
Michael Reynolds
David Alexander Butler
Peter John Kelly
Original Assignee
Scientific Generics Limited
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
Priority claimed from GBGB9926758.5A external-priority patent/GB9926758D0/en
Priority claimed from PCT/GB2000/002961 external-priority patent/WO2001010065A1/en
Application filed by Scientific Generics Limited filed Critical Scientific Generics Limited
Priority to AU12904/01A priority Critical patent/AU1290401A/en
Publication of WO2001034264A1 publication Critical patent/WO2001034264A1/en
Publication of WO2001034264A8 publication Critical patent/WO2001034264A8/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H17/00Toy vehicles, e.g. with self-drive; ; Cranes, winches or the like; Accessories therefor
    • A63H17/26Details; Accessories
    • A63H17/42Automatic stopping or braking arrangements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • G01S5/26Position of receiver fixed by co-ordinating a plurality of position lines defined by path-difference measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation

Definitions

  • This invention relates to a position detection system in which an object is able to determine its position based on acoustic signals output by one or more beacons and components thereof.
  • a problem with the positioning system described in US Patent No. 5491670 is that the chirps of sound can be obscured by background noise.
  • a further problem is that if the chirps of sound are in the frequency range which is audible to the human ear then they can be annoying to human beings, while if the chirps of sound are at ultrasonic frequencies then they can annoy dogs and other animals whose hearing extends to ultrasonic frequencies.
  • An object of the present invention is to provide an alternative positioning system to that described in US Patent No . 5 , 49 1 , 670 .
  • a positioning system comprising at least one acoustic beacon for emitting acoustic signals and an object operable to determine its position based on the acoustic signals emitted by the or each beacon.
  • the positioning system comprises means for generating a spread spectrum audio data signal for the or each beacon and the object comprises means for calculating its position based on the emitted spread spectrum acoustic signals corresponding to the spread spectrum audio data signals.
  • different spread spectrum signals are used for each beacon which removes the need for staggering the acoustic signals to avoid collisions where two acoustic signals arrive at the same time. This is particularly advantageous if the object is moving because of the resulting improvement in accuracy of position detection.
  • sufficient beacons are provided so that the calculating means is operable to calculate the object's position based on the differences in the time required for acoustic signals from different beacons to arrive at the object. In this way, the object does not need to know the absolute timing at which the beacons transmit the audio signals.
  • Figure 1 schematically shows a position detection system in which a plurality of beacons transmit acoustic signals to a remote-controlled vehicle
  • Figure 2 schematically shows electrical circuitry of a master beacon in the position detection system shown in Figure 1 ;
  • Figure 3A is a timing diagram illustrating a pseudo- noise code sequence
  • Figure 3B is a timing diagram illustrating a carrier signal which has been phase-modulated by the pseudo-noise code sequence shown in Figure 3A;
  • Figure 3C is a timing diagram illustrating a sampled signal obtained by sampling the modulated signal shown in Figure 3B;
  • Figure 4 is a plot illustrating the power spectrum of a modulated data signal with and without spread spectrum encoding
  • Figure 5 schematically shows electrical circuitry of the remote-controlled vehicle in the position detection system shown in Figure 1 ;
  • Figure 6 shows in more detail a correlator unit of the electrical circuitry illustrated in Figure 5;
  • Figure 7 schematically shows an alternative remote control unit for controlling the vehicle in the position detection system illustrated in Figure 1;
  • Figure 8 schematically shows a first alternative electrical circuit of the remote-controlled vehicle to the electrical circuitry illustrated in Figure 5;
  • FIG 9 schematically shows remote control signals decoder circuitry which forms part of the electrical circuitry illustrated in Figure 8;
  • FIG 10 shows in more detail an acquisition unit of the decoder circuitry illustrated in Figure 9;
  • Figure 11 shows in more detail a normalisation circuit of the acquisition unit illustrated in Figure 10;
  • Figure 12 shows in more detail an averaging circuit of the normalisation circuit illustrated in Figure 11;
  • Figure 13 is a plot of the output of the normalisation circuit of the acquisition unit illustrated in Figure 10;
  • Figure 14 is a plot of the output of a cross- correlator of the acquisition unit illustrated in Figure 10;
  • Figure 15 shows in more detail the components of a processor used in the decoder circuitry illustrated in Figure 9;
  • Figure 16 shows in more detail a power comparator of the decoder circuitry illustrated in Figure 9;
  • FIG. 17 schematically shows alternative decoder circuitry to the decoder circuitry illustrated in Figure
  • Figure 18 schematically shows a first alternative acquisition unit to the acquisition unit illustrated in Figure 10;
  • Figure 19 schematically shows a second alternative acquisition unit to the acquisition unit illustrated in Figure 10;
  • Figure 20 is a plot of the power spectrum of a first alternative data signal
  • Figure 21 is a plot of the power spectrum of a second alternative data signal
  • Figure 22 is a plot of the power spectrum of a third alternative data signal
  • Figure 23 schematically shows a signalling system for transmitting control information and positioning signals via the audio track of a television program.
  • Figure 1 shows a remote-controlled vehicle 1 having mounted thereon an omni-directional microphone 3 for detecting acoustic signals.
  • Figure 1 also shows a master beacon 5 which is connected to three slave beacons 7a to 7c by respective cables 9a to 9c.
  • the master beacon 5 and the slave beacons 7 transmit respective acoustic signals 11a to lid which are detected by the microphone 3 of the vehicle 1 and processed by electrical circuitry in the vehicle 1 to determine the position of the vehicle 1.
  • the vehicle 1 responds to the control signals unless the position detection system indicates that the vehicle 1 is about to leave a predetermined allowed area, details of which are stored in the vehicle 1, in which case the vehicle 1 overrides the control signals so that the vehicle 1 remains always within the allowed area.
  • the allowed area within which the vehicle moves is chosen to be free of obstructions or fragile objects so that the vehicle 1 does not damage either itself or any fragile object.
  • the vehicle 1 is in the same plane as the master beacon 5 and the slave beacons 7.
  • an origin that is a position (0,0) with respect to which other positions in the plane are determined by their distance away from the origin in perpendicular x and y directions, is defined by the position of the master beacon 5.
  • the vehicle 1 is at a position (X V ,Y V ) relative to the origin and the slave beacons 7a to 7c are at positions ( X x , Y ⁇ ) , (X 2 ,Y 2 ) and (X 3 , Y 3 ) respectively relative to the origin.
  • the distance r x between the vehicle 1 and the master beacon 5 and distances r 2 , r 3 , and r 4 between the vehicle 1 and the slave beacon 7a, 7b and 7c respectively are given by:
  • a differential time of flight measurement system is employed in which the difference between the time required for the acoustic signal 11a to travel from the master beacon 5 to the vehicle 1 and the time required for each of the acoustic signals lib to lid to travel from the corresponding slave beacon 7 to the vehicle 1 are measured.
  • a value representative of the difference in the distance over which the acoustic signals 11 have travelled is obtained.
  • a value C 12 is obtained which is equal to the difference between the distance from the vehicle 1 to the master beacon 5 and the distance from the vehicle 1 to the slave beacon 7a (i.e. r !
  • a value C 13 is obtained for the difference between the distance from the vehicle 1 to the master beacon 5 and the distance from the vehicle 1 to the slave beacon 7b (i.e. r ! ⁇ r 3 ) ; and a value C 14 is obtained for the difference between the distance from the vehicle 1 to the master beacon 5 and the distance from the vehicle 1 to the slave beacon 7c (i.e. r ! -r 4 ) .
  • Equation 1 By inserting C 12 , C 13 and C 14 into Equations 2 to 4 and substituting r : 2 for X v 2 + Y v 2 (see Equation 1 above), the following equations can be derived:
  • the remote control unit 13 is a conventional remote control unit which transmits radio frequency (RF) control signals to the vehicle 1, will now be described with reference to Figures 2 to 6.
  • RF radio frequency
  • FIG. 2 shows electrical circuitry in the master beacon 5 which is used to generate audio data signals which correspond to the acoustic signals 11.
  • a control unit 21 in the master beacon 5 outputs control signals to each of four pseudo-noise (PN) code generators 23a to 23d.
  • PN codes are binary codes which appear to be completely random in nature, but which are in fact deterministic, i.e. they can be reproduced.
  • these codes are generated by exclusive-OR feedback from synchronously clocked registers. By continually clocking the registers, the PN code is cyclically reproduced. The number of registers, the registers used in the feedback path and the initialisation state of the registers determines the length of the code and the specific code produced.
  • each of the PN code generators 23 has eight registers and is arranged to generate a respective PN code having 255 bits (which will hereinafter be referred to as "chips" using the standard nomenclature in the art to distinguish the bits of the PN code from the bits of a data signal) in a stream with no sequence of more than 8 chips repeated in the 255 chips.
  • chips bits
  • Such a PN code is conventionally referred to as an 8 bit code after the number of registers used to generate it.
  • a binary 0 is added to make the total length of the stream 256 chips.
  • the PN code generators 23 generate respective different orthogonal PN codes.
  • PN code generator 23a generates a code sequence which will be referred to as PN code 1
  • PN code generator 23b generates a code sequence which will be referred to as PN code 2
  • PN code generator 23c generates a code sequence which will be referred to as PN code 3
  • PN code generator 23d generates a code sequence which will be referred to as PN code 4.
  • the PN codes are made orthogonal so that if any two of the PN codes are multiplied together chip by chip another pseudo-noise sequence is generated.
  • Each of the PN codes is generated at a rate of 5512.5 chips per second and each binary 1 is represented as +1 and each binary 0 is represented as -1, e.g. plus 1 volt and minus
  • each of the PN code generators In response to a signal from the control unit 21, each of the PN code generators emits a respective 256 chip PN code sequence.
  • the rate at which the control unit signals the PN code generators 23 to emit their respective PN codes is dependent on the operating requirements of the position detection system. In particular, the time between PN code emissions should preferably be significantly longer than the maximum likely time-of-flight difference for the acoustic signals
  • each PN code generator 23 is input to a respective one of the modulators 25a to 25d where it is used to modulate a carrier signal generated by a local oscillator 27.
  • the frequency of the carrier signal is 5512.5 Hz and phase shift keying is used to modulate the carrier signal.
  • Figures 3A and 3B show a chip sequence output by one of the PN code generators 23, in the form of a logic signal, and the corresponding modulated signal output by the corresponding modulator 25 respectively.
  • a phase shift of a 180° is introduced into the carrier signal. In this way, a spread spectrum signal is generated.
  • FIG. 4 The effect of the spread spectrum encoding is illustrated in Figure 4 in which a modulated baseband signal 35, which would result if the carrier signal was modulated by a baseband signal, is compared with the spread spectrum signal 37 generated when the carrier signal is modulated by the PN code sequence.
  • the modulated baseband signal 35 is a narrowband signal centred at approximately 5.5 kHz while the spread spectrum signal 37 has a power spectrum with a main band spread between 0 and 11 kHz and harmonic bands at higher frequencies.
  • the peak power level is significantly reduced.
  • the spread spectrum signal 37 is not noticeable to the user 15 or is heard only as background white noise.
  • the spread spectrum signal output by each of the modulators 25 is amplified by a respective one of four audio amplifiers 29a to 29d to generate audio data signals S (t), S 2 (t), S 3 (t) and S 4 (t).
  • the audio data signal Si(t) is input to a loudspeaker 31, forming part of the master beacon 5, which generates the corresponding acoustic signal 11a.
  • the audio data signals S 2 (t), S 3 (t) and S 4 (t) are conveyed to respective ones of the slave beacons 7, via the cables 9.
  • Each slave beacon 7 has a loudspeaker which converts the incoming audio data signal S(t) into the corresponding acoustic signal 11.
  • Figure 5 shows the circuitry which is provided, in this embodiment, in the vehicle 1.
  • the vehicle 1 includes the microphone 3 which detects the acoustic signals 11 emitted by the master beacon 5 and the slave beacons 7 and converts them into an electrical signal D(t).
  • This electrical signal D(t) is then input to a filter to remove high frequency components including the higher harmonic bands of the spread spectrum signal 37.
  • the filtered signal is then input to an analog-to-digital converter (ADC) 43 where it is converted into a digital signal J(t).
  • ADC analog-to-digital converter
  • the sampling rate of the analog-to-digital converter 43 is set to 22.05 kHz, which is twice the highest frequency of the main energy band of the spread signal 37.
  • Figure 3C shows an example of the samples obtained by sampling an electrical signal D(t) containing just the spread spectrum signal 37 illustrated in Figure 3B.
  • the digital signal J(t) output by the ADC 43 is then input into a correlator unit 45 which correlates the digital signal J(t) with stored sequences corresponding to PN codes 1 to 4 to identify the timing of the PN code sequences within the digital signal J(t) sent by the master beacon 5 and slave beacons 7, measures the time intervals between the identified timings and outputs signals corresponding to C 12 , C 13 and C 14 as defined hereinbefore .
  • the digital signal J(t) output by the ADC 43 is input to four correlators 71a to 7 Id which, in this embodiment, each include a digital matched filter.
  • a PN code generator 73a which generates PN code 1 is connected to a first correlator 71a
  • a PN code generator 71b which generates a PN code 2 is connected to a second correlator 71b
  • a PN code generator 73c which generates PN code 3 is connected to a third correlator 71c
  • a PN code generator 73d which generates a PN code 4 is connected to a fourth correlator 7Id.
  • the PN codes generated by the PN code generators 73 are used to set the parameters of the digital matched filter of the respective correlators 71 so that the digital matched filter will output relatively sharp peaks when there is a match between the corresponding PN code and the received digital signal J(t).
  • each of the correlators 71 is input to a correlator unit processor 75.
  • the correlator unit processor 75 measures the difference in time between a peak received from the first correlator 71a and a peak received from the second correlator 71b, multiplies this time difference by the speed of the acoustic signals to calculate C 12 and outputs a signal corresponding to C 12 .
  • the correlator unit processor 75 calculates C 13 from the difference in time between a peak received from the first correlator 71a and a peak received from the third correlator 71c and calculates C 14 from the difference in time between a peak received from the first correlator 71a and a peak received from the fourth correlator 7Id, and outputs signals corresponding to C 13 and C 14 .
  • the signals output by the correlator unit 45 are input to a simultaneous equation solver 47.
  • a beacon position memory 49 which stores the positions of the slave beacons 7 relative to the master beacon 5 (i.e. ( X l r Y 1 ) , (X 2 ,Y 2 ) and (X 3 Y 3 )) is also connected to the simultaneous equation solver 47.
  • the simultaneous equation solver 47 performs processing to calculate the position (X V ,Y V ) of the vehicle 1 using equations 8 and 9 above based on the values received from the correlator unit 45 and the beacon position memory 49.
  • a physical constraints memory 51 is also connected to the simultaneous equation solver 47.
  • the physical constraints memory 51 stores data identifying all possible solutions for the position of the vehicle 1. For example, if a wall is present along a line a distance D away from the master beacon 5 in the x-direction, then the data stored in the physical constraints memory 51 will indicate that X v cannot be larger than D.
  • the simultaneous equation solver 47 performs a "reality check" by checking with the data stored in the physical constraints memory 51 that the position corresponding to X v and Y v is feasible.
  • the simultaneous equation solver 47 outputs signals corresponding to X v and Y v , that is the position of the vehicle 1 relative to the master beacon 5 , to a processor 53.
  • the processor 53 is connected to a read-only memory (ROM) 55 which stores routines which are used by the processor 53 during operation and a random access memory (RAM) 57 which provides working memory for the processor 53 when performing the routines stored in the ROM 55.
  • ROM read-only memory
  • RAM random access memory
  • a user interface 59 which enables a user to input the positions of the slave beacons 7 relative to the master beacon 5 for storing in the beacon position memory 49 and to input any physical constraints to be stored in the physical constraints memory 51, is also connected to the processor 53.
  • the processor 53 is also connected to RF receiver circuitry 61 which processes RF control signals received from the remote control unit 13 via an aerial 63 and inputs the processed control signals to the processor 53.
  • the processor 53 is also connected to motors 65 which enable the processor to control the speed and direction of movement of the vehicle 1 in accordance with remote control signals received from the remote control unit 13.
  • the user 15 is able to input, via the user interface 59, data corresponding to an area on the plane within which the vehicle 1 is allowed to move. For example, if there is a wall then the user can exclude the wall from the allowed area so that the vehicle 1 cannot drive into the wall.
  • the processor 53 monitors the position of the vehicle 1 , using the signals output by the simultaneous equation solver 47, and if the remote control signals received from the remote control unit 13 would cause the vehicle 1 to move outside of the allowed area then the processor 53 overrides the received remote control signals so that the vehicle 1 stays within the allowed area.
  • the remote control unit 13 transmitted remote control signals to the vehicle 1 using electromagnetic waves at RF frequencies.
  • a second embodiment will now be described in which the remote control unit 13 transmits the remote control signals to the vehicle 1 using acoustic signals.
  • FIG. 7 schematically shows the circuitry in the remote control unit 13 of the second embodiment.
  • User interface devices 81 are provided via which a user can input commands (such as increase speed, decrease speed, move left and move right) for transmission to the vehicle 1.
  • the signals from the user interface devices 81 are input to a control unit processor 83 which generates a data signal F(t) to be transmitted to the vehicle 1.
  • the data signal F(t) is a logic signal which is generated at approximately 21.5 bits per second.
  • Two PN code generators 85a and 85b are provided in the remote control unit 13.
  • the PN code generator 85a generates a code sequence, which will be referred to as PN code 5, by repeating continuously a first 12 bit PN code with an extra binary zero added to the end of each sequence of 4095 chips, at a chip rate of 5512.5 Hz.
  • the second PN code generator 85b generates a code sequence, which will be referred to as PN code 6, by repeating a second different 12 bit PN code with an extra binary zero added to the end of each sequence of 4095 chips, at a chip rate of 5512.5 Hz.
  • PN code 5 and PN code 6 are orthogonal to each other and to PN codes 1 to 4 .
  • the data signal F(t) and PN code 5 are input to a first AND gate 87a while the inverse of the data signal F(t) and PN code 6 are input to a second AND gate 87b, with the outputs of the first and second AND gates connected together to form a common output.
  • a logic signal I(t) is formed at the common output in which every "1" of the data signal F(t) has been converted into a 256 chip sequence from PN code 5 and every "0" of the data signal F(t) has been converted into a 256 chip sequence from PN code 6.
  • the logic signal I(t) is input to a modulator 89 which uses phase shift keying to modulate a 5512.5 Hz carrier signal generated by an oscillator 91.
  • a spread signal G(t) is generated with a main energy band from baseband to 11kHz and higher frequency sub-bands.
  • the spread signal G(t) output from the modulator 89 is amplified by an audio amplifier 93 and then input into a loudspeaker 95 which converts the amplified signal into an acoustic signal.
  • Figure 8 shows the circuitry in the vehicle 1 in the second embodiment.
  • the components of Figure 8 which are identical to those of the first embodiment have been referenced with the same numerals and will not be described again.
  • the digital signal J(t) output by the ADC 43 is input to a remote control signals decoder circuit 101 which regenerates the data signal F(t) output by the control unit processor 83 in the remote control unit 13.
  • the regenerated data signal is then input to the processor 53 in the vehicle 1 as before.
  • This is commonly referred to as incoherent despreading.
  • the remote control signals are despread by synchronously multiplying the digital signal J(t) by the same PN code as was used for spreading the data signal F(t) because this enables a more reliable regeneration of the original data signal to be achieved.
  • Despreading by synchronous multiplication is commonly referred to as coherent despreading.
  • Figure 9 shows in more detail the remote control signals decoder circuit 101 of the second embodiment.
  • the circuitry 101 uses a coherent detection technique in which the digital signal J(t) is separately multiplied by PN code 5 and PN code 6. To perform coherent detection, it is necessary to ensure that the chip sequence conveyed by the digital signal J(t) and the chip sequences of PN code 5 and PN code 6 are time- synchronised. To achieve an initial synchronisation, the digital signal J(t) is input to an acquisition unit 105.
  • the acquisition unit 105 generates signals which are analysed by a processor 107 which generates a signal F to control the rate of the clock signal elk generated by a clock 109, and signals X and Y for controlling the timing of the generation of the codes by PN code 5 and PN code 6 generators 111 and 113 respectively.
  • Figure 10 shows in more detail the contents of the acquisition unit 105 and the signals that are generated by the acquisition unit 105 and supplied to the processor 107.
  • the processor 107 first removes any frequency offset between the chip rate of the chip sequence in the digital signal J(t) and the chip rate of the PN code 5 and PN code 6 generators 111, 113 by adjusting the clock rate. This is necessary for two main reasons. The first reason is that if it is not done, then there will always be a slight difference between the clock frequencies used to generate the PN codes in the remote control unit 13 and the vehicle 1 respectively. The second reason is that even if identical clock frequencies are used in the remote control unit 13 and the vehicle 1, frequency shifts caused by Doppler effects can occur which affect the chip rate in the detected signal. Therefore, without control of the rate at which PN code 5 and PN code 6 are generated in the vehicle 1, it would be necessary to perform re-synchronisation on a frequent basis.
  • the samples of the digital signal J(t) from the microphone 3 are input to a series of four digital matched filters 131a to 13 Id which are arranged in series so that the cascade output (indicated in Figure 10 by a) of the first matched filter is input to the second matched filter and so on.
  • Each filter has 2048 taps, with the taps of the first matched filter 131a being matched to the first two bits of a SYNC byte, the taps of the second matched filter 131b being matched to the third and fourth bits of the SYNC byte, the taps of the third matched filter 131c being matched to the fifth and sixth bits of the SYNC byte and the taps of the fourth matched filter being matched to the seventh and eighth bits of the SYNC byte (1024 taps are required for each data bit because each data bit is multiplied by 256 chips and each chip is to be sampled four times).
  • the time window over which each of the matched filters performs the correlation is much smaller than that of the larger single matched filter.
  • the effect of lack of synchronisation will be less noticeable for each of the individual smaller matched filters.
  • larger frequency offsets between the chip rate in the digital signal J(t) and the chip rate of the PN code 5 generator 111 and the PN code 6 generator 113 can be tolerated by using the four matched filters 131 rather than a single matched filter.
  • the score output by each of the matched filters 131 (which is indicated by output b and which is updated at each clock pulse as the samples of J(t) are clocked through the matched filters) is input to a corresponding one of four normalisation circuits 133a to 133d.
  • the normalisation circuits 133 provide a normalised output for a wide dynamic signal range of the input digital signal J(t). This enables the output of the normalisation unit to be analysed by a simple thresholding operation.
  • FIG 11 shows schematically the contents of each normalisation circuit 133.
  • the current score from the corresponding matched filter 131 is input to a time delay unit 141 where it is delayed for 1024 clock periods, which corresponds to the time taken for the samples of the digital signal J(t) to propagate halfway through the corresponding one of the matched filters 131.
  • the current score is also input to an averaging circuit 143 which uses the current score to update a running average of the last 2048 scores.
  • the output of the time delay unit 141 is then input to a divider 145 which divides the delayed score by the current value of the running average, to produce the normalised output.
  • the above processing makes the normalisation circuit particularly well suited to systems where a spread spectrum signal is hidden in an acoustic signal, because the acoustic signal will typically vary over a large dynamic range .
  • Figure 12 shows in more detail the contents of the averaging circuit 143.
  • the current score is input to a time delay unit 151, where it is delayed for 2048 clock periods, and an adder 153 where the inverse of the time delayed score is added to the current score.
  • the output of the adder 153 is then input to a second adder 155 where it is added to the current value of the running average (delayed by one clock cycle) output by the time delay unit 157, to generate a new current value of the running average which is used by the divider circuit 145.
  • sequences of SYNC bytes are repeated intermittently within the data signal F(t) output by the control unit processor 83 of the remote control unit 13.
  • Figure 13 shows a typical output of one of the normalisation circuits 133, when two consecutive SYNC bytes pass through the corresponding matched filter 131.
  • reference timings 161 have been illustrated which are separated by 8192 clock periods (nominally corresponding to the time required for the samples corresponding to one SYNC byte to pass through the matched filter) .
  • the period between two adjacent reference timings 161 will hereinafter be referred to as a frame.
  • the acquisition unit 105 makes use of this, in order to quantify the frequency offset and hence to correct for it. The way in which it does this will now be described.
  • each normalisation circuit 133 is input to a corresponding cross-correlator 135a to 135d where it is cross-correlated with the output from the same normalisation circuit for the immediately preceding frame. This is achieved by passing the output score from each normalisation unit 133 through a corresponding time delay unit 137a to 137d which delays the scores by one frame. The output from the normalisation circuit 133 is then cross-correlated with the corresponding delayed output, by the cross-correlator 135. In this embodiment, a maximum frequency offset of three chips per SYNC byte is anticipated.
  • the cross-correlators 135 only look for a cross-correlation peak over a range of time offsets between the two frames, varying between a three chip lead and a three chip lag. This results in a significant reduction in the amount of processing required by the cross-correlators 135.
  • Figure 14 shows a typical output of one of the cross- correlators 135.
  • the x-axis corresponds to the time offset between the two frames output by the normalisation circuit 133 and the y-axis corresponds to the score output by the cross-correlator 135.
  • twenty-five values of the cross-correlator score are obtained to allow for a maximum time offset of ⁇ three chips.
  • a cross-correlation peak 171 occurs at a time offset ⁇ off which is equal to ⁇ 2 - ⁇ x .
  • the time offset for each of the matched filters 131a-131d should be identical and therefore the position of the cross-correlation peak 171 in the output of each of the cross-correlators 135 should be the same.
  • the outputs of the four cross-correlators 135 are therefore added together in an adder 139 and the output of the adder 139, labelled OFFSET in Figure 10, is input to the processor 107.
  • the processor 107 calculates the frequency offset (from ⁇ off and the size of the correlation window of the matched filters 131) and sends a control signal F to the clock 109 to adjust the clock frequency in order to reduce the frequency offset to a manageable amount.
  • the processor 107 is a microprocessor based system which is schematically illustrated in Figure 15.
  • the processor includes an interface circuit 175 for interfacing a central processing unit (CPU) 177 with the normalised scores A r B x , C x and D x output from the normalisation circuits 133 and for interfacing the CPU with the adder 139 and the two PN code generators 111 and 113.
  • the interface circuit 175 also receives a signal (TRACK) which is used in tracking which will be described in more detail below.
  • TRACK a signal
  • the processor 107 processes the values received from the interface 175 in accordance with predetermined instructions stored in a program memory 179.
  • a working memory (RAM) 181 provides memory which can be used by the CPU 177 while performing calculations.
  • a user interface 183 is also provided to allow a user to adjust the settings of the processor 107, for example in order to change or alter the program instructions stored in the program memory 179 so that the decoder can be reconfigured.
  • data encoded in the digital signal J(t) can be extracted by inputting the digital signal J(t) to a correlator unit 115 (indicated by dotted lines) in which the digital signal J(t) is synchronously multiplied by PN code 5 and PN code 6.
  • the correlator unit 115 comprises three channels labelled late, on-time and early. As will be explained in detail, the three channels enable the time synchronisation to be tracked while data other than the SYNC byte is being transmitted.
  • the digital signal J(t) is input into each of the three channels of the correlator unit 115 and in each channel it is separately multiplied by PN code 5 and PN code 6.
  • the digital signal J(t) is input to a multiplier 119a, where it is multiplied by PN code 5 time-delayed by two clock periods by a time delay unit 117a, and to a multiplier 121a, where it is multiplied by PN code 6 time delayed by two clock periods by a time delay unit 117c.
  • the digital signal is input to a multiplier 119b, where it is multiplied by PN code 5 time-delayed by one clock period by a time delay unit 117b, and to a multiplier 121b, where it is multiplied by PN code 6 time-delayed by one clock period by a time delay unit 117d.
  • the digital signal J(t) is input to a multiplier 119c, where it is multiplied by PN code 5, and to a multiplier 121c, where it is multiplied by PN code 6.
  • the outputs of the two multipliers 119 and 121 are input to a corresponding power comparator 123a to 123c, which is shown in more detail in Figure 16.
  • the outputs of the two multipliers 119 and 121 are input to respective bandpass filter 187a and 187b which are centred on the carrier frequency.
  • the output of each bandpass filter 187 is then input to a respective power monitor 189a or 189b, which determines the power of the signal output from the corresponding bandpass filter 187.
  • the output from the power monitor 189b should be greater than the output from the power monitor 189a.
  • the output from the power monitor 189a should be greater than the output from the power monitor 189b. Therefore, the outputs from the power monitors 189 are input to a comparator 191 which outputs a value in dependence upon the difference between the outputs of the two power monitors 189.
  • the output from the power monitor 189a is input to the positive terminal of the comparator 191 and the output from power monitor 189b is input to the negative input of the comparator 191. Therefore, if the received data bit is a "1”, then the output of the comparator 191 will be positive and if the received data bit is a "0", then the output of the comparator 191 will be negative.
  • the output of the power comparator 123b in the on-time channel is input to a data regeneration circuit 125 where it is converted into the regenerated data signal F'(t).
  • the output of the power comparator 123b in the on-time channel is also input, together with the outputs of the power comparators 123a and 123c of the late and early channels, into an analysis unit 127.
  • the analysis unit 127 determines which of the power comparators 123 provides the largest output, or in other words in which channel there is the best match between the chip sequence in the digital signal J(t) with PN code 5 and PN code 6.
  • the analysis unit 127 sends a signal (on control line labelled TRACK) to the processor 107 indicating that the clock should skip a sample so that the power comparator 123b in the on-time channel once more produces the largest output.
  • the analysis unit 127 outputs a signal to the processor 107 which causes the clock 109 to make a double sample so that the comparator 123b of the on-time channel once more produces the largest output.
  • Figure 13 shows an exemplary output of the normalisation circuit in which only a single peak 165 is present in each frame corresponding to a single acoustic path between the loudspeaker 95 in the remote control unit 13 and the microphone 3 in the vehicle 1.
  • a group of several peaks is present in each frame caused by the presence of different paths between the loudspeaker 95 and the microphone 3 (due to reflections off walls etc) and the signals travelling along these different paths arrive at the microphone 3 at different times.
  • the acquisition unit 105 described above is robust in the presence of these multi-path peaks because, although the signals output by the normalisation circuits will include several peaks per frame, the output of each cross-correlator 135 should still contain a single dominant peak as the intervals between the peaks should remain constant. Further, the determination of the time synchronisation in this embodiment is only based on the largest peak output by a normalisation circuit 133 and therefore the smaller peaks corresponding to the other paths are ignored.
  • the processor 107 controls a clock signal elk which is used to determine the timings at which the ADC 43 samples the electrical signal output by the microphone 3.
  • elk a clock signal which is used to determine the timings at which the ADC 43 samples the electrical signal output by the microphone 3.
  • the remote control unit 13 of the third embodiment is identical to that of the second embodiment and will not, therefore, be described again.
  • the circuitry in the vehicle 1 in the third embodiment differs from that in the second embodiment only by the replacement of the remote control signals decoder circuitry 101 by the remote control signal decoder circuitry 201 shown in Figure 17, in which components which are identical to those of the decoder circuitry 101 of the second embodiment have been referenced with the same numerals and will not be described again.
  • the ADC 43 samples the electrical signal from the microphone 3 at a fixed rate of 22.05 kHz.
  • the digital signal J(t) output by the ADC 43 is then input to the acquisition unit 105 and to a re-sampling circuit 203.
  • the clock signal elk output by the clock 109 is at a frequency of approximately 44.10kHz, the exact frequency being determined by the chip rate of the chip sequence conveyed by the digital signal J(t) .
  • clock pulses can be skipped or doubled during the tracking operation.
  • the PN code generators 111 and 113 generate PN code 5 and PN code 6 respectively, at a rate of one chip every eight clock pulses of the clock signal elk.
  • the digital signal J(t) is stored in blocks of 8192 samples in the re-sampling circuit 203.
  • the processor 205 determines from the outputs of the cross-correlators 135 of the acquisition unit 105, the chip rate of the chip sequence in the digital signal J(t), and then outputs a signal S to the re-sampling circuit 203 which indicates the rate at which the digital signal J(t) needs to be re-sampled. For example, if the determined chip rate in the digital signal is 5567.625 Hz, which corresponds to an increase of 1% over the nominal chip rate of 5512.5 Hz, then the re-sampling rate has to be 22.2705 kHz to allow for the additional chips present.
  • the re-sampled data is determined in the re-sampling circuit 203 from the 8192 stored samples using interpolation techniques to give, for the exemplary 1% increase in chip rate, 8274 samples.
  • the clock rate of the clock 109 is also adjusted to be eight times the chip rate of the chip sequence in the digital signal J(t) and the re-sampled data is then input to the correlator unit 195 at this clock rate where it is multiplied by PN code 5 and PN code 6 and the remaining processing proceeds as in the second embodiment.
  • the PN code generators 111 and 113 are controlled by the processor 205 to operate only when re-sampled data is input to the correlator unit 115. It will be appreciated by the skilled person that the clock signal elk is run at a faster rate than the sampling rate of the ADC 183 to give time for the re-sampling to take place and for any additional chips to be processed.
  • the cross- correlators calculate cross-correlation scores for timing offsets between the two frames which are varied in steps corresponding to a single clock cycle. This is not essential and the cross-correlation could, for example, be calculated for timing offsets of the frames which vary in steps corresponding to 2 or 4 clock cycles. Further, it will be appreciated from Figure 13 that the frequency offset could be determined with a sub-sample resolution by interpolating the position of the peak from the values of the points neighbouring the maximum cross-correlation score . Another way of obtaining a more accurate measure of the frequency offset is to accumulate the summed outputs of the cross-correlators over more than two frames .
  • the matched filters 131a-131d of the acquisition circuit 105 are arranged in series.
  • Figure 18 illustrates an alternative acquisition unit 301 in which the matched filters are arranged in parallel.
  • components which are identical to corresponding components in Figure 10 have been referenced with the same numerals and will not be described again.
  • the digital signal J(t) is input into four parallel channels.
  • the digital signal J(t) is input directly into the first matched filter 131a.
  • the digital signal J(t) is input, via a time delay unit 303 which introduces a delay of 2048 clock cycles, into the second matched filter 131b.
  • the digital signal J(t) is input, via a time delay unit 305 which introduces a delay of 4096 clock cycles, into the third matched filter 131c.
  • the digital signal J(t) is input, via a time delay unit 307 which introduces a delay of 6144 clock cycles, into the fourth matched filter 131d.
  • the score outputs A lf B lf C 1 and O of the first to fourth matched filters 131a to 13 Id are identical to those for the acquisition unit 185 of the second embodiment and therefore the remainder of the acquisition unit 301 functions in the same manner as the acquisition unit 105 of the second embodiment.
  • the normalisation circuit 133 makes the acquisition circuit capable of analysing input digital signals
  • the amount of processing required to determine the frequency offset for multi-path signals is identical to that required for single- path signals.
  • the cross- correlation need only be carried out for time offsets between the output of the normalisation circuit for neighbouring frames which fall within this tolerance, thereby reducing the amount of processing performed.
  • the normalisation circuit is not essential to achieve some of the advantages discussed above.
  • An automatic gain control (AGC) circuit at the input to the decoder could be used instead, but the normalisation circuit is preferred because the response times of the AGC control loop lead to a compromise between accuracy and distortion, whereas the normalisation circuit provides a more deterministic system leading to a significant improvement in performance.
  • AGC automatic gain control
  • cross-correlation technique in which the score outputs of neighbouring frames are cross-correlated, could also be applied to the output of a single filter to determine the frequency offset, although using plural filters and adding the results together increases the signal magnitude.
  • FIG 19 illustrates an alternative acquisition circuit 309 which corresponds to the acquisition circuit 105 illustrated in Figure 10 with the cross-correlators 135, delay units 137 and adder 139 removed so that the OFFSET signal is not generated and only the scores A i r B i r C L and Di of the normalisation circuits 133 for each sample i are input to the processor 137.
  • the processor can then use these scores to keep a number of accumulated scores for different values of frequency offset.
  • the frequency offset can then be determined by comparing the accumulated scores and to determine which has the best score.
  • the processor 107 may perform a routine in which for each sample the following sums, which correspond to varying timing offsets, are calculated:
  • sum (10) corresponds to no timing offset
  • sums (11) and (12) correspond to a timing offset of ⁇ 3 clock cycles
  • sums (13) and (14) correspond to a timing offset of ⁇ 6 clock cycles
  • sums (15) and (16) correspond to a timing offset of ⁇ 9 clock cycles.
  • the sums (10) to (16) are compared to a threshold figure which is set such that when one of the sums is above the threshold figure, the frequency offset can be estimated from which of the sums (10) to (16) was used and the time synchronisation can be estimated from the timing of the sample i which caused the sum to exceed the threshold.
  • this synchronisation technique is very efficient in terms of the processing power required in comparison to conventional synchronisation techniques because the correlation only has to be performed once. It will also be appreciated by the skilled person that the form of the sums used above can be varied to obtain different timing offsets if desired.
  • the output of the matched filters 131 is not always optimal.
  • a complex filter can be used instead of each matched filter in order to remove the dependence on the phase of the incoming signal.
  • the complex filter could be formed by a parallel pair of matched filters each having 2048 taps and being matched to a quadrature pair of signals. The outputs of the matched filters would then be squared, summed and divided by the average output value over one data bit period, to generate a score output which can be compared with a threshold value to give an output which is independent of the input signal phase.
  • each of the matched filters has 256 taps matched to a respective quarter of a 256 chip sequence corresponding to a SYNC bit.
  • direct sequence spread spectrum (DSSS) encoding is used to spread the energy spectrum of the acoustic signals emitted by the beacons and the remote control unit.
  • DSSS direct sequence spread spectrum
  • a 256 chip pseudo-noise code sequence is transmitted by the beacons every 0.25 seconds to enable the object to determine its position.
  • longer pseudo-noise code sequences could be employed, in which case the code sequence could be cyclically repeated without a delay between the end of one code sequence and the start of the next. For example, if a 4096 chip pseudo-noise code sequence is used with a chip rate of 5.5215 kHz, then the repeat time is approximately 0.75 seconds which is sufficient to overcome any ambiguity problems.
  • Using a longer pseudo-noise code sequence has the advantage that it is less noticeable to human beings and animals.
  • the energy of the beacon signals and the remote control data signal can be spread over a wide range of frequencies by using techniques other than DSSS encoding.
  • an orthogonal frequency division modulation (OFDM) technique can be used in which, for example, 256 narrow-band orthogonal carriers 321 carry identical data. These 256 narrow-band carriers are evenly distributed in the frequency range of 1 to 11kHz and thus spreading of the energy of the beacon signals and the remote control data signal is achieved.
  • the original beacon signal or remote control data signal can then be reconstructed by demodulating and recombining each of the narrow-band signals .
  • Another alternative to spreading the energy of a single narrow-band data signal over a desired broad range of frequencies is to generate a small number of narrow-band carriers at the centre of the desired frequency range and then to spread each of these narrow-band carriers over the entirety of the desired frequency range using orthogonal PN codes.
  • the power spectrum for such a scheme is illustrated in Figure 21 in which 16 narrowband carriers 323 are evenly spaced between 5512.5Hz and 6300Hz and each of the narrow-band carriers is spread using DSSS encoding with a chip rate of 5512.5Hz to form a broadband signal 325.
  • a number of narrow-band signals can be evenly spaced in the desired frequency range and each of these narrow-band signals can be individually spread to cover a sub-band of the desired frequency range.
  • Such a system is shown in Figure 22 in which eight narrowband signals 331, each transmitting a data signal at 5 bits per second, are spaced evenly throughout the desired range.
  • Each bit of each of the narrowband signals is multiplied by a corresponding PN code using a 256 chips per bit ratio, to form eight broadband signals 333 spread over a corresponding sub-band of the desired range.
  • the PN codes used to modulate the eight different signals form an orthogonal set so that each broadband signal 333 can be despread separately.
  • each broadband signal 333 can be adjusted as a whole for the energy of the corresponding segment of audio track which reduces errors caused by non-linear filtering across the entire desired range of frequencies.
  • coherent despreading employing synchronous multiplication could be employed for the beacon signals instead of incoherent despreading.
  • the circuitry describe with reference to Figures 9 to 12 and 15 to 19 could be used to process the spread spectrum signals received from the beacon.
  • the synchronisation data could be used to determine the times of arrival of the acoustic signals at the object.
  • each multiplier 119, 121 is input to a bandpass filter followed by a power monitor.
  • the output of each multiplier 119, 121 could be input to a quadrature mixer and the output of the quadrature mixer then input to a low-pass filter with a time constant of the order of the duration of a data bit of the data signal F(t).
  • the output of the low-pass filter can then be used as an input signal to the comparator 191. This provides a computationally efficient implementation.
  • the processor decides, based on the signal TRACK, after every clock cycle which of the early, on-time and late channels produces the best signal.
  • the processor could alternatively make this decision over longer intervals, for example intervals corresponding to one chip, one data bit or one repetition of the chip sequences PN code 5 and PN code 6.
  • phase shift keying is employed to centre the energy of the spread spectrum signal at 5.5kHz.
  • centre frequency and degree of spreading are design choices which can be varied.
  • other modulation techniques such as frequency shift keying, could be employed.
  • the remote control unit 13 has a dedicated loudspeaker for transmitting the remote control acoustic signals.
  • the remote control unit 13 could be connected to the master beacon 5 and the remote control acoustic signals broadcast using the loudspeaker in one or more of the beacons. If, however, the remote control acoustic signals were broadcast using more than one beacon then a rake receiver arrangement would be desirable in the vehicle 1 to compensate for the different times-of-flight between each beacon and the vehicle 1.
  • each beacon could house the PN code generator 23 used to spread the acoustic signal 11 emitted by that beacon. This is not, however, preferred because it is cheaper to manufacture all the circuitry on a single circuit board rather than spreading it over four different circuit boards.
  • the beacons could also be used to transmit other sounds, such as music and tannoy announcements.
  • psycho- acoustic encoding techniques as described in the Applicants corresponding International application no. PCT/GB00/02961 (the whole contents of which are incorporated by reference) could be used to make the spread acoustic signals less noticeable to a listener.
  • Figure 23 shows an example of such an application in which spread audio data signals are added to the audio track of a television signal.
  • a remote controlled vehicle 401 having an omni-directional microphone 403 is located on the floor of a room 405.
  • a television set 407 having a surround sound system including four loudspeakers 409a to 409d is also located in the room 405.
  • the audio track of a television programme includes spread spectrum signals which are output by the loudspeakers 409 so that the vehicle 401 can determine its position within the room 405.
  • the audio track of the television programme also includes a spread spectrum data signal conveying remote control signals for varying the movement of the vehicle 401.
  • the vehicle 401 does not drive into, for example a chair 411 on which a user 413 sits, the speakers 409, a cabinet 415 on which the television set 407 sits, a lamp 417 and a vase 419.
  • the originator of the remote control signals will not know the positions of these objects.
  • the user 413 inputs into the vehicle 401 the positions of the speakers 409, so that the vehicle 401 can determine its position relative to the speakers 409, and an allowed area 421 (shown in dashed lines in Figure 23) outside of which the vehicle 401 is not permitted to move.
  • a processor within the vehicle 401 overrides the remote control signals to maintain the vehicle 401 within the allowed area 421.
  • the remote control signals conveyed by the audio track of the television signal could instruct the vehicle 1 to move to a co-ordinate within a preset area in an arbitrary co-ordinate system.
  • the vehicle 1 maps the preset area in the arbitrary coordinate system to the allowed area 421 in the room 405, and when a remote control signal is received converts the received co-ordinate into the corresponding co-ordinate in the allowed area 421 and moves to that corresponding co-ordinate.
  • the audio track could originate from one of many sources.
  • the audio track could be the audio track of a broadcast television signal, a television signal stored on a video cassette 423 to be played by a video cassette recorder (VCR) 425, a broadcast radio signal, an audio track stored on a compact disc or the like, and a CD- ROM 429 for a multi-media computer 427.
  • VCR video cassette recorder
  • an object is able to determine its position relative to a number of beacons. However, if the position of each beacon in a reference co-ordinate system is known by the object, then the object is able to determine its position in that reference co-ordinate system. Examples of such reference co-ordinate systems include the grid references of a local street map and absolute longitude and latitude positions .
  • the object could broadcast its position to a tracking system which tracks the position of the object. Further, it will be appreciated that it is not essential in such a system for the object to calculate its own position. Alternatively, the object could broadcast the time differences between the signals arriving from the beacons to a tracking station which then calculates the position of the object using the broadcast time differences.
  • the position/timing information could be broadcast over any suitable communications link, using for example radio waves, optical/infra-red waves or acoustic waves.
  • beacons have been used to enable an object to determine its position in a two-dimensional plane using differential time-of- flight analysis.
  • an appropriately positioned additional beacon (which for the illustrated embodiments would not be in the plane containing the other beacons) would enable the object to determine its position in three dimensions using differential time-of-flight analysis.
  • four appropriately positioned beacons are sufficient for an object to determine its position in three dimensions because this will give two solutions of which generally only one is possible due to physical constraints (such as a floor). Therefore, the object can discount one of the positions by referring to a physical constraints memory storing data identifying allowed positions.
  • An example of an application utilising position determination in three-dimensions is a remote-controlled aircraft system including four appropriately positioned beacons, three of which are on the ground, which enable the remote-controlled aircraft to determine its position in three dimensions from spread-spectrum signals emitted by the four beacons using differential time-of-flight analysis.
  • the remote controlled aircraft can then ensure that it remains within a fixed volume in the same manner as the remote control vehicle of the first to third embodiments ensures that it remains within a fixed area.
  • a differential time- of-flight system is utilised in which all the beacons transmit an acoustic signal simultaneously.
  • the beacons could broadcast their respective acoustic signals at known relative timings in which case the object would use these known relative timings when determining the differential distances.
  • a direct time-of-flight system in which the object directly measures the time taken for an acoustic signal to travel from a beacon to the object.
  • An advantage of the direct time-of-flight system is that generally one less beacon is required for the object to determine its position unambiguously.
  • a direct time-of-flight position detection system only three beacons are required for an object to determine its position unambiguously within a two-dimensional plane and only four beacons are required for an object to determine its position unambiguously in a three-dimensional volume. This is possible because in a direct time-of-flight system the object knows when the beacons emit their respective acoustic signals.
  • t is frequently possible to use only two beacons in a two-dimensional direct time-of- flight position detection system and three beacons in a three-dimensional direct time-of-flight position detection system if, as described above, some of the positions are not possible or some ambiguity in position determination is acceptable.
  • radio systems could be employed to provide accurate timing information to be used by the object and the beacons.
  • the source of the radio timing signals could be the object, one of the beacons, or even an existing system such as a Global Positioning System (GPS).
  • GPS Global Positioning System
  • other frequency ranges could be used, for example optical frequencies.
  • An alternative technique for enabling the object to know when the beacons emit their acoustic signals would be to provide stable clocks in the object and the beacons.
  • a one-off synchronisation between the object clock and the beacon clocks is performed, for example by initially inputting directly into the object its current position from which it can infer the clock offset between the object clock and the beacon clock. For a period of time after this initial synchronisation the object is able to determine its position within an acceptable level of accuracy provided the object has stored the timings when the acoustic signals are emitted by the beacons. If accurately-matched clocks are provided in the object and the beacons, this "free-wheeling" period will be long enough for many applications. For example, a 0.1 part per million ( lppm) relative accuracy allows about five hours of free-wheel time before the error in position detection becomes one metre ( for a system in which acoustic signals are propagated through air) .
  • the "free-wheeling" mode of operation is particularly advantageous for applications in which the position detection is only required for a limited period of time.
  • a toy incorporating a position detection system (such as the remote-controlled vehicle 1 of the first to third embodiments) is unlikely to be used for longer than one hour at a time and therefore the clocks need only be accurate enough to achieve a "free-wheeling" period of approximately this duration.
  • the "free-wheeling" mode of operation is also applicable to systems which do not use spread spectrum signals to determine position.
  • the "free-wheeling" mode of operation could be used with bursts or chirps of sound.
  • the "free-wheeling" mode of operation could be used in a phase detection system rather than a time-of-flight detection system.
  • the beacons would transmit a continuous acoustic signal (such as a continuous sine wave signal) and the object determines its position by the phase shift of the detected acoustic signals which are directly related to the distance over which the acoustic signals have travelled.
  • phase detection systems can be alleviated by employing a heterodyne detection system in which sound waves at two or more different frequencies are transmitted which, as those skilled in the art will appreciate, effectively increases the non-ambiguous range of the system.
  • the position detection required is solely the distance from a single point. This can be achieved using a single beacon at the single point and applying a direct time-of-flight or phase measurement position detection technique.
  • the acoustic signals were within the audible frequency range of the human ear.
  • the techniques applied above also apply to acoustic signals at ultrasonic frequencies. This could enable, for example, a position detection system in which divers are able to locate themselves underwater from spread spectrum signals output by a number of ultrasonic beacons. For such a diver location system, the "freewheeling" direct time-of-flight does not need to be very long as the dives are of limited duration.
  • the embodiments of the invention described with reference to the drawings include processes which could be performed in a computer apparatus.
  • the invention therefore also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice.
  • the program may be in the form of a source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the implementation of the processes according to the invention.
  • the carrier be any entity or device capable of carrying the program.
  • the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk.
  • the carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or other means .
  • the carrier may be constituted by such cable or other device or means .
  • the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.

Abstract

There is described an acoustic position detection system comprising one or more spaced acoustic signal generators located at predetermined relative positions and an object comprising: (i) a detector for detecting acoustic signals generated by the one or more acoustic signal generators and converting the detected acoustic signals into corresponding electrical signals; and (ii) means for processing the corresponding electrical signals to identify the respective times of arrival of the acoustic signals. The position of the object relative to the predetermined relative positions of said acoustic signal generators is determined using the identified times of arrival. Preferably, the acoustic signals output by the acoustic signal generators are spread spectrum electrical signals which reduces the noticeability of the acoustic signals to humans or animals.

Description

ACOUSTIC LOCATION SYSTEM
This invention relates to a position detection system in which an object is able to determine its position based on acoustic signals output by one or more beacons and components thereof.
US Patent No. 5491670, the whole contents of which are hereby incorporated by reference, describes such a positioning system in which an automatically guided vehicle determines its position by monitoring chirps of sound emitted by each of a plurality of beacons . In particular, the time required for a chirp to travel between a beacon and the automatically guided vehicle is measured. Various techniques are described for enabling the automatically guided vehicle to determine when each of the chirps was transmitted by a respective beacon.
A problem with the positioning system described in US Patent No. 5491670 is that the chirps of sound can be obscured by background noise. A further problem is that if the chirps of sound are in the frequency range which is audible to the human ear then they can be annoying to human beings, while if the chirps of sound are at ultrasonic frequencies then they can annoy dogs and other animals whose hearing extends to ultrasonic frequencies.
An object of the present invention is to provide an alternative positioning system to that described in US Patent No . 5 , 49 1 , 670 .
According to one aspect of the invention, there is provided a positioning system comprising at least one acoustic beacon for emitting acoustic signals and an object operable to determine its position based on the acoustic signals emitted by the or each beacon. The positioning system comprises means for generating a spread spectrum audio data signal for the or each beacon and the object comprises means for calculating its position based on the emitted spread spectrum acoustic signals corresponding to the spread spectrum audio data signals. When the frequency range of the acoustic signals is audible to the human ear, by using spread spectrum technology the acoustic signals are less noticeable to humans. Similarly, when the frequency range of the acoustic signals is ultrasonic, the acoustic signals are less noticeable to dogs and the like. Further, spread spectrum acoustic signal are detectable within a comparatively high background noise level.
In a preferred embodiment, different spread spectrum signals are used for each beacon which removes the need for staggering the acoustic signals to avoid collisions where two acoustic signals arrive at the same time. This is particularly advantageous if the object is moving because of the resulting improvement in accuracy of position detection. In a preferred embodiment, sufficient beacons are provided so that the calculating means is operable to calculate the object's position based on the differences in the time required for acoustic signals from different beacons to arrive at the object. In this way, the object does not need to know the absolute timing at which the beacons transmit the audio signals.
Exemplary embodiments of the invention will now be described with reference to the accompanying drawings, in whic :
Figure 1 schematically shows a position detection system in which a plurality of beacons transmit acoustic signals to a remote-controlled vehicle; Figure 2 schematically shows electrical circuitry of a master beacon in the position detection system shown in Figure 1 ;
Figure 3A is a timing diagram illustrating a pseudo- noise code sequence; Figure 3B is a timing diagram illustrating a carrier signal which has been phase-modulated by the pseudo-noise code sequence shown in Figure 3A;
Figure 3C is a timing diagram illustrating a sampled signal obtained by sampling the modulated signal shown in Figure 3B;
Figure 4 is a plot illustrating the power spectrum of a modulated data signal with and without spread spectrum encoding;
Figure 5 schematically shows electrical circuitry of the remote-controlled vehicle in the position detection system shown in Figure 1 ;
Figure 6 shows in more detail a correlator unit of the electrical circuitry illustrated in Figure 5; Figure 7 schematically shows an alternative remote control unit for controlling the vehicle in the position detection system illustrated in Figure 1;
Figure 8 schematically shows a first alternative electrical circuit of the remote-controlled vehicle to the electrical circuitry illustrated in Figure 5;
Figure 9 schematically shows remote control signals decoder circuitry which forms part of the electrical circuitry illustrated in Figure 8;
Figure 10 shows in more detail an acquisition unit of the decoder circuitry illustrated in Figure 9;
Figure 11 shows in more detail a normalisation circuit of the acquisition unit illustrated in Figure 10;
Figure 12 shows in more detail an averaging circuit of the normalisation circuit illustrated in Figure 11; Figure 13 is a plot of the output of the normalisation circuit of the acquisition unit illustrated in Figure 10;
Figure 14 is a plot of the output of a cross- correlator of the acquisition unit illustrated in Figure 10;
Figure 15 shows in more detail the components of a processor used in the decoder circuitry illustrated in Figure 9;
Figure 16 shows in more detail a power comparator of the decoder circuitry illustrated in Figure 9;
Figure 17 schematically shows alternative decoder circuitry to the decoder circuitry illustrated in Figure
9; Figure 18 schematically shows a first alternative acquisition unit to the acquisition unit illustrated in Figure 10;
Figure 19 schematically shows a second alternative acquisition unit to the acquisition unit illustrated in Figure 10;
Figure 20 is a plot of the power spectrum of a first alternative data signal;
Figure 21 is a plot of the power spectrum of a second alternative data signal; Figure 22 is a plot of the power spectrum of a third alternative data signal; and
Figure 23 schematically shows a signalling system for transmitting control information and positioning signals via the audio track of a television program.
Several embodiments of the invention will now be described with reference to the position detection system shown in Figure 1. Figure 1 shows a remote-controlled vehicle 1 having mounted thereon an omni-directional microphone 3 for detecting acoustic signals. Figure 1 also shows a master beacon 5 which is connected to three slave beacons 7a to 7c by respective cables 9a to 9c. The master beacon 5 and the slave beacons 7 transmit respective acoustic signals 11a to lid which are detected by the microphone 3 of the vehicle 1 and processed by electrical circuitry in the vehicle 1 to determine the position of the vehicle 1.
A remote control unit 13, operated by a user 15, emits control signals to the remote-controlled vehicle 1 in order to vary its speed and direction. The vehicle 1 responds to the control signals unless the position detection system indicates that the vehicle 1 is about to leave a predetermined allowed area, details of which are stored in the vehicle 1, in which case the vehicle 1 overrides the control signals so that the vehicle 1 remains always within the allowed area. The allowed area within which the vehicle moves is chosen to be free of obstructions or fragile objects so that the vehicle 1 does not damage either itself or any fragile object.
In the position detection system shown in Figure 1, the vehicle 1 is in the same plane as the master beacon 5 and the slave beacons 7. As shown in Figure 1, an origin, that is a position (0,0) with respect to which other positions in the plane are determined by their distance away from the origin in perpendicular x and y directions, is defined by the position of the master beacon 5. The vehicle 1 is at a position (XV,YV) relative to the origin and the slave beacons 7a to 7c are at positions ( Xx , Yλ ) , (X2,Y2) and (X3, Y3) respectively relative to the origin. As those skilled in the art will appreciate, the distance rx between the vehicle 1 and the master beacon 5 and distances r2, r3, and r4 between the vehicle 1 and the slave beacon 7a, 7b and 7c respectively are given by:
? 1
Xv + Yv = r ( i )
(Xι - Xv)2 + (Yι - Yr)2 = rl (2)
2 - Xv)2 + (Y2 - Yv)2 = r\ ( 3 )
(Xi - Xv + (Yι - Yvf = r (4)
In the embodiments described with reference to Figure 1, a differential time of flight measurement system is employed in which the difference between the time required for the acoustic signal 11a to travel from the master beacon 5 to the vehicle 1 and the time required for each of the acoustic signals lib to lid to travel from the corresponding slave beacon 7 to the vehicle 1 are measured. By multiplying each of these differential times by the speed of the acoustic signals 11, a value representative of the difference in the distance over which the acoustic signals 11 have travelled is obtained. In this way, a value C12 is obtained which is equal to the difference between the distance from the vehicle 1 to the master beacon 5 and the distance from the vehicle 1 to the slave beacon 7a (i.e. r!-r2); a value C13 is obtained for the difference between the distance from the vehicle 1 to the master beacon 5 and the distance from the vehicle 1 to the slave beacon 7b (i.e. r!~r3) ; and a value C14 is obtained for the difference between the distance from the vehicle 1 to the master beacon 5 and the distance from the vehicle 1 to the slave beacon 7c (i.e. r!-r4) .
By inserting C12, C13 and C14 into Equations 2 to 4 and substituting r: 2 for Xv 2 + Yv 2 (see Equation 1 above), the following equations can be derived:
Figure imgf000010_0001
2CuF Xv X3 2* YV YT, — CI4 Λ 3 Y (7)
These equations can be solved, using Cramer's rule (see for example the Penguin Dictionary of Mathematics), to give the following expressions for Xv and Yv:
Figure imgf000010_0002
Figure imgf000011_0001
A skilled person will therefore appreciate that if the positions of the slave beacons 7 relative to the master beacon 5 and the speed of the acoustic signals 11 are known, and the time differences between the time taken for acoustic signals 11 to travel from each of the slave beacons 7 to the vehicle 1 and the time taken for acoustic signals to travel from the master beacon 5 to the vehicle 1 are measured, then the position of the vehicle 1 can be determined relative to the master beacon 5.
A more detailed description of a first embodiment of the above position detection system, in which the remote control unit 13 is a conventional remote control unit which transmits radio frequency (RF) control signals to the vehicle 1, will now be described with reference to Figures 2 to 6.
Figure 2 shows electrical circuitry in the master beacon 5 which is used to generate audio data signals which correspond to the acoustic signals 11. As shown in Figure 2, a control unit 21 in the master beacon 5 outputs control signals to each of four pseudo-noise (PN) code generators 23a to 23d. As those skilled in the art of telecommunications will appreciate, PN codes are binary codes which appear to be completely random in nature, but which are in fact deterministic, i.e. they can be reproduced. In particular, these codes are generated by exclusive-OR feedback from synchronously clocked registers. By continually clocking the registers, the PN code is cyclically reproduced. The number of registers, the registers used in the feedback path and the initialisation state of the registers determines the length of the code and the specific code produced.
In this embodiment, each of the PN code generators 23 has eight registers and is arranged to generate a respective PN code having 255 bits (which will hereinafter be referred to as "chips" using the standard nomenclature in the art to distinguish the bits of the PN code from the bits of a data signal) in a stream with no sequence of more than 8 chips repeated in the 255 chips. Such a PN code is conventionally referred to as an 8 bit code after the number of registers used to generate it. At the end of each stream of 255 chips a binary 0 is added to make the total length of the stream 256 chips.
The PN code generators 23 generate respective different orthogonal PN codes. In particular, PN code generator 23a generates a code sequence which will be referred to as PN code 1, PN code generator 23b generates a code sequence which will be referred to as PN code 2, PN code generator 23c generates a code sequence which will be referred to as PN code 3 and PN code generator 23d generates a code sequence which will be referred to as PN code 4. The PN codes are made orthogonal so that if any two of the PN codes are multiplied together chip by chip another pseudo-noise sequence is generated. Each of the PN codes is generated at a rate of 5512.5 chips per second and each binary 1 is represented as +1 and each binary 0 is represented as -1, e.g. plus 1 volt and minus
I volt.
In response to a signal from the control unit 21, each of the PN code generators emits a respective 256 chip PN code sequence. The rate at which the control unit signals the PN code generators 23 to emit their respective PN codes is dependent on the operating requirements of the position detection system. In particular, the time between PN code emissions should preferably be significantly longer than the maximum likely time-of-flight difference for the acoustic signals
II to travel to the vehicle 1 to avoid any possibility of overlap between different sets of emissions. In this embodiment, the maximum likely time-of-flight difference is 60ms (corresponding to a difference in distance of approximately 20m) and the control unit signals the PN generators every 0.25s to emit their respective PN sequences . The output of each PN code generator 23 is input to a respective one of the modulators 25a to 25d where it is used to modulate a carrier signal generated by a local oscillator 27. In this embodiment, the frequency of the carrier signal is 5512.5 Hz and phase shift keying is used to modulate the carrier signal. This will be explained further with reference to Figures 3A and 3B which show a chip sequence output by one of the PN code generators 23, in the form of a logic signal, and the corresponding modulated signal output by the corresponding modulator 25 respectively. As can be seen from Figures 3A and 3B, whenever the logic signal undergoes a change of state, a phase shift of a 180° is introduced into the carrier signal. In this way, a spread spectrum signal is generated.
The effect of the spread spectrum encoding is illustrated in Figure 4 in which a modulated baseband signal 35, which would result if the carrier signal was modulated by a baseband signal, is compared with the spread spectrum signal 37 generated when the carrier signal is modulated by the PN code sequence. As shown, the modulated baseband signal 35 is a narrowband signal centred at approximately 5.5 kHz while the spread spectrum signal 37 has a power spectrum with a main band spread between 0 and 11 kHz and harmonic bands at higher frequencies. As the power of the spread spectrum signal 37 is spread over a wider range of frequencies, the peak power level is significantly reduced. For many applications the spread spectrum signal 37 is not noticeable to the user 15 or is heard only as background white noise.
Returning to Figure 2 , the spread spectrum signal output by each of the modulators 25 is amplified by a respective one of four audio amplifiers 29a to 29d to generate audio data signals S (t), S2(t), S3(t) and S4(t). The audio data signal Si(t) is input to a loudspeaker 31, forming part of the master beacon 5, which generates the corresponding acoustic signal 11a. The audio data signals S2(t), S3(t) and S4(t) are conveyed to respective ones of the slave beacons 7, via the cables 9. Each slave beacon 7 has a loudspeaker which converts the incoming audio data signal S(t) into the corresponding acoustic signal 11.
Figure 5 shows the circuitry which is provided, in this embodiment, in the vehicle 1. As shown, the vehicle 1 includes the microphone 3 which detects the acoustic signals 11 emitted by the master beacon 5 and the slave beacons 7 and converts them into an electrical signal D(t). This electrical signal D(t) is then input to a filter to remove high frequency components including the higher harmonic bands of the spread spectrum signal 37. The filtered signal is then input to an analog-to-digital converter (ADC) 43 where it is converted into a digital signal J(t). In this embodiment, the sampling rate of the analog-to-digital converter 43 is set to 22.05 kHz, which is twice the highest frequency of the main energy band of the spread signal 37. As those skilled in the art will appreciate, this is the minimum sampling frequency enabling full use to be made of the main energy band of the spread signal 37 without aliasing. Figure 3C shows an example of the samples obtained by sampling an electrical signal D(t) containing just the spread spectrum signal 37 illustrated in Figure 3B.
The digital signal J(t) output by the ADC 43 is then input into a correlator unit 45 which correlates the digital signal J(t) with stored sequences corresponding to PN codes 1 to 4 to identify the timing of the PN code sequences within the digital signal J(t) sent by the master beacon 5 and slave beacons 7, measures the time intervals between the identified timings and outputs signals corresponding to C12, C13 and C14 as defined hereinbefore .
The correlator unit 45 will now be described in more detail with reference to Figure 6. As shown in Figure 6, the digital signal J(t) output by the ADC 43 is input to four correlators 71a to 7 Id which, in this embodiment, each include a digital matched filter. A PN code generator 73a which generates PN code 1 is connected to a first correlator 71a, a PN code generator 71b which generates a PN code 2 is connected to a second correlator 71b, a PN code generator 73c which generates PN code 3 is connected to a third correlator 71c and a PN code generator 73d which generates a PN code 4 is connected to a fourth correlator 7Id. The PN codes generated by the PN code generators 73 are used to set the parameters of the digital matched filter of the respective correlators 71 so that the digital matched filter will output relatively sharp peaks when there is a match between the corresponding PN code and the received digital signal J(t).
As shown in Figure 6 , the output of each of the correlators 71 is input to a correlator unit processor 75. The correlator unit processor 75 measures the difference in time between a peak received from the first correlator 71a and a peak received from the second correlator 71b, multiplies this time difference by the speed of the acoustic signals to calculate C12 and outputs a signal corresponding to C12. Similarly the correlator unit processor 75 calculates C13 from the difference in time between a peak received from the first correlator 71a and a peak received from the third correlator 71c and calculates C14 from the difference in time between a peak received from the first correlator 71a and a peak received from the fourth correlator 7Id, and outputs signals corresponding to C13 and C14.
Returning to Figure 5, the signals output by the correlator unit 45 are input to a simultaneous equation solver 47. A beacon position memory 49, which stores the positions of the slave beacons 7 relative to the master beacon 5 (i.e. ( Xl r Y1 ) , (X2,Y2) and (X3 Y3)) is also connected to the simultaneous equation solver 47. The simultaneous equation solver 47 performs processing to calculate the position (XV,YV) of the vehicle 1 using equations 8 and 9 above based on the values received from the correlator unit 45 and the beacon position memory 49.
In this embodiment, a physical constraints memory 51 is also connected to the simultaneous equation solver 47. The physical constraints memory 51 stores data identifying all possible solutions for the position of the vehicle 1. For example, if a wall is present along a line a distance D away from the master beacon 5 in the x-direction, then the data stored in the physical constraints memory 51 will indicate that Xv cannot be larger than D. In this embodiment, the simultaneous equation solver 47 performs a "reality check" by checking with the data stored in the physical constraints memory 51 that the position corresponding to Xv and Yv is feasible.
The simultaneous equation solver 47 outputs signals corresponding to Xv and Yv, that is the position of the vehicle 1 relative to the master beacon 5 , to a processor 53. The processor 53 is connected to a read-only memory (ROM) 55 which stores routines which are used by the processor 53 during operation and a random access memory (RAM) 57 which provides working memory for the processor 53 when performing the routines stored in the ROM 55. A user interface 59, which enables a user to input the positions of the slave beacons 7 relative to the master beacon 5 for storing in the beacon position memory 49 and to input any physical constraints to be stored in the physical constraints memory 51, is also connected to the processor 53.
The processor 53 is also connected to RF receiver circuitry 61 which processes RF control signals received from the remote control unit 13 via an aerial 63 and inputs the processed control signals to the processor 53. The processor 53 is also connected to motors 65 which enable the processor to control the speed and direction of movement of the vehicle 1 in accordance with remote control signals received from the remote control unit 13.
In this embodiment, the user 15 is able to input, via the user interface 59, data corresponding to an area on the plane within which the vehicle 1 is allowed to move. For example, if there is a wall then the user can exclude the wall from the allowed area so that the vehicle 1 cannot drive into the wall. The processor 53 monitors the position of the vehicle 1 , using the signals output by the simultaneous equation solver 47, and if the remote control signals received from the remote control unit 13 would cause the vehicle 1 to move outside of the allowed area then the processor 53 overrides the received remote control signals so that the vehicle 1 stays within the allowed area. In the first embodiment, the remote control unit 13 transmitted remote control signals to the vehicle 1 using electromagnetic waves at RF frequencies. A second embodiment will now be described in which the remote control unit 13 transmits the remote control signals to the vehicle 1 using acoustic signals.
Figure 7 schematically shows the circuitry in the remote control unit 13 of the second embodiment. User interface devices 81 are provided via which a user can input commands (such as increase speed, decrease speed, move left and move right) for transmission to the vehicle 1. The signals from the user interface devices 81 are input to a control unit processor 83 which generates a data signal F(t) to be transmitted to the vehicle 1. In this embodiment, the data signal F(t) is a logic signal which is generated at approximately 21.5 bits per second. Two PN code generators 85a and 85b are provided in the remote control unit 13. The PN code generator 85a generates a code sequence, which will be referred to as PN code 5, by repeating continuously a first 12 bit PN code with an extra binary zero added to the end of each sequence of 4095 chips, at a chip rate of 5512.5 Hz. Similarly, the second PN code generator 85b generates a code sequence, which will be referred to as PN code 6, by repeating a second different 12 bit PN code with an extra binary zero added to the end of each sequence of 4095 chips, at a chip rate of 5512.5 Hz. In this embodiment, PN code 5 and PN code 6 are orthogonal to each other and to PN codes 1 to 4 .
The data signal F(t) and PN code 5 are input to a first AND gate 87a while the inverse of the data signal F(t) and PN code 6 are input to a second AND gate 87b, with the outputs of the first and second AND gates connected together to form a common output. In this way a logic signal I(t) is formed at the common output in which every "1" of the data signal F(t) has been converted into a 256 chip sequence from PN code 5 and every "0" of the data signal F(t) has been converted into a 256 chip sequence from PN code 6. The logic signal I(t) is input to a modulator 89 which uses phase shift keying to modulate a 5512.5 Hz carrier signal generated by an oscillator 91. In this way a spread signal G(t) is generated with a main energy band from baseband to 11kHz and higher frequency sub-bands. The spread signal G(t) output from the modulator 89 is amplified by an audio amplifier 93 and then input into a loudspeaker 95 which converts the amplified signal into an acoustic signal.
Figure 8 shows the circuitry in the vehicle 1 in the second embodiment. The components of Figure 8 which are identical to those of the first embodiment have been referenced with the same numerals and will not be described again. As shown in Figure 8, the digital signal J(t) output by the ADC 43 is input to a remote control signals decoder circuit 101 which regenerates the data signal F(t) output by the control unit processor 83 in the remote control unit 13. The regenerated data signal is then input to the processor 53 in the vehicle 1 as before.
An arrangement using correlators formed by digital matched filters, as used to despread the signals from the master beacon 5 and the slave beacons 7, could be used in the remote control signals decoder circuit 101 to despread the spread signal conveying the remote control signals. This is commonly referred to as incoherent despreading. However, it is preferred that the remote control signals are despread by synchronously multiplying the digital signal J(t) by the same PN code as was used for spreading the data signal F(t) because this enables a more reliable regeneration of the original data signal to be achieved. Despreading by synchronous multiplication is commonly referred to as coherent despreading.
Figure 9 shows in more detail the remote control signals decoder circuit 101 of the second embodiment. In this embodiment, the circuitry 101 uses a coherent detection technique in which the digital signal J(t) is separately multiplied by PN code 5 and PN code 6. To perform coherent detection, it is necessary to ensure that the chip sequence conveyed by the digital signal J(t) and the chip sequences of PN code 5 and PN code 6 are time- synchronised. To achieve an initial synchronisation, the digital signal J(t) is input to an acquisition unit 105. The acquisition unit 105 generates signals which are analysed by a processor 107 which generates a signal F to control the rate of the clock signal elk generated by a clock 109, and signals X and Y for controlling the timing of the generation of the codes by PN code 5 and PN code 6 generators 111 and 113 respectively.
Figure 10 shows in more detail the contents of the acquisition unit 105 and the signals that are generated by the acquisition unit 105 and supplied to the processor 107. In this embodiment, the processor 107 first removes any frequency offset between the chip rate of the chip sequence in the digital signal J(t) and the chip rate of the PN code 5 and PN code 6 generators 111, 113 by adjusting the clock rate. This is necessary for two main reasons. The first reason is that if it is not done, then there will always be a slight difference between the clock frequencies used to generate the PN codes in the remote control unit 13 and the vehicle 1 respectively. The second reason is that even if identical clock frequencies are used in the remote control unit 13 and the vehicle 1, frequency shifts caused by Doppler effects can occur which affect the chip rate in the detected signal. Therefore, without control of the rate at which PN code 5 and PN code 6 are generated in the vehicle 1, it would be necessary to perform re-synchronisation on a frequent basis.
As shown in Figure 10, the samples of the digital signal J(t) from the microphone 3 are input to a series of four digital matched filters 131a to 13 Id which are arranged in series so that the cascade output (indicated in Figure 10 by a) of the first matched filter is input to the second matched filter and so on. Each filter has 2048 taps, with the taps of the first matched filter 131a being matched to the first two bits of a SYNC byte, the taps of the second matched filter 131b being matched to the third and fourth bits of the SYNC byte, the taps of the third matched filter 131c being matched to the fifth and sixth bits of the SYNC byte and the taps of the fourth matched filter being matched to the seventh and eighth bits of the SYNC byte (1024 taps are required for each data bit because each data bit is multiplied by 256 chips and each chip is to be sampled four times).
The reason why a single matched filter having 8192 taps is not used rather than the four series connected matched filters 131 will now be described. In particular, if a single large matched filter was used in order to detect the SYNC byte, and if the rate at which the PN code 5 and PN code 6 are generated is different to the chip rate in the digital signal J(t), then this lack of synchronisation will be more noticeable. This is because a large single matched filter performs the correlation over a larger time window and consequently the effects of the lack of synchronisation can build up over a longer period of time, thereby degrading the score output by the single matched filter. In contrast, by using a number of smaller series connected matched filters, the time window over which each of the matched filters performs the correlation is much smaller than that of the larger single matched filter. Hence, the effect of lack of synchronisation will be less noticeable for each of the individual smaller matched filters. As a result, larger frequency offsets between the chip rate in the digital signal J(t) and the chip rate of the PN code 5 generator 111 and the PN code 6 generator 113 can be tolerated by using the four matched filters 131 rather than a single matched filter.
The score output by each of the matched filters 131 (which is indicated by output b and which is updated at each clock pulse as the samples of J(t) are clocked through the matched filters) is input to a corresponding one of four normalisation circuits 133a to 133d. The normalisation circuits 133 provide a normalised output for a wide dynamic signal range of the input digital signal J(t). This enables the output of the normalisation unit to be analysed by a simple thresholding operation.
Figure 11 shows schematically the contents of each normalisation circuit 133. As shown, the current score from the corresponding matched filter 131 is input to a time delay unit 141 where it is delayed for 1024 clock periods, which corresponds to the time taken for the samples of the digital signal J(t) to propagate halfway through the corresponding one of the matched filters 131. The current score is also input to an averaging circuit 143 which uses the current score to update a running average of the last 2048 scores. The output of the time delay unit 141 is then input to a divider 145 which divides the delayed score by the current value of the running average, to produce the normalised output. The above processing makes the normalisation circuit particularly well suited to systems where a spread spectrum signal is hidden in an acoustic signal, because the acoustic signal will typically vary over a large dynamic range .
Figure 12 shows in more detail the contents of the averaging circuit 143. As shown, the current score is input to a time delay unit 151, where it is delayed for 2048 clock periods, and an adder 153 where the inverse of the time delayed score is added to the current score. The output of the adder 153 is then input to a second adder 155 where it is added to the current value of the running average (delayed by one clock cycle) output by the time delay unit 157, to generate a new current value of the running average which is used by the divider circuit 145.
In this embodiment, sequences of SYNC bytes are repeated intermittently within the data signal F(t) output by the control unit processor 83 of the remote control unit 13. Figure 13 shows a typical output of one of the normalisation circuits 133, when two consecutive SYNC bytes pass through the corresponding matched filter 131. In Figure 13 reference timings 161 have been illustrated which are separated by 8192 clock periods (nominally corresponding to the time required for the samples corresponding to one SYNC byte to pass through the matched filter) . The period between two adjacent reference timings 161 will hereinafter be referred to as a frame. A first peak 163 in the normalised score, corresponding to the first SYNC byte, occurs a time xλ after the nearest preceding reference timing 161, while a second peak 165, corresponding to the second SYNC byte, occurs a time τ2 after the nearest preceding reference timing 161. If there is no frequency offset in the chip rates, then τλ will be equal to τ2 (since in 8192 clock periods the samples corresponding to a SYNC byte will pass completely through the four matched filters 131) and the matched filters 131a-131d will all output peaks at the same time. However, if there is a frequency offset in the chip rates, then there will be a timing offset τof£/ defined by τ2 - τlf between the peaks in neighbouring frames which is dependent on the frequency offset. Further, since there is a frequency offset in the chip rates, the peaks output by the four matched filters 131a to 131d will not occur simultaneously. However, the timing offset (x0ff) for the output of each of the normalisation circuits 133 should be identical. In this embodiment, the acquisition unit 105 makes use of this, in order to quantify the frequency offset and hence to correct for it. The way in which it does this will now be described.
As shown in Figure 10, in this embodiment, the output of each normalisation circuit 133 is input to a corresponding cross-correlator 135a to 135d where it is cross-correlated with the output from the same normalisation circuit for the immediately preceding frame. This is achieved by passing the output score from each normalisation unit 133 through a corresponding time delay unit 137a to 137d which delays the scores by one frame. The output from the normalisation circuit 133 is then cross-correlated with the corresponding delayed output, by the cross-correlator 135. In this embodiment, a maximum frequency offset of three chips per SYNC byte is anticipated. Therefore, the cross-correlators 135 only look for a cross-correlation peak over a range of time offsets between the two frames, varying between a three chip lead and a three chip lag. This results in a significant reduction in the amount of processing required by the cross-correlators 135.
Figure 14 shows a typical output of one of the cross- correlators 135. The x-axis corresponds to the time offset between the two frames output by the normalisation circuit 133 and the y-axis corresponds to the score output by the cross-correlator 135. In this embodiment, twenty-five values of the cross-correlator score are obtained to allow for a maximum time offset of ± three chips. A cross-correlation peak 171 occurs at a time offset τoff which is equal to τ2 - τx . As mentioned above, the time offset for each of the matched filters 131a-131d should be identical and therefore the position of the cross-correlation peak 171 in the output of each of the cross-correlators 135 should be the same. The outputs of the four cross-correlators 135 are therefore added together in an adder 139 and the output of the adder 139, labelled OFFSET in Figure 10, is input to the processor 107. The processor 107 then calculates the frequency offset (from τoff and the size of the correlation window of the matched filters 131) and sends a control signal F to the clock 109 to adjust the clock frequency in order to reduce the frequency offset to a manageable amount.
Once the frequency offset has been reduced in this way, it is then necessary to synchronise PN code 5 and PN code 6 generated by the PN code generators 111 and 113 respectively with the chip sequence in the digital signal J(t). In this embodiment, this is achieved by inputting the output scores Al B^ Cx and Dx from the four normalisation circuits 133 directly into the processor 107 which determines, from the largest peak present in the four outputs, the timing of the chip sequence in the digital signal J(t) . The processor 107 then outputs control signals X and Y to the PN code generators 111 and 113 respectively, in accordance with the timing of the largest peak to achieve time synchronisation. In this embodiment, the processor 107 is a microprocessor based system which is schematically illustrated in Figure 15. As shown, the processor includes an interface circuit 175 for interfacing a central processing unit (CPU) 177 with the normalised scores A r Bx, Cx and Dx output from the normalisation circuits 133 and for interfacing the CPU with the adder 139 and the two PN code generators 111 and 113. As shown in Figure 15, the interface circuit 175 also receives a signal (TRACK) which is used in tracking which will be described in more detail below. In carrying out the calculations described above, the processor 107 processes the values received from the interface 175 in accordance with predetermined instructions stored in a program memory 179. A working memory (RAM) 181 provides memory which can be used by the CPU 177 while performing calculations. A user interface 183 is also provided to allow a user to adjust the settings of the processor 107, for example in order to change or alter the program instructions stored in the program memory 179 so that the decoder can be reconfigured.
Returning to Figure 9, when synchronisation has been achieved, data encoded in the digital signal J(t) can be extracted by inputting the digital signal J(t) to a correlator unit 115 (indicated by dotted lines) in which the digital signal J(t) is synchronously multiplied by PN code 5 and PN code 6. As shown in Figure 9, the correlator unit 115 comprises three channels labelled late, on-time and early. As will be explained in detail, the three channels enable the time synchronisation to be tracked while data other than the SYNC byte is being transmitted.
The digital signal J(t) is input into each of the three channels of the correlator unit 115 and in each channel it is separately multiplied by PN code 5 and PN code 6. In the late channel, the digital signal J(t) is input to a multiplier 119a, where it is multiplied by PN code 5 time-delayed by two clock periods by a time delay unit 117a, and to a multiplier 121a, where it is multiplied by PN code 6 time delayed by two clock periods by a time delay unit 117c. Similarly, in the on-time channel the digital signal is input to a multiplier 119b, where it is multiplied by PN code 5 time-delayed by one clock period by a time delay unit 117b, and to a multiplier 121b, where it is multiplied by PN code 6 time-delayed by one clock period by a time delay unit 117d. In the early channel, the digital signal J(t) is input to a multiplier 119c, where it is multiplied by PN code 5, and to a multiplier 121c, where it is multiplied by PN code 6.
When the digital signal J(t) is multiplied by PN code 5, if the chip sequence of the signal J(t) matches PN code 5 , then a narrowband signal at about the carrier frequency of 5512.5 Hz will be generated. Similarly, when the digital signal J(t) is multiplied by PN code 6, if the chip sequence of the signal J(t) matches PN code 6, then a narrowband signal at the carrier frequency will be generated. Thus, for each channel, if the received data bit is a "1", then the output of the multipliers 119 will contain a narrowband signal at the carrier frequency and, because PN code 5 and PN code 6 are orthogonal, the output of the multipliers 121 will not contain the narrowband signal. Similarly, if the received data bit is a "0", then the output of the multipliers 121 will contain the narrowband signal at the carrier frequency and the output of the multipliers 119 will not.
For each channel, the outputs of the two multipliers 119 and 121 are input to a corresponding power comparator 123a to 123c, which is shown in more detail in Figure 16. As shown, in the power comparator 123, the outputs of the two multipliers 119 and 121 are input to respective bandpass filter 187a and 187b which are centred on the carrier frequency. The output of each bandpass filter 187 is then input to a respective power monitor 189a or 189b, which determines the power of the signal output from the corresponding bandpass filter 187. As mentioned above, when the received data bit is a "1", the output from the power monitor 189b should be greater than the output from the power monitor 189a. In contrast, when the received data bit is a "0", the output from the power monitor 189a should be greater than the output from the power monitor 189b. Therefore, the outputs from the power monitors 189 are input to a comparator 191 which outputs a value in dependence upon the difference between the outputs of the two power monitors 189. In this embodiment, the output from the power monitor 189a is input to the positive terminal of the comparator 191 and the output from power monitor 189b is input to the negative input of the comparator 191. Therefore, if the received data bit is a "1", then the output of the comparator 191 will be positive and if the received data bit is a "0", then the output of the comparator 191 will be negative.
Returning to Figure 9 , the output of the power comparator 123b in the on-time channel is input to a data regeneration circuit 125 where it is converted into the regenerated data signal F'(t). The output of the power comparator 123b in the on-time channel is also input, together with the outputs of the power comparators 123a and 123c of the late and early channels, into an analysis unit 127. The analysis unit 127 determines which of the power comparators 123 provides the largest output, or in other words in which channel there is the best match between the chip sequence in the digital signal J(t) with PN code 5 and PN code 6. If the power comparator 123a in the late channel provides the largest output, then the analysis unit 127 sends a signal (on control line labelled TRACK) to the processor 107 indicating that the clock should skip a sample so that the power comparator 123b in the on-time channel once more produces the largest output. Similarly, if the power comparator 123c in the early channel produces the largest output, then the analysis unit 127 outputs a signal to the processor 107 which causes the clock 109 to make a double sample so that the comparator 123b of the on-time channel once more produces the largest output. In this way a tracking operation is accomplished in which the synchronisation of PN code 5 and PN code 6 with the chip sequence encoded in the signal J(t) is checked on a sample-by-sample basis and, if necessary, the timing of PN code 5 and PN code 6 is adjusted to correct for a reduction in synchronisation.
Figure 13 shows an exemplary output of the normalisation circuit in which only a single peak 165 is present in each frame corresponding to a single acoustic path between the loudspeaker 95 in the remote control unit 13 and the microphone 3 in the vehicle 1. However, frequently a group of several peaks is present in each frame caused by the presence of different paths between the loudspeaker 95 and the microphone 3 (due to reflections off walls etc) and the signals travelling along these different paths arrive at the microphone 3 at different times. As those skilled in the art will appreciate, the acquisition unit 105 described above is robust in the presence of these multi-path peaks because, although the signals output by the normalisation circuits will include several peaks per frame, the output of each cross-correlator 135 should still contain a single dominant peak as the intervals between the peaks should remain constant. Further, the determination of the time synchronisation in this embodiment is only based on the largest peak output by a normalisation circuit 133 and therefore the smaller peaks corresponding to the other paths are ignored.
In the second embodiment described above, the processor 107 controls a clock signal elk which is used to determine the timings at which the ADC 43 samples the electrical signal output by the microphone 3. A third embodiment will now be described in which the sampling rate of the ADC 43 is fixed, but in which the output of the ADC 43 is re-sampled to overcome the frequency offset problem.
The remote control unit 13 of the third embodiment is identical to that of the second embodiment and will not, therefore, be described again. The circuitry in the vehicle 1 in the third embodiment differs from that in the second embodiment only by the replacement of the remote control signals decoder circuitry 101 by the remote control signal decoder circuitry 201 shown in Figure 17, in which components which are identical to those of the decoder circuitry 101 of the second embodiment have been referenced with the same numerals and will not be described again.
In the decoder circuitry 201 of the third embodiment, the ADC 43 samples the electrical signal from the microphone 3 at a fixed rate of 22.05 kHz. The digital signal J(t) output by the ADC 43 is then input to the acquisition unit 105 and to a re-sampling circuit 203. In this embodiment, the clock signal elk output by the clock 109 is at a frequency of approximately 44.10kHz, the exact frequency being determined by the chip rate of the chip sequence conveyed by the digital signal J(t) . As in the second embodiment, clock pulses can be skipped or doubled during the tracking operation. The PN code generators 111 and 113 generate PN code 5 and PN code 6 respectively, at a rate of one chip every eight clock pulses of the clock signal elk.
The digital signal J(t) is stored in blocks of 8192 samples in the re-sampling circuit 203. The processor 205 determines from the outputs of the cross-correlators 135 of the acquisition unit 105, the chip rate of the chip sequence in the digital signal J(t), and then outputs a signal S to the re-sampling circuit 203 which indicates the rate at which the digital signal J(t) needs to be re-sampled. For example, if the determined chip rate in the digital signal is 5567.625 Hz, which corresponds to an increase of 1% over the nominal chip rate of 5512.5 Hz, then the re-sampling rate has to be 22.2705 kHz to allow for the additional chips present. The re-sampled data is determined in the re-sampling circuit 203 from the 8192 stored samples using interpolation techniques to give, for the exemplary 1% increase in chip rate, 8274 samples. The clock rate of the clock 109 is also adjusted to be eight times the chip rate of the chip sequence in the digital signal J(t) and the re-sampled data is then input to the correlator unit 195 at this clock rate where it is multiplied by PN code 5 and PN code 6 and the remaining processing proceeds as in the second embodiment.
In this embodiment, the PN code generators 111 and 113 are controlled by the processor 205 to operate only when re-sampled data is input to the correlator unit 115. It will be appreciated by the skilled person that the clock signal elk is run at a faster rate than the sampling rate of the ADC 183 to give time for the re-sampling to take place and for any additional chips to be processed.
Modifications and Further Embodiments
In the second and third embodiments a specific synchronisation and tracking technique is described. However, it will be appreciated that many modifications could be made to this synchronisation and tracking technique. Parameters, such as the number of matched filters and the number of taps in each matched filter, will depend upon the operational tolerance required for the device. It is desirable to use a long synchronisation sequence in the matched filter because, when there is no frequency offset, increasing the number of taps increases the size of the peak in the output of the matched filter. However, increasing the number of taps in a single matched filter reduces the frequency offset which that matched filter can tolerate. It has been found that if it is desired to match the taps of the matched filter with a synchronisation sequence comprising N chips, but a frequency offset resulting in a time drift of e chips of the synchronisation sequence must be tolerated across the matched filter, then it is preferred to split the matched filter into (e + 1) matched filters with each one matched to N divided by (e + 1) chips of the synchronisation sequence. If the above-described cross-correlation technique is then used to measure the frequency offset, then sample offsets spanning from -e chips to +e chips need to be calculated in the cross-correlator.
In the second and third embodiments, the cross- correlators calculate cross-correlation scores for timing offsets between the two frames which are varied in steps corresponding to a single clock cycle. This is not essential and the cross-correlation could, for example, be calculated for timing offsets of the frames which vary in steps corresponding to 2 or 4 clock cycles. Further, it will be appreciated from Figure 13 that the frequency offset could be determined with a sub-sample resolution by interpolating the position of the peak from the values of the points neighbouring the maximum cross-correlation score . Another way of obtaining a more accurate measure of the frequency offset is to accumulate the summed outputs of the cross-correlators over more than two frames . In the second and third embodiments the matched filters 131a-131d of the acquisition circuit 105 are arranged in series. Figure 18 illustrates an alternative acquisition unit 301 in which the matched filters are arranged in parallel. In Figure 18 components which are identical to corresponding components in Figure 10 have been referenced with the same numerals and will not be described again.
The digital signal J(t) is input into four parallel channels. In the first channel the digital signal J(t) is input directly into the first matched filter 131a. In the second channel the digital signal J(t) is input, via a time delay unit 303 which introduces a delay of 2048 clock cycles, into the second matched filter 131b. In the third channel the digital signal J(t) is input, via a time delay unit 305 which introduces a delay of 4096 clock cycles, into the third matched filter 131c. In the fourth channel the digital signal J(t) is input, via a time delay unit 307 which introduces a delay of 6144 clock cycles, into the fourth matched filter 131d. In this way the score outputs Alf Blf C1 and O of the first to fourth matched filters 131a to 13 Id are identical to those for the acquisition unit 185 of the second embodiment and therefore the remainder of the acquisition unit 301 functions in the same manner as the acquisition unit 105 of the second embodiment.
The acquisition circuits described with reference to Figures 10 and 18 have a number of advantages. These advantages include:
(1) The normalisation circuit 133 makes the acquisition circuit capable of analysing input digital signals
J(t) whose power spans a wide dynamic range.
(2) Replacing a single long matched filter with four short matched filters improves the ability to generate peaks in the presence of large frequency offsets .
(3) By cross-correlating the output of each normalisation circuit with the output one frame earlier, the output of the cross-correlator for each matched filter is nominally identical and hence the output of each cross-correlator can simply be added together.
(4) By using a cross-correlation to determine the frequency offset, the amount of processing required to determine the frequency offset for multi-path signals is identical to that required for single- path signals.
(5) As the length of the matched filters used will be determined based on a required tolerance of frequency offset for the decoder, the cross- correlation need only be carried out for time offsets between the output of the normalisation circuit for neighbouring frames which fall within this tolerance, thereby reducing the amount of processing performed.
It will be appreciated by the person skilled in the art that the normalisation circuit is not essential to achieve some of the advantages discussed above. An automatic gain control (AGC) circuit at the input to the decoder could be used instead, but the normalisation circuit is preferred because the response times of the AGC control loop lead to a compromise between accuracy and distortion, whereas the normalisation circuit provides a more deterministic system leading to a significant improvement in performance.
It will also be appreciated that the cross-correlation technique, in which the score outputs of neighbouring frames are cross-correlated, could also be applied to the output of a single filter to determine the frequency offset, although using plural filters and adding the results together increases the signal magnitude.
Further, the increased frequency offset tolerance achieved by splitting a single matched filter into a number of smaller matched filters can be achieved without using the cross-correlation technique. Figure 19 illustrates an alternative acquisition circuit 309 which corresponds to the acquisition circuit 105 illustrated in Figure 10 with the cross-correlators 135, delay units 137 and adder 139 removed so that the OFFSET signal is not generated and only the scores Ai r Bi r CL and Di of the normalisation circuits 133 for each sample i are input to the processor 137. The processor can then use these scores to keep a number of accumulated scores for different values of frequency offset. The frequency offset can then be determined by comparing the accumulated scores and to determine which has the best score.
For example, the processor 107 may perform a routine in which for each sample the following sums, which correspond to varying timing offsets, are calculated:
A± + B± + C± + D± ( 10 )
A± + Bi+1 + Ci+2 + Di+3 ( 11 )
A± + BM + C±_3 + D±_3 ( 12 )
Ai + Bi+2 + Ci+4 + Di+6 ( 13 ) A± + Bi_2 + Ci_4 + Di_6 ( 14 )
Ai + Bi+3 + Ci+S + Di+9 ( 15 )
A± + Bi_3 + Ci_6 + Di_9 ( 16 )
The skilled person will recognise that sum (10) corresponds to no timing offset, sums (11) and (12) correspond to a timing offset of ±3 clock cycles, sums (13) and (14) correspond to a timing offset of ±6 clock cycles, and sums (15) and (16) correspond to a timing offset of ±9 clock cycles. For each sample i, the sums (10) to (16) are compared to a threshold figure which is set such that when one of the sums is above the threshold figure, the frequency offset can be estimated from which of the sums (10) to (16) was used and the time synchronisation can be estimated from the timing of the sample i which caused the sum to exceed the threshold. The skilled person will appreciate that this synchronisation technique is very efficient in terms of the processing power required in comparison to conventional synchronisation techniques because the correlation only has to be performed once. It will also be appreciated by the skilled person that the form of the sums used above can be varied to obtain different timing offsets if desired.
It will be appreciated by those skilled in the art that, because the acoustic signal undergoes an arbitrary phase shift between source and receiver, the output of the matched filters 131 is not always optimal. A complex filter can be used instead of each matched filter in order to remove the dependence on the phase of the incoming signal. As in this application it is the amplitude of the filter output which is most important, the complex filter could be formed by a parallel pair of matched filters each having 2048 taps and being matched to a quadrature pair of signals. The outputs of the matched filters would then be squared, summed and divided by the average output value over one data bit period, to generate a score output which can be compared with a threshold value to give an output which is independent of the input signal phase.
In another alternative acquisition circuit, the configuration illustrated in Figure 10 is used but each of the matched filters has 256 taps matched to a respective quarter of a 256 chip sequence corresponding to a SYNC bit.
In the first to third embodiments, direct sequence spread spectrum (DSSS) encoding is used to spread the energy spectrum of the acoustic signals emitted by the beacons and the remote control unit. In particular, a 256 chip pseudo-noise code sequence is transmitted by the beacons every 0.25 seconds to enable the object to determine its position. Alternativley, longer pseudo-noise code sequences could be employed, in which case the code sequence could be cyclically repeated without a delay between the end of one code sequence and the start of the next. For example, if a 4096 chip pseudo-noise code sequence is used with a chip rate of 5.5215 kHz, then the repeat time is approximately 0.75 seconds which is sufficient to overcome any ambiguity problems. Using a longer pseudo-noise code sequence has the advantage that it is less noticeable to human beings and animals.
The energy of the beacon signals and the remote control data signal can be spread over a wide range of frequencies by using techniques other than DSSS encoding. For example, as illustrated by the power spectrum shown in Figure 20, an orthogonal frequency division modulation (OFDM) technique can be used in which, for example, 256 narrow-band orthogonal carriers 321 carry identical data. These 256 narrow-band carriers are evenly distributed in the frequency range of 1 to 11kHz and thus spreading of the energy of the beacon signals and the remote control data signal is achieved. The original beacon signal or remote control data signal can then be reconstructed by demodulating and recombining each of the narrow-band signals .
It will be appreciated by a person skilled in the art that still further techniques could be used to spread the energy of these data signals. For example, frequency hopping could be used in which the frequency of the signal is changed in a random manner.
Another alternative to spreading the energy of a single narrow-band data signal over a desired broad range of frequencies is to generate a small number of narrow-band carriers at the centre of the desired frequency range and then to spread each of these narrow-band carriers over the entirety of the desired frequency range using orthogonal PN codes. The power spectrum for such a scheme is illustrated in Figure 21 in which 16 narrowband carriers 323 are evenly spaced between 5512.5Hz and 6300Hz and each of the narrow-band carriers is spread using DSSS encoding with a chip rate of 5512.5Hz to form a broadband signal 325.
Alternatively, a number of narrow-band signals can be evenly spaced in the desired frequency range and each of these narrow-band signals can be individually spread to cover a sub-band of the desired frequency range. Such a system is shown in Figure 22 in which eight narrowband signals 331, each transmitting a data signal at 5 bits per second, are spaced evenly throughout the desired range. Each bit of each of the narrowband signals is multiplied by a corresponding PN code using a 256 chips per bit ratio, to form eight broadband signals 333 spread over a corresponding sub-band of the desired range. This has the advantage that the resulting spread spectrum is significantly flatter than those of the other embodiments . The PN codes used to modulate the eight different signals form an orthogonal set so that each broadband signal 333 can be despread separately. Further, each broadband signal 333 can be adjusted as a whole for the energy of the corresponding segment of audio track which reduces errors caused by non-linear filtering across the entire desired range of frequencies.
In the systems described with reference to Figures 20 to 22 a number of narrowband signals are generated. For the remote control data signal, these signals can be used to carry identical data streams which are staggered in time. This has the advantage that if a segment of the data signal is lost, for example due to a loud noise which does not form part of the audio signal output by the loudspeaker 95, then the data in the lost segment will be repeated in different channels subsequently.
Those skilled in the art will appreciate that coherent despreading employing synchronous multiplication could be employed for the beacon signals instead of incoherent despreading. For example, the circuitry describe with reference to Figures 9 to 12 and 15 to 19 could be used to process the spread spectrum signals received from the beacon. In particular, the synchronisation data could be used to determine the times of arrival of the acoustic signals at the object.
In the second and third embodiments, the output of each multiplier 119, 121 is input to a bandpass filter followed by a power monitor. Alternatively, the output of each multiplier 119, 121 could be input to a quadrature mixer and the output of the quadrature mixer then input to a low-pass filter with a time constant of the order of the duration of a data bit of the data signal F(t). The output of the low-pass filter can then be used as an input signal to the comparator 191. This provides a computationally efficient implementation.
In the second and third embodiments, the processor decides, based on the signal TRACK, after every clock cycle which of the early, on-time and late channels produces the best signal. However, in order to reduce the processing load, the processor could alternatively make this decision over longer intervals, for example intervals corresponding to one chip, one data bit or one repetition of the chip sequences PN code 5 and PN code 6.
In the first to third embodiments, phase shift keying is employed to centre the energy of the spread spectrum signal at 5.5kHz. Those skilled in the art will appreciate the centre frequency and the degree of spreading are design choices which can be varied. Further, other modulation techniques, such as frequency shift keying, could be employed.
In the second and third embodiments, the remote control unit 13 has a dedicated loudspeaker for transmitting the remote control acoustic signals. Alternatively, the remote control unit 13 could be connected to the master beacon 5 and the remote control acoustic signals broadcast using the loudspeaker in one or more of the beacons. If, however, the remote control acoustic signals were broadcast using more than one beacon then a rake receiver arrangement would be desirable in the vehicle 1 to compensate for the different times-of-flight between each beacon and the vehicle 1.
As those skilled in the art will appreciate all the PN code generators 23 can be located in a single master beacon 5 because the time taken for electrical signals to travel from the master beacon 5 to the slave beacons 7 is negligible compared to the time taken for the acoustic signals 11 to travel between the beacons and the object as the speed of the electrical signals is much faster than the speed of the acoustic signals. However, it is not necessary for all the PN code generators 23 for the beacon to be located in a single master beacon 5. Alternatively, for example, each beacon could house the PN code generator 23 used to spread the acoustic signal 11 emitted by that beacon. This is not, however, preferred because it is cheaper to manufacture all the circuitry on a single circuit board rather than spreading it over four different circuit boards.
As data encoded using spread spectrum encoding techniques can be extracted from a high background noise level, the beacons could also be used to transmit other sounds, such as music and tannoy announcements. Further, psycho- acoustic encoding techniques as described in the Applicants corresponding International application no. PCT/GB00/02961 (the whole contents of which are incorporated by reference) could be used to make the spread acoustic signals less noticeable to a listener.
The ability to combine spread audio data signals with other audio signals opens up a wide range of possible applications. Figure 23 shows an example of such an application in which spread audio data signals are added to the audio track of a television signal. As shown in Figure 23, a remote controlled vehicle 401 having an omni-directional microphone 403 is located on the floor of a room 405. A television set 407 having a surround sound system including four loudspeakers 409a to 409d is also located in the room 405. In this position detection system, the audio track of a television programme includes spread spectrum signals which are output by the loudspeakers 409 so that the vehicle 401 can determine its position within the room 405. Further, the audio track of the television programme also includes a spread spectrum data signal conveying remote control signals for varying the movement of the vehicle 401.
Throughout the room 405 there are a number of objects which it is preferable that the vehicle 401 does not drive into, for example a chair 411 on which a user 413 sits, the speakers 409, a cabinet 415 on which the television set 407 sits, a lamp 417 and a vase 419. However, the originator of the remote control signals will not know the positions of these objects. In this embodiment, the user 413 inputs into the vehicle 401 the positions of the speakers 409, so that the vehicle 401 can determine its position relative to the speakers 409, and an allowed area 421 (shown in dashed lines in Figure 23) outside of which the vehicle 401 is not permitted to move. If the remote control signal conveyed by the audio track would cause the vehicle 401 to move outside of the allowed area 421 then, in a manner identical to that in the first to third embodiments, a processor within the vehicle 401 overrides the remote control signals to maintain the vehicle 401 within the allowed area 421.
Alternatively, the remote control signals conveyed by the audio track of the television signal could instruct the vehicle 1 to move to a co-ordinate within a preset area in an arbitrary co-ordinate system. In this case, the vehicle 1 maps the preset area in the arbitrary coordinate system to the allowed area 421 in the room 405, and when a remote control signal is received converts the received co-ordinate into the corresponding co-ordinate in the allowed area 421 and moves to that corresponding co-ordinate.
Those skilled in the art will appreciate that the audio track could originate from one of many sources. For example, the audio track could be the audio track of a broadcast television signal, a television signal stored on a video cassette 423 to be played by a video cassette recorder (VCR) 425, a broadcast radio signal, an audio track stored on a compact disc or the like, and a CD- ROM 429 for a multi-media computer 427.
In the above-described embodiments, an object is able to determine its position relative to a number of beacons. However, if the position of each beacon in a reference co-ordinate system is known by the object, then the object is able to determine its position in that reference co-ordinate system. Examples of such reference co-ordinate systems include the grid references of a local street map and absolute longitude and latitude positions .
After the object has determined its position, the object could broadcast its position to a tracking system which tracks the position of the object. Further, it will be appreciated that it is not essential in such a system for the object to calculate its own position. Alternatively, the object could broadcast the time differences between the signals arriving from the beacons to a tracking station which then calculates the position of the object using the broadcast time differences. The position/timing information could be broadcast over any suitable communications link, using for example radio waves, optical/infra-red waves or acoustic waves.
In the above-described embodiments, four beacons have been used to enable an object to determine its position in a two-dimensional plane using differential time-of- flight analysis. Those skilled in the art will appreciate that an appropriately positioned additional beacon (which for the illustrated embodiments would not be in the plane containing the other beacons) would enable the object to determine its position in three dimensions using differential time-of-flight analysis. Further, in many situations four appropriately positioned beacons are sufficient for an object to determine its position in three dimensions because this will give two solutions of which generally only one is possible due to physical constraints (such as a floor). Therefore, the object can discount one of the positions by referring to a physical constraints memory storing data identifying allowed positions.
An example of an application utilising position determination in three-dimensions is a remote-controlled aircraft system including four appropriately positioned beacons, three of which are on the ground, which enable the remote-controlled aircraft to determine its position in three dimensions from spread-spectrum signals emitted by the four beacons using differential time-of-flight analysis. The remote controlled aircraft can then ensure that it remains within a fixed volume in the same manner as the remote control vehicle of the first to third embodiments ensures that it remains within a fixed area.
In the above-described embodiments, a differential time- of-flight system is utilised in which all the beacons transmit an acoustic signal simultaneously. Alternatively, the beacons could broadcast their respective acoustic signals at known relative timings in which case the object would use these known relative timings when determining the differential distances.
Those skilled in the art will also appreciate that the techniques described above could also be used in a direct time-of-flight system in which the object directly measures the time taken for an acoustic signal to travel from a beacon to the object. An advantage of the direct time-of-flight system is that generally one less beacon is required for the object to determine its position unambiguously. In particular, in a direct time-of-flight position detection system only three beacons are required for an object to determine its position unambiguously within a two-dimensional plane and only four beacons are required for an object to determine its position unambiguously in a three-dimensional volume. This is possible because in a direct time-of-flight system the object knows when the beacons emit their respective acoustic signals. Further, t is frequently possible to use only two beacons in a two-dimensional direct time-of- flight position detection system and three beacons in a three-dimensional direct time-of-flight position detection system if, as described above, some of the positions are not possible or some ambiguity in position determination is acceptable.
Various techniques can be employed in such direct time of flight systems to enable the object to know when the beacons emit their acoustic signals. For example, radio systems could be employed to provide accurate timing information to be used by the object and the beacons. The source of the radio timing signals could be the object, one of the beacons, or even an existing system such as a Global Positioning System (GPS). Further, instead of radio signals, other frequency ranges could be used, for example optical frequencies. An alternative technique for enabling the object to know when the beacons emit their acoustic signals would be to provide stable clocks in the object and the beacons. A one-off synchronisation between the object clock and the beacon clocks is performed, for example by initially inputting directly into the object its current position from which it can infer the clock offset between the object clock and the beacon clock. For a period of time after this initial synchronisation the object is able to determine its position within an acceptable level of accuracy provided the object has stored the timings when the acoustic signals are emitted by the beacons. If accurately-matched clocks are provided in the object and the beacons, this "free-wheeling" period will be long enough for many applications. For example, a 0.1 part per million ( lppm) relative accuracy allows about five hours of free-wheel time before the error in position detection becomes one metre ( for a system in which acoustic signals are propagated through air) . Those skilled in the art will appreciate that accuracies in the region of 0. lppm are readily available from oven controlled crystal oscillators. This synchronisation can then be repeated at regular intervals by returning the vehicle to some known position, which need not be the same position as was used to perform the initial synchronisation .
The "free-wheeling" mode of operation is particularly advantageous for applications in which the position detection is only required for a limited period of time. For example, a toy incorporating a position detection system (such as the remote-controlled vehicle 1 of the first to third embodiments) is unlikely to be used for longer than one hour at a time and therefore the clocks need only be accurate enough to achieve a "free-wheeling" period of approximately this duration.
Various of the above-described techniques, in particular the "free-wheeling" mode of operation, is also applicable to systems which do not use spread spectrum signals to determine position. For example, the "free-wheeling" mode of operation could be used with bursts or chirps of sound. Further, the "free-wheeling" mode of operation could be used in a phase detection system rather than a time-of-flight detection system. In a phase detection system, the beacons would transmit a continuous acoustic signal (such as a continuous sine wave signal) and the object determines its position by the phase shift of the detected acoustic signals which are directly related to the distance over which the acoustic signals have travelled. The cyclic ambiguity problem inherent in phase detection systems can be alleviated by employing a heterodyne detection system in which sound waves at two or more different frequencies are transmitted which, as those skilled in the art will appreciate, effectively increases the non-ambiguous range of the system.
In some embodiments, the position detection required is solely the distance from a single point. This can be achieved using a single beacon at the single point and applying a direct time-of-flight or phase measurement position detection technique.
In the embodiments described above, the acoustic signals were within the audible frequency range of the human ear. However, the techniques applied above also apply to acoustic signals at ultrasonic frequencies. This could enable, for example, a position detection system in which divers are able to locate themselves underwater from spread spectrum signals output by a number of ultrasonic beacons. For such a diver location system, the "freewheeling" direct time-of-flight does not need to be very long as the dives are of limited duration.
The embodiments of the invention described with reference to the drawings include processes which could be performed in a computer apparatus. The invention therefore also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of a source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the implementation of the processes according to the invention. The carrier be any entity or device capable of carrying the program. For example, the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk. Further, the carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or other means .
When the program is embodied in a signal which may be conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or other device or means .
Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.

Claims

1. An acoustic position detection system comprising: means for generating one or more predetermined spread spectrum electrical signals; one or more spaced acoustic signal generators located at predetermined relative positions for receiving at least a respective one of said predetermined spread spectrum electrical signals and for generating a corresponding spread spectrum acoustic signal; an object comprising: i) a detector for detecting the or each acoustic signal generated by the one or more acoustic signal generators and for converting the or each detected acoustic signal into a corresponding electrical signal; and ii) means for processing the corresponding electrical signal to identify the or each spread spectrum electrical signal therein and to identify the respective times of arrival of the or each spread spectrum signal; and means for determining the position of the object relative to said predetermined relative positions of said acoustic signal generators using the identified times of arrival, at the object, of the or each spread spectrum signal .
2. An acoustic position detection system according to claim 1, wherein the generating means comprises one or more pseudo-noise code generators operable to generate respective pseudo-noise codes in order to form the one or more predetermined spread spectrum electrical signals.
3. An acoustic position detection system wherein said means for generating one or more predetermined spread spectrum electrical signals is centrally co-located with one of the acoustic signal generators.
4. An acoustic position detection system according to any preceding claim, wherein the generating means further comprises means for modulating a carrier signal using the predetermined spread spectrum electrical signals.
5. An acoustic position detection system according to any preceding claim, wherein the or each acoustic signal generator is operable to generate the corresponding spread spectrum acoustic signal at frequencies audible to human beings.
6. An acoustic position detection system according to any of claims 1 to 4 , wherein the or each acoustic signal generator is operable to generate the corresponding spread spectrum acoustic signal at ultrasonic frequencies .
7. An acoustic position detection system according to any of claims 2 to 6, wherein the processing means comprises a decoder for identifying the pseudo-noise codes emitted by the or each acoustic signal generator within said corresponding electrical signal.
8. An acoustic position detection system according to claim 7, wherein the decoder comprises a correlator operable to output a peak corresponding to the timing at which one of the pseudo-noise codes is present in said corresponding electrical signal.
9. An acoustic position detection system according to claim 8, wherein the correlator comprises a matched filter for performing non-coherent detection.
10. An acoustic position detection system according to claim 7, wherein the decoder is operable to perform non-coherent detection to identify the or each pseudo- noise code in said corresponding electrical signal.
11. An acoustic position detection system according to any preceding claim, comprising a plurality of said acoustic signal generators arranged to emit their corresponding spread spectrum signals simultaneously, wherein the determining means comprises: means for calculating, for at least one pair of the plurality of acoustic signal generators, a value representative of the difference in distance between the object and each of the acoustic signal generators in the pair; and means for determining the position of the object relative to said predetermined relative positions of said acoustic signal generators using the at least one calculated differential distance value.
12. An acoustic position detection system according to any of claims 1 to 10, comprising a plurality of said acoustic signal generators, wherein the determining means comprises : means for storing data representative of the relative times of emissions of the spread spectrum acoustic signals from the plurality of acoustic signal generators; means for calculating, for at least one pair of the plurality of acoustic signal generators, a value representative of the difference in distance between the object and each of the acoustic signal generators in the pair using the stored emission timing data; and means for determining the position of the object relative to said predetermined relative positions of said acoustic signal generators using the at least one calculated differential distance value.
13. An acoustic position detection system according to any of claims 1 to 10, wherein said determining means comprises : means for determining the time of emission of a spread spectrum acoustic signal from at least one acoustic signal generator; means for calculating a value representative of the distance between the object and said at least one acoustic signal generator using the determined time of emission and the identified time of arrival; and means for determining the position of the object relative to said predetermined relative positions of said acoustic signal generators using the calculated distance value .
14. An acoustic position detection system according to claim 13, wherein the object comprises a first clock and the generating means comprise a second clock, wherein the acoustic position detection system further comprises means for synchronising the first clock with the second clock.
15. An acoustic position detection system according to claim 14, wherein the first clock and the second clock are oven controlled crystal oscillators.
16. An acoustic position detection system according to any preceding claim, wherein the object comprises said determining means.
17. An acoustic position detection system according to any preceding claim, further comprising means for responding to the determined object position.
18. An acoustic position detection system according to claim 17, wherein the response means forms part of the object.
19. An acoustic position detection system according to either claim 17 or claim 18, wherein the response means is operable to generate an output which is discernible to human beings.
20. An acoustic position detection system according to claim 19, wherein the response means is operable to emit a sound in response to the determined object position.
21. An acoustic position detection system according to either claim 19 or 20, wherein the response means is operable to display a visual signal in response to the determined object position.
22. An acoustic position detection system according to claim any of claims 19 to 21, wherein the response means is operable to cause movement of at least part of the object in response to the determined object position.
23. An acoustic position detection system according to any preceding claim, further comprising data signal means for generating and outputting a data signal, wherein the object further comprises: means for receiving the data signal; and means for responding to the data signal.
24. An acoustic position detection system according to claim 23, wherein the data signal means is arranged to broadcast the data signal as an electromagnetic wave.
25. An acoustic position detection system according to claim 23, wherein the data signal means is arranged to broadcast the data signal as an acoustic wave.
26. An acoustic position detection system according to claim 25, wherein the acoustic wave corresponding to the data signal is output through one of the acoustic signal generators .
27. An acoustic position detection system according to claim either claim 25 or 26, wherein the data signal means is arranged to generate and output a spread spectrum data acoustic signal.
28. An acoustic position detection system according to claim 27, wherein the data signal means comprises a pseudo-noise code generator operable to generate a data pseudo-noise code in order to form the spread spectrum data acoustic signal, and wherein the receiving means comprises: i) means for converting the spread spectrum data acoustic signal into a corresponding data electrical signal, and ii) data signal processing means for processing said corresponding data electrical signal regenerate the data signal.
29. An acoustic position detection system according to claim 28, wherein the data processing means comprises a correlator operable to output a peak when a chip sequence in the corresponding data electrical signal matches the data pseudo-noise codes.
30. An acoustic position detection system according to claim 28, wherein the data processing means is operable to perform incoherent detection to identify the data pseudo-noise code in said corresponding electrical signal.
31. An acoustic position detection system according to any of claims 28 to 30, wherein the receiving means comprises a synchronisation circuit for synchronising the data pseudo-noise code with a code sequence conveyed by the data electrical signal.
32. An acoustic position detection system according to according to claim 31, wherein the synchronisation circuit comprises: a correlator for generating a time-varying output dependent on the similarity of a chip sequence conveyed by the data electrical signal and a predetermined chip sequence; and a normalisation circuit operable to scale the time- varying output of the correlator by a normalisation factor determined from the average value of the time- varying output over a predetermined period of time.
33. An acoustic position detection system according to claim 32, wherein the normalisation circuit comprises means for calculating a running average of the time- varying output over the predetermined period of time.
34. An acoustic position detection system according to claim 31, wherein the synchronisation circuit comprises: a correlator for generating a time-varying output by correlating a chip sequence conveyed by the electrical signal and a predetermined chip sequence; a cross-correlator for cross-correlating the output of the correlator over a first time period with the output of the correlator over a second time period; and means for determining a frequency offset between the frequency at which the third pseudo-noise code generator generates the third pseudo-noise code and the frequency of the code sequence conveyed by the electrical signal from the output of the cross-correlator.
35. An acoustic position detection system according to claim 31, wherein the synchronisation circuit comprises: a correlator for generating a time-varying output by correlating a chip sequence conveyed by the electrical signal and a predetermined chip sequence; a cross-correlator for cross-correlating the output of the correlator over a first time period with the output of the correlator over a second time period; and means for determining the difference between the chip rate of the predetermined chip sequence and the chip rate of the chip sequence conveyed by the electrical signal from the output of the cross-correlator.
36. An acoustic position detection system according to either claim 34 or 35, further comprising a normalisation circuit operable to scale the time-varying output of the correlator by a normalisation factor determined from the average value of the time-varying output over a predetermined period of time.
37. An acoustic position detection system according to claim 36, wherein the normalisation circuit comprises means for calculating a running average of the time- varying output over the predetermined period of time .
38. An acoustic position detection system according to claim 31, wherein the synchronisation circuit comprises: a plurality of correlators, each correlator arranged to generate a time-varying output dependent by correlating a chip sequence conveyed by the electrical signal and a respective predetermined chip sequence; and means for controlling the third pseudo-noise code generator in accordance with the outputs of the plurality of correlators, wherein the respective predetermined chip sequences have the same chip rate.
39. An acoustic position detection system according to claim 38, wherein the plurality of correlators are cascaded in series.
40. An acoustic position detection system according to claim 38, wherein the plurality of correlators are connected in parallel.
41. An acoustic position detection system according to any of claims 38 to 40, further comprising a plurality of normalisation circuits, each normalisation circuit being operable to scale the time-varying output of a respective one of the plurality of correlators by a normalisation factor determined from the average of the time-varying output of that correlator over a predetermined period of time .
42. An acoustic position detection system according to claim 41, wherein the normalisation circuit comprises means for calculating a running average of the time- varying output over the predetermined period of time.
43. An acoustic position detection system according to any of claims 31 to 42, wherein the synchronisation circuit further comprises : a plurality of cross-correlators, each cross- correlator being arranged to cross-correlate the output of a respective one of the plurality of correlators over a first time period with the output of that respective correlator over a second time period; means for adding the outputs of each of the cross- correlators; and means for determining a frequency offset between the frequency at which the third pseudo-noise code generator generates the third pseudo-noise code and the frequency of the spreading code in the electrical signal from the output of the adding means.
44. An acoustic position detection system according to any of claims 32 to 43, wherein the or each correlator is formed by a matched filter.
45. An acoustic position detection system according to claim 23 to 44, wherein the data signal response means is operable to generate an output which is discernible to human beings .
46. An acoustic position detection system according to claim 45, wherein the data signal response means is arranged to cause movement of the object.
47. An acoustic position detection system according to claim 46, wherein the system further comprises means for reacting when the position of the object determined by the determining means satisfies a preset condition.
48. An acoustic position detection system according to claim 47, wherein the reacting means is arranged to prevent the response means from causing movement of the object when the preset condition is satisfied.
49. An acoustic position detection system according to any preceding claim, wherein the positions of the spaced acoustic signal generators are known with respect to a reference co-ordinate system, and the determining means further comprises means for determining the position of the object in the reference co-ordinate system.
50. An acoustic position detection apparatus comprising: a detector for detecting one or more acoustic signals and for converting the or each detected acoustic signal into a corresponding electrical signal; and means for processing the corresponding electrical signal to identify predetermined spread spectrum sequences therein and to identify the respective times of arrival of the predetermined spread spectrum sequences.
51. An acoustic position detection apparatus according to claim 50, further comprising means for determining the position of the apparatus using the identified times of arrival, at the apparatus, of the predetermined spread spectrum sequences .
52. An acoustic position detection apparatus according to either claim 50 or 51, further comprising any of the object technical features of any of claims 2 to 49.
53. An audio signal generator comprising: means for generating a plurality of spread spectrum electrical signals at audio frequencies; and means for outputting the plurality of spread spectrum electrical signals to a plurality of acoustic signal generators, wherein the audio signal generator is operable to output respective different spread spectrum electrical signals to each of the plurality of acoustic signal generators .
54. An ultrasonic signal generator comprising: means for generating a plurality of spread spectrum electrical signals at ultrasonic frequencies; and means for outputting the plurality of spread spectrum electrical signals to a plurality of acoustic signal generators, wherein the audio signal generator is operable to output respective different spread spectrum electrical signals to each of the plurality of acoustic signal generators.
55. An acoustic position determining method comprising the steps of: providing one or more spaced acoustic signal generators located at predetermined relative positions; generating one or more predetermined spectrum electrical signals and transmitting the spread spectrum electrical signals to respective ones of the acoustic signal generators; generating spread spectrum acoustic signals corresponding to the spread spectrum electrical signals; detecting at an object the or each acoustic signal generated by the one or more acoustic signal generators and converting the or each detected acoustic signal into a corresponding electrical signal; processing the corresponding electrical signal to identify the or each spread spectrum electrical signal therein and to identify the respective times of arrival of the or each spread spectrum signal; and determining the position of the object relative to said predetermined relative positions of said acoustic signal generators using the identified times of arrival, at the object, of the or each spread spectrum signals.
56. A computer-readable medium storing processor- implementable instructions for configuring a computer apparatus to perform one or more steps of the method claimed in claim 55.
57. A computer-readable medium storing processor- implementable instructions for configuring a computer apparatus as an acoustic position detection apparatus as claimed in any of claims 50 to 52.
58. A computer-readable medium storing processor- implementable instructions for configuring a computer apparatus as an audio signal generator as claimed in claim 53.
59. A computer-readable medium storing processor- implementable instructions for configuring a computer apparatus as an ultrasonic signal generator as claimed in claim 54.
PCT/GB2000/004326 1999-11-11 2000-11-13 Acoustic location system WO2001034264A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU12904/01A AU1290401A (en) 1999-11-11 2000-11-13 Acoustic location system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB9926758.5 1999-11-11
GBGB9926758.5A GB9926758D0 (en) 1999-11-11 1999-11-11 Acoustic location system
PCT/GB2000/002961 WO2001010065A1 (en) 1999-07-30 2000-07-31 Acoustic communication system
GBPCT/GB00/02961 2000-07-31

Publications (2)

Publication Number Publication Date
WO2001034264A1 true WO2001034264A1 (en) 2001-05-17
WO2001034264A8 WO2001034264A8 (en) 2001-11-29

Family

ID=26243605

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2000/004326 WO2001034264A1 (en) 1999-11-11 2000-11-13 Acoustic location system

Country Status (2)

Country Link
AU (1) AU1290401A (en)
WO (1) WO2001034264A1 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1359437A1 (en) * 2002-04-29 2003-11-05 Siemens Aktiengesellschaft Method for determining a position of a user of a communication terminal
WO2005047921A2 (en) * 2003-11-12 2005-05-26 Infineon Technologies Ag Locating arrangement, particularly loose-box localization system, identifying unit and method for determining location
WO2005096008A1 (en) * 2004-03-31 2005-10-13 The University Of Liverpool Acoustical location monitoring of a mobile target
US7024331B2 (en) 2000-11-15 2006-04-04 Scientific Generics Limited Tag tracking
WO2006120499A1 (en) * 2005-05-12 2006-11-16 Nokia Corporation, Positioning of a portable electronic device
US7228228B2 (en) 2000-11-15 2007-06-05 Sagentia Limited Tag tracking
EP1947471A1 (en) * 2007-01-16 2008-07-23 Harman Becker Automotive Systems GmbH Tracking system using audio signals below hearing threshold
EP2288121A2 (en) 2000-11-30 2011-02-23 Intrasonics S.A.R.L. Telecommunications apparatus operable to interact with an audio transmission
CN102016632A (en) * 2008-04-28 2011-04-13 弗劳恩霍弗实用研究促进协会 Method and apparatus for locating at least one object
US8027761B1 (en) * 2007-09-04 2011-09-27 Nelson Russell G Local positioning system for automated lawn mowers
WO2013132393A1 (en) * 2012-03-06 2013-09-12 Koninklijke Philips N.V. System and method for indoor positioning using sound masking signals
EP2708912A1 (en) * 2012-09-17 2014-03-19 BlackBerry Limited Localization of a wireless user equipment (UE) device based on audio encoded signals
JP2014531597A (en) * 2011-09-30 2014-11-27 マイクロソフト コーポレーション Sonic-based localization
US9078055B2 (en) 2012-09-17 2015-07-07 Blackberry Limited Localization of a wireless user equipment (UE) device based on single beep per channel signatures
US9165547B2 (en) 2012-09-17 2015-10-20 Blackberry Limited Localization of a wireless user equipment (UE) device based on audio masking
US9286879B2 (en) 2012-09-17 2016-03-15 Blackberry Limited Localization of a wireless user equipment (UE) device based on out-of-hearing band audio signatures for ranging
US20160100269A1 (en) * 2014-10-06 2016-04-07 Electronics And Telecommunications Research Institute Audio system and method for predicting acoustic feature
FR3031190A1 (en) * 2014-12-31 2016-07-01 Loic Thomas METHOD FOR LOCATING AT LEAST TWO-DIMENSIONAL OF A MOBILE TERMINAL IN A DISTURB SPACE AND INSTALLATION FOR IMPLEMENTING SAID METHOD
WO2016135631A1 (en) 2015-02-23 2016-09-01 Universidade Do Porto Positioning system and method with steganographic encoded data streams in audible-frequency audio
EP1676146B1 (en) 2003-10-15 2018-05-30 Koninklijke Philips N.V. Method and apparatus for indicating the location of an object
US10117040B2 (en) 2015-06-25 2018-10-30 Electronics And Telecommunications Research Institute Audio system and method of extracting indoor reflection characteristics

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0430148A2 (en) * 1989-11-24 1991-06-05 Daikin Industries, Limited Distance measurement method and apparatus, and relative position measurement apparatus
US5119341A (en) * 1991-07-17 1992-06-02 The United States Of America As Represented By The Secretary Of The Air Force Method for extending GPS to underwater applications
US5461921A (en) * 1993-07-13 1995-10-31 Iowa State University Research Foundation, Inc. Direct-sequence spread-spectrum ultrasonic testing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0430148A2 (en) * 1989-11-24 1991-06-05 Daikin Industries, Limited Distance measurement method and apparatus, and relative position measurement apparatus
US5119341A (en) * 1991-07-17 1992-06-02 The United States Of America As Represented By The Secretary Of The Air Force Method for extending GPS to underwater applications
US5461921A (en) * 1993-07-13 1995-10-31 Iowa State University Research Foundation, Inc. Direct-sequence spread-spectrum ultrasonic testing device

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024331B2 (en) 2000-11-15 2006-04-04 Scientific Generics Limited Tag tracking
US7228228B2 (en) 2000-11-15 2007-06-05 Sagentia Limited Tag tracking
EP2288121A2 (en) 2000-11-30 2011-02-23 Intrasonics S.A.R.L. Telecommunications apparatus operable to interact with an audio transmission
EP1359437A1 (en) * 2002-04-29 2003-11-05 Siemens Aktiengesellschaft Method for determining a position of a user of a communication terminal
EP1676146B1 (en) 2003-10-15 2018-05-30 Koninklijke Philips N.V. Method and apparatus for indicating the location of an object
WO2005047921A3 (en) * 2003-11-12 2005-08-11 Infineon Technologies Ag Locating arrangement, particularly loose-box localization system, identifying unit and method for determining location
WO2005047921A2 (en) * 2003-11-12 2005-05-26 Infineon Technologies Ag Locating arrangement, particularly loose-box localization system, identifying unit and method for determining location
EP2141508A1 (en) * 2003-11-12 2010-01-06 UCTec Beteiligungsgesellschaft AG Locating arrangement, particularly loose-box localization system, identifying unit and method for determining location
WO2005096008A1 (en) * 2004-03-31 2005-10-13 The University Of Liverpool Acoustical location monitoring of a mobile target
WO2006120499A1 (en) * 2005-05-12 2006-11-16 Nokia Corporation, Positioning of a portable electronic device
EP1947471A1 (en) * 2007-01-16 2008-07-23 Harman Becker Automotive Systems GmbH Tracking system using audio signals below hearing threshold
US8121319B2 (en) 2007-01-16 2012-02-21 Harman Becker Automotive Systems Gmbh Tracking system using audio signals below threshold
US8027761B1 (en) * 2007-09-04 2011-09-27 Nelson Russell G Local positioning system for automated lawn mowers
US8611188B2 (en) 2008-04-28 2013-12-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for locating at least one object
CN102016632A (en) * 2008-04-28 2011-04-13 弗劳恩霍弗实用研究促进协会 Method and apparatus for locating at least one object
JP2014531597A (en) * 2011-09-30 2014-11-27 マイクロソフト コーポレーション Sonic-based localization
EP2761320A4 (en) * 2011-09-30 2015-04-08 Microsoft Corp Sound-based positioning
WO2013132393A1 (en) * 2012-03-06 2013-09-12 Koninklijke Philips N.V. System and method for indoor positioning using sound masking signals
US9286879B2 (en) 2012-09-17 2016-03-15 Blackberry Limited Localization of a wireless user equipment (UE) device based on out-of-hearing band audio signatures for ranging
US9165547B2 (en) 2012-09-17 2015-10-20 Blackberry Limited Localization of a wireless user equipment (UE) device based on audio masking
US9078055B2 (en) 2012-09-17 2015-07-07 Blackberry Limited Localization of a wireless user equipment (UE) device based on single beep per channel signatures
EP2708912A1 (en) * 2012-09-17 2014-03-19 BlackBerry Limited Localization of a wireless user equipment (UE) device based on audio encoded signals
US20160100269A1 (en) * 2014-10-06 2016-04-07 Electronics And Telecommunications Research Institute Audio system and method for predicting acoustic feature
KR20160040891A (en) * 2014-10-06 2016-04-15 한국전자통신연구원 Audio system and method for predicting acoustic feature
US10136238B2 (en) * 2014-10-06 2018-11-20 Electronics And Telecommunications Research Institute Audio system and method for predicting acoustic feature
KR102197230B1 (en) * 2014-10-06 2020-12-31 한국전자통신연구원 Audio system and method for predicting acoustic feature
FR3031190A1 (en) * 2014-12-31 2016-07-01 Loic Thomas METHOD FOR LOCATING AT LEAST TWO-DIMENSIONAL OF A MOBILE TERMINAL IN A DISTURB SPACE AND INSTALLATION FOR IMPLEMENTING SAID METHOD
WO2016135631A1 (en) 2015-02-23 2016-09-01 Universidade Do Porto Positioning system and method with steganographic encoded data streams in audible-frequency audio
US10117040B2 (en) 2015-06-25 2018-10-30 Electronics And Telecommunications Research Institute Audio system and method of extracting indoor reflection characteristics

Also Published As

Publication number Publication date
AU1290401A (en) 2001-06-06
WO2001034264A8 (en) 2001-11-29

Similar Documents

Publication Publication Date Title
WO2001034264A1 (en) Acoustic location system
EP1205045B1 (en) Acoustic communication system
KR101719194B1 (en) Direction of arrival estimation using watermarked audio signals and microphone arrays
US9261581B2 (en) Location system
Lazik et al. Indoor pseudo-ranging of mobile devices using ultrasonic chirps
US8203910B2 (en) Autonomous ultrasonic indoor location system, apparatus and method
US7617731B2 (en) Ultrasonic measuring apparatus and ultrasonic measuring method
JP2008512960A (en) OFDM position location signaling using a mutually exclusive subset of subcarriers
JP2005537695A (en) Improvement of wireless positioning system
US20200110146A1 (en) System and method for enabling determination of a position of a receiver within a space
JPWO2009044528A1 (en) Ultrasonic measuring apparatus and ultrasonic measuring method
KR20140126788A (en) Position estimation system using an audio-embedded time-synchronization signal and position estimation method using thereof
JPWO2007052355A1 (en) Initial synchronization acquisition method and receiving apparatus in impulse radio communication
WO2014131894A2 (en) System and method for tracking a range of a moving object
Hammoud et al. Robust ultrasound-based room-level localization system using COTS components
Misra et al. Acoustical ranging techniques in embedded wireless sensor networked devices
US20180238994A1 (en) Positioning system and method with steganographic encoded data streams in audible-frequency audio
Murano et al. Comparison of Zadoff-Chu encoded modulation schemes in an ultrasonic local positioning system
US9319096B1 (en) Ultrasonic communication between devices
US20220187436A1 (en) High-accuracy velocity and range estimation of a moving target using differential zadoff-chu codes
GB2536487A (en) Coherent method for signalling and ranging using unsynchronized digital radio transceivers
KR100841449B1 (en) Positioning method using digital audio broadcasting
Perez-Solano et al. On the Design of Probe Signals in Wireless Acoustic Sensor Networks Self-Positioning Algorithms
Choi et al. Reverberation-robust acoustic indoor localization.
Becker et al. Mutual localization in a team of autonomous robots using acoustic robot detection

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

CFP Corrected version of a pamphlet front page
CR1 Correction of entry in section i
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase