# Signal triangulation

I want to be able to determine the location of an object that will be moving around in a rectangle about 15" X 10"

The location must be accurate to within about 1/4" and be measured at least 100 times per second.

The first idea I had for accomplishing this is to have the object transmit a pulse signal every 10ms and have a receiver in each corner wired to a micro controller and measure the difference in time between when each receiver gets the signal to triangulate it's source.

My first thought was to use IR receivers and transmitters, but I would have no idea how to do the triangulation with signals that move so fast.

So then my second thought was to use sound. I would want to transmit at a frequency above the human hearing range. And it seems to me that higher hertz = greater accuracy. The speed of sound is about 13,400 inches per second. So that means to get 1/4" resolution, I would need 56kHz or higher.

First off, I've never dealt with sounds above the human hearing range. This will probably be on for periods of about an hour, and may be just a few feet away from ears. As long as I use low power, is there any way that this could be a hazard?

Secondly, what kind of speakers are capable of transmitting 56kHz? And similarly, what kind of microphones could pick up 56kHz?

Other methods of triangulation would also be appreciated.

• For speakers, I often heard term "ultrasound capsules" used to refer to speakers which emit sound above audible range. – AndrejaKo Jan 7 '11 at 3:17
• @AndrejaKo: or ultrasonic transmitter/receiver – stevenvh Jan 7 '11 at 9:01
• "measure the difference in time between when each receiver gets the signal to triangulate it's source" That would be multilateration, not triangulation. :) en.wikipedia.org/wiki/Multilateration – endolith Jan 7 '11 at 14:44
• @endolith: Ok. So is there a general term that encompasses all methods of pinpointing the origin of a signal? – Ponkadoodle Jan 9 '11 at 3:35
• I don't know. Geolocation? – endolith Jan 10 '11 at 17:40

The idea is to cast let's say 100Mhz signal and measure phase shift between received signals in different points. Then you'll be able to calculate the location.

Measuring time difference directly could be tricky, as you will need 0.1ns or better accuracy (1ns = 30cm in air).

Piezo-emitters are very capable going into sub-Mhz sound range. Nearly any mic(probably except coal one) can receive 50-100Khz sound with proper amplification. Safety is usually not a problem as long as you are under-1W range, and I doubt you would need more than 0.01 :-)

RF way is way harder to implement but I belive more reliable.

• Thanks for the phase shift tip. I was actually going to go with a square audio wave for simplicity, but I could get a much higher resolution with lower frequencies that could be picked up by typical mics if I use different wave forms and measure the phase shift instead! – Ponkadoodle Jan 7 '11 at 4:19
• Sorry, but you can only use sine wave. Other waveforms have unlimited spectrum and this means that you will always broadcast garbage which is kinda illigal. Also, you will never receive the same waveform you are transmitting. – BarsMonster Jan 7 '11 at 4:23
• @BarsMonster: If I will never receive the same waveform as I transmit, how can I calculate the phase shift? (Sorry for my lack of knowledge in this area...) – Ponkadoodle Jan 7 '11 at 5:02
• en.wikipedia.org/wiki/Carbon_microphone – BarsMonster Jan 7 '11 at 5:29
• Well, you'd better choose freq so that you are only in first quarter. But, I've just got even better idea: In such small scale you can just measure amplitude of detected(i.e. diode+capacitor) signal with precission low-frequency ADC. This is gonna be muuuuch easier & more precise. – BarsMonster Jan 7 '11 at 8:02

Without more details on your application, here are some stabs at the problem:

1) have your object move on digital paper. It has a pattern of dots such that a very simple camera can determine the position by evaluating some small number of dots. This is what some pen input devices use.

2) If the surface on which the object travels is smooth, you could use a mouse attached to the object. Interpreting the updates from the mouse would give you the changes in position, but you'd also need a reference point.

3) Have a stationary camera mounted above your object, and a target pattern or light on the moving object. With sufficient resolution and some simple image processing, you can determine the location.

4) One scheme using ultrasonic transducers would have a transmitter on the moving object and at least 3 stationary receivers. The transmitter sends periodic pulses, and you compute the location by triangulating using the differences in arrival times between pairs of receivers, and the known positions of the receivers.

5) If you wanted much higher resolution at significant cost, there are laser interferometry systems that are commonly used to calibrate CNC equipment. Here's one example I found.

• I went with #4. I'm currently waiting for my materials to arrive :-) My project is actually to create a re-sizable pen-based input system. I want to be able to use it on a table or attach it to an LCD of any (reasonable) size without having to do any major modifications. – Ponkadoodle Jan 26 '11 at 5:57

Vision might be a better solution. You could track your object with cameras.

Take a look into OpenCV.

• Or better yet, use a Kinect to track the object. – gallamine Jan 26 '11 at 0:13
• One thing to worry about: opencv takes a lot of cpu power and you'd need two cameras for depth perception – Matt Williamson Jan 28 '11 at 20:06

I just saw an article about a stylus by Qualcomm used to write on an Android phone. The stylus emits an ultrasonic pulse and then software on the phone is able to locate the pen. Here is a link;

http://seat12f.blogspot.com/2011/02/finger-input-just-cant-keep-good-stylus.html

I do also recall reading a few years back about a digitizing pen that used ultrasonics to locate the pen. A small receiver was connected by USB, and it even had a memory so you could clip the device to any notepad to record your writing for later input into the computer. However, I just looked at some of the office supply stores, and it doesn't seem to be around anymore.