SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By FlavoFraz
#114008
Hi,

I am trying to determine the position of an RC plane in space.
I want to transmit a signal(pulse) from the plane in combination with 2 receivers(which are not on the plane) with known positions. With this setup I want to use triangulation to determine real-time positioning of the object.
What would be the simplest solution to implement this setup?
Also, my rc plane is small with a low payload capacity.

Thank you.
By Roko
#114056
Hi FlavoFraz,

What you're proposing is a difficult task, depending on the accuracy you want. Some thoughts:

1) With only 2 receivers, you won't be able to triangulate your position. 3-4 would be the minimum to locate your plane in 3d space, depending on what assumptions/boundaries you place. You may need many more depending on your implementation.

2) A potential solution is to use simple Tx/Rx boards, where the Rx's can read out the RSSI value. You'll be able to use the relative signal strengths to roughly guess position, however there are a lot of variables at play here, i.e. antenna polarization and cross polarization loss, multi-pathing, etc, which will effect your received signal strength and give strange results. This might be the easiest solution, but still may require a lot of work and tinkering to get it to work.

3) If you're very electronics/RF savvy, you can use a phase difference detector circuit to detect the phase difference between 2 antennae on a receiver. Using that phase difference you can get a rough bearing to the location of the transmitter. Look up Ham radio "fox hunting" setups for the simplest implementation, but you won't easily get real-time data out of them. More complicated ways of doing this are not a trivial task, and will be out of scope if you don't have a lot of RF experience.

Biggest suggestion I have: Before you commit to any solution to this problem, Do a lot of research, and investigate how others have done this. Figure out the theory behind the different ways this can be achieved. You may discover that you don't have the knowledge and experience to implement it, but you'll learn a lot in the process....
By stevech
#114084
What you propose is called multilateration and/or time difference of arrival (TDOA). You can google those. Using signal strength (RSSI) is less accurate that GPS.

Short story: Not practical for complexity and cost reasons due to the need for very precise time references needed in order to do better than GPS does on Z plus x and y (Z is more innacurate).
By colinb
#114200
Yes, time-of-flight (TOF) or time difference of arrival (TDOA) with RF is difficult to achieve accurately. With ultrasound it is much easier because of the lower speeds involved and in particular for TDOA the ability to communicate between two nodes using a higher speed medium like RF or electrical signals on wires to achieve an accurate time reference.

As was just mentioned, having a shared time reference is important if you want to implement a reverse-GPS-like architecture (single transmitter, multiple receivers who must coordinate a time reference, using TDOA to compute position).

However, at long ranges (greater than 100 meters) you might be able to get decent results using time-of-flight by separately measuring the round-trip time (RTT) between your unknown point (the RC craft) and each reference point (one of the multiple transceivers serving as position references), then can use the individual RTT times to derive a position. You won't get high precision without specialized hardware or a custom RF ASIC, probably, and perhaps less precise than GPS but it would be a self-contained system.

Let's see: RF signals travel through air at approximately the speed of light, so assume the speed is v=3.0 * 10**8 m/s. Suppose you have a microcontroller with a 72 MHz instruction cycle. This is about 14 ns per instruction. Then the RF signal travels 14 ns * v = 4.2 metres per instruction cycle. Not bad! Perhaps you could achieve 10-20 metre accuracy in the best case if you have a timer/counter peripheral that can capture the exact timer count when the radio indicates the incoming packet has been received, in the optimal case. However, you rarely have a direct, full 72 MHz data bus with the radio in a normal microcontroller-based RF system, in my experience. In particular, any jitter in the RF will reduce the accuracy greatly at these levels of precision.

The Jennic JN5148 has an interesting hardware support for time-of-flight range measurement. I have read articles about implementations of time-of-flight ranging using regular 2.4 GHz radios interfaced with a microcontroller, which I find interesting because I think it's great to be able to use general-purpose components rather than require a specific MCU, radio, etc., for each new system.