7

For a project, I have an idea that involves getting a position for a person throughout a house. I am trying to figure out someway of triangulating the person's position, by having a bunch of little receivers sitting around the house. Each person will have a 'beacon' in their pocket, which sends out some kind of signal that the receivers can use to figure out distance, and therefor have the ability to figure out the location.

That is where I am stuck. What kind of signal could be used to accurately figure out distance, and still be cheap to get/create?

Size IS important, as the beacon would need to fit in a pocket. The receivers can be bigger, but not too big as to look out of place in the house.

Any Help?

geekman
  • 111
  • 1
  • 6
  • Most accurate isn't what you need to find a person. I would think 1'/30 cm would be fine accuracy. – Brian Carlton Jan 02 '13 at 21:13
  • 5
    If I had known you were going to accept a answer after only a few minutes, I wouldn't have bothered to write the length answer I did. When I started, nothing had been accepted yet. – Olin Lathrop Jan 02 '13 at 21:41

3 Answers3

14

I have been envolved with the design of commercial systems that were either for the purpose of outright reporting a tag's position, or it needed to know that as part of a larger scheme. Among these systems there was use of IR, RF, and ultrasound. I can tell you that none of them solves the problem "nicely".

RF can be used to find location to a reasonable resolution based on triangulating with signal strength. However, various things mess up the received signal strength. If you go with RF, use a low frequency compared to things like WiFi and many other RF systems. We used 434 MHz, which is one of the ISM frequencies. On that band it is permissible to send a short message of a limited power once every 10 seconds unless the user deliberately initiates some action. Higher frequencies get diffracted and obstructed more in a indoor enviroment. Then there are issues of varying received signal strength due to polarization. There are ways to deal with that, but that would be a whole discourse on its own.

You might be tempted to try to find location by measuring time of arrival - at least until you do the math. At only a nanosecond per foot, the multiple receivers have to be very accurately synchronized. Even more difficult, they have to be able to determine some common event in the transmission to the resolution of a single carrier cycle, but of course the bandwidth limitations will only allow small changes between adjacent carrier cycles. Basically, if you have to ask here, RF time of arrival is way over your head and probably your budget.

IR does basically what you want, except for the fact that it is easily blocked by your body and clothes. It's not going to work in a pocket. It can work clipped to the shirt, but not if it gets covered by a lapel or a sweater or something. IR will generally bounce around a room nicely, but not much power makes it thru the relatively small doorway. If you can deal with the occlusion problems, it is a pretty good way to localize a tag within a room, since walls are opaque to IR.

Ultrasound also won't go thru walls, but bounces around a room less well. It can go thru a thin layer of clothing sometimes and sometimes not. There is also a lot more ambient ultrasound noise than RF or IR. Even if the tag is worn on the chest and is not covered and the transmitter is facing out (it's real easy to have a tag flip transmitter side to the chest), there is still a reasonable chance of a message not getting thru. You can do useful time of arrival triangulation with ultrasound since it is so slow (takes about 3 ms/m), but that also means the data rate is very slow. If these tags can emit a single ping, then you don't care about data rate. If you need to identify multiple tags, then you have to send some sort of information with each message. We ended up encoding information in the timing between short bursts. But, keep in mind that there is a inherent lower limit on time between bursts. You can't send a new one until the last one is done echoing around the environment else receivers will get confused. In practise, you need to wait for about 10 meters of propagation for things to die down between bursts. The customer may have filed for a patent on this, I'm not sure.

In any case, you have to consider the channel from tag to receiver as being error prone. If you attempt to send any data at all, it had better include a checksum. We actually ran into trouble with a early RF system that used only 8 bits of checksum per packet (I didn't design that packet format). There was enough bad stuff getting interpreted as good data to cause field problems. The newer packet format (which I did design) had a 20 bit CRC checksum, and that basically took care of the problem.

Olin Lathrop
  • 310,974
  • 36
  • 428
  • 915
  • Interesting, where does ambient ultrasound come from? – Chris Laplante Jan 03 '13 at 05:14
  • 2
    @Simple: Ambient ultrasounds comes for all sorts of things. Two things rubbing against each other or even "sliding" can be fairly quiet in audible sound but make a lot of ultrasound. I found a great way to test a ultraound microphone is to rub your hands together near it. That's not loud to us, but creates a surprisingly strong signal in ultrasound. Other object resonate in ultrasound, so we don't notice. Place something on a hard metal surface, and you may be making a lot more ultrasound than you would guess. – Olin Lathrop Jan 03 '13 at 13:11
6

There are so many ways to solve this. So I'll just pick one that I think is cool.

Design a simple (maybe even u-processor based) transmitter that fits in each remote unit and that broadcasts a SSDS (Spread Spectrum direct sequence) NASA gold code. This would be non-synchronized, not frequency locked. Each pocket unit would either have a unique PN (Pseudo noise) sequence as a ID number or it could have a different subband ID. I prefer the unique PN for simplicity. Sending unit is uni-directional, broadcast, small and inexpensive.

Receiving units around the house would be correlation engines that relates when correlation spikes happen with respect to a common time base that ALL the receiving units must be registered with. Knowing what the relative correlation spike delay is with respect to other units will give a ranging code and an opportunity for triangulation. 2 base stations would be a required minimum as the range information is also available (the term triangulation is a bit of a non-sequitur in this case). The need for the base stations to run off of a common time base/ time stamp will probably be the hardest problem.

This is an inverted GPS system.

placeholder
  • 29,982
  • 10
  • 63
  • 110
  • 1
    *trilateration* – Nick Alexeev Jan 02 '13 at 21:09
  • 1
    If you are going to suggest this, you should point out the time tolerances required and maybe a little position error analysis. This is not so easy to do as you make it seem. – Olin Lathrop Jan 02 '13 at 21:46
  • 1
    @OlinLathrop I agree, I could have provided more detail, but there is much to be said for someone learning the details themselves as they solve a problem. Also this is a very very rich area for discovery, I wouldn't know where to start to elaborate/detail such a system without writing multiple pages. Additionally, I'm not about to presume that I know everything and I am NOT willing to announce that their question is worthless and stand by the fact I did give them an answer, and a nudge in the right direction. Unless the OP has specific questions for follow up I will not comment further. – placeholder Jan 02 '13 at 23:11
6

This has been done as a research project called the Active Badge using infrared; I believe it's also been done with ultrasound.

This paper describes the infrared system. It's very similar to a TV remote control that transmits every 10 seconds; scatter a number of infrared recievers around and you can tell which room someone's in. The ultrasonic system can tell where a badge is quite closely (few cm), but is more complex and expensive.

pjc50
  • 46,540
  • 4
  • 64
  • 126
  • Long time back there was an article in Elektor that described a simple project that would measure distance between two points by rolling a can between them. It was accomplished by putting electronics in a can with a measured circumference. It used an array of 7 segment displays to report the distance. This is another electronic way of finding distance between two points. Although not that accurate as ultrasound, laser or IR but definitely cheap. – Chetan Bhargava Jan 08 '13 at 03:51