Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Distance measuring

Not open for further replies.

Kaziklu Bey

New Member
Hi, I wonder if any of you guys have seen or have some experience in measuring distance using electro-magnetics(radio). What I want to do is to be able to measure a distance, with an accuracy for about +-10cm, without the need for a clear line-of-sight. That is, I want to be able to measure that distance even if there is a wall in between. The project will probably consist of two circuits, and to measure time with this kind of extreme accuracy I thought about getting hold of a time-to-digital converter(TDC-GP1).
Now, I dont even know if this is possible to do with a hobbyist's limited budget so I would want to have any thoughts and reflections on this idea.
Would be great if anyone seen something similar been done.

This function can be done with ultrasonic or laser beam, but need a microcontroller.
As I said: "without the need for a clear line-of-sight. That is, I want to be able to measure that distance even if there is a wall in between", i think neither ultrasonics nor laser would do that.


...and I doubt you'll find a good microcontroller to measure times like picoseconds
If you want your signals to penetrate through wall, how can you expect them to reflect back from the object whose distance you want to measure?
If signals can penetrate through wall, they can even pass through the object. So I don't think there is such method to do.
Sorry if I didnt make myself clear, as I wrote there will be two circuits, one who sends a pulse and wait for a pulse to come in, note that the incoming pulse isnt a reflection, its a pulse sent from the other circuit which immediately does this after having recieved the first pulse from the time-counting circuit.

The distance measuring thing is only a project too see if its posisble/at what accuracy, if it works my main goal is to build something like a LPS(local positioning system), probably working by measuring phase-shifts between 3(or more) beacons and triangulates the position.

Keep posting :D
so you need 2 circuits...the first one emits a beep, the second one receives it and sends another on wich will be heard by the first one...
so you mesure the time, substract the delay time in the second device and then divide to 2, multiply with the speed of the signal and you get the distance....
am i correct?
the only way i see it is with radio...
if you have one thing moving you could use something like the doppler effect?
Yes, thats the only way I can see it done too.
Do you have any suggestions on this subject?
...or even if its possible with a students budget?

If im not wrong the GSM-location services uses radio time-of-flight, though that accuracy is worthless inside a house.

So, the time-measuring needs to be very exact and the TDC-GP1(**broken link removed**) seems like a good start:
* 2 measuring ranges ---a: 2 ns -7.6 µs --- b: 60 ns-200 ms
* 2 measuring channels with a resolution of approx. 250ps, optional high resolution mode with one channel and approx. 125 ps resolution

Though, I suppose the price on a unit like this is out of my budget(anyone know?) but it may be possible to retrieve a sample-unit.
On acam's page there is some design suggestions using lasers ans such too...

But, the time measuring is like the only thing I do have a clue on, the actual radio-emitter needs to emit a VERY accurate pulse, and maybe a powerful one too?

...any suggestions, please?

Thanks for your answers so far
Since you can physically get to both sides of the wall, you could take a GPS reading at both locations and calculate the difference. There are mapping devices that work with a laptop for this exact purpose. I doubt the accuracy would satisfy your requirement though.
Kaziklu, I don't think that this would be very easy and you would need a R+D budget like HP's...!
You would need a very precise time source, an atomic clock, to enable the transmitter and receiver to time the difference between the send time and receipt time of the pulse. At the moment, anything atomic is a no-no. ;-)

Another thought would be to use a single transmitter and two directional receivers to generate a vector (tangent?) and use Trigonometry to calculate the distance from a point. (Cos, Tan, Theta, log tables..... arrrragggggaaaagggghhhh!!!)
Have you checked out that time-to-digital converter I posted a link to? ( Dont you think it would be possible if I got my hands on one unit and then supplied it with a 20MHz crystal clock source?

Its multipurpose and efficient architectural system enables the TDC-GP1 (General Purpose one) to be considered the first TDC for general applications. The device is the result of many years of practical experiences as well as the integration of customer suggestions and demands for high precision time measurement. Despite its dense capacity the GP1 remains an inexpensive product due to it's 44 TQFP-package and it's 0.8 micron standard-CMOS-process. Many applications such as distance measurements using laser, ultrasonic positioning, phase measurements, etc. now become feasible or can very easily be mass produced.

I dont know what inexpensive means in relative terms(inexpensive to a $10000 physics lab time measure unit? or just a inexpensive unit :p)
But it does sound good :)

I dont think the time measurement in itself is the most difficult task to accomplish when using a circuit like this, the hardest part would be to generate clean pulses and more importantly: receive clean pulses.

Directional measurement would be an alternative if it doesnt mean a couple of antennas rotating :)

OK, I didn't read the blurb, but I still wonder whether a 20MHz clock can maintain the accuracy you require when the transmitter and receiver are remote. The examples given for the TDC are typically using units which use reflections to measure distances. This is where a clock provides a singular time source for the transmitter and receiver. Reflection occurs from the measured media. As long as the clock is running at a predetermined frequency, then the speed of reflection can be calculated.

Another idea... (I should patent these ideas and not spew them out on the wire...). How about using what I have just mentioned above. Create a reflection system where a signal transmitted by the 'master' is received and re-transmitted (reflected) back by a 'slave'. The slave unit will have a known return time, and distance can ben be calculated by the TDC.

If it's a case I'm totally off track again... beat me down with a 2 pound hammer.
well for a 20Mhz the way i see the accuracy can be 1/20Mhz x c, where c is the speed of light....15meters...dont think it is quite accurate....
maybe 200Mhz? 1.5 meter accuracy it is not good but it is better...
practicly you will need a device wich could count the pulses you get from the time you send the signal to the time you receive it.
also another think, istead of having anoter device wich retransmits the signal you could have something that will reflect it......
for range of 100m and a freq of 200mhz you need a device wich can count 134(100/1.5*2) pulses a counter up to 150 or 200....
get the number of pulses divide by 2 and multiply to by 1.5 and get the range
First of all, thanks for all the response I am given.

That was my intention, using a master and slave, not using reflections since my goal is to be able to measure thru walls.

I suppose the unit has an internal clock generation circuit(?), a PLL or so, not sure though.

As I write I'm reading the TDC-GP1 datasheet and find:
2.5.8 Calculation of the resolution of the GP1
3 parameters are necessary for the destination of the resolution.
# the length of the period of the reference clock
# the divider of the reference clock (register 4: bits 2..0)
# the adjusted value of the PLL division register FAK_PLL (register 3: all bits)
The adjusted resolution of the GP1can be calculated according to the following formula :
Resolution = (Tref*2^nref) / (120*PLL_L)

Example: Reference clock = 10 MHz $ clock period = 100 ns
Division factor of the reference clock: 25 = 32
PLL-adjustment value = 100 (default)
These adjustments result in a resolution of 266,66 ps

266.66ps * 3*10^8 m/s = 0.08 m

A theoretical maximum accuracy of 0.08 m, with room to increase the input clock, I like it :p

What do you think about it? :)

/Kaziklu Bey
I haven't thought about such things much right now, im just gathering information about my chances of getting it to work.
The main concern right now is how the pulse generation/transmitting/recieving circuitry would be done since the delicate need of clean pulses.

Hi Kaziklu Bey,

Please tell me more about the object or objects that
you want to follow or locate.
Are they moving objects?
How many of them are there?
can they go up to different floors?
do they move quickly or slowly?
do you need to know their position once a minute,
or all the time?
Does it(they) move in a straight line?
Does it(they) move around independantly?

Cheers, John
The main goal is to be able to get a position reading inside a building, 2d is enough(no height). The best way to accomplish this, I think, is by putting up 3 beacons which sends some signal that is analyzed for phaseshifts by the moving unit, or the other way(the moving unit is sending a signal and the "beacons" receive and analyze the phaseshifts).
Anyway, I thought about just measuring a distance to start with, to see if its even possible to accomplish with some decent accuracy(+-10cm).

The moving unit could be a "robot", which when having a absolute position given by the phase-shift triangulation, can easily move around when using a map of the building.

Not open for further replies.

Latest threads

New Articles From Microcontroller Tips