Quantcast
Channel: KA7OEI's blog
Viewing all articles
Browse latest Browse all 187

"TDOA" direction finder systems - Part 2 - Determining signal bearing from switching antennas in software.

$
0
0

Note:

This is a follow-up to a Part 1 blog post on this topic where we discuss in general how "rotating"(or switched) antennas may be used to determine the apparent bearing of a transmitter.  It is recommended that you read Part 1 FIRST and you can find it at:  "'TDOA' direction finder systems - Part 1 - how they work, and a few examples." - LINK.

In part 1 (linked above) we discussed a simple two-element "TDOA"(Time Difference Of Arrival) system for determining the bearing to a transmitter.  This method takes advantage of the fact that - under normal conditions - one can presume the incoming signal to be a wave "front", which is to say like ripples in water from a very distant source, they "sweep" over the receiver in lines that are at a right-angle to the direction from the transmitter.  Note that in this discussion, most of the emphasis will be placed on how it is done in the analog domain with switching antennas as this can help provide a clearer picture of what is going on.

Why this works

If we are using a two-antenna array, we can divine a difference between the arrival time of the two antennas as this drawing - stolen from part 1 of this article - illustrates:

Figure 1:
A diagram showing how the "TDOA" system works.
Click on the image for a larger version.

 

As illustrated in the top portion of the above illustration, the wave front "hits" the two elements at exactly the same time so, in theory, there is no difference between the signal from each of these elements.  In the bottom portion of the illustration, we can see that the wave front will hit the left-most element first and the RF will be out of phase at the second element (e.g. one element will "see" a the positive portion of the wave and the other will see the negative portion of the wave).

If we constrain ourselves with having just ONE receiver to use, you might ask yourself how one might use the signal from two antennas?  The answer is that one switches between the two antennas electronically - typically with diodes.  If the two signals are identical in their time of arrival - and the length of coaxial cable between the antenna and when one switches "perfectly" between the two antennas and there is no disturbance in the received signal, we know that the signal is likely to be broadside of our two-antenna array.

If the signal is NOT broadside to the the array, there will be a "glitch" in the waveform coming out of our receiver when we switch our antenna.  Because we are using an FM receiver - which detects modulation by observing the frequency change caused by audio modulation - we can also detect that "glitch".  To understand how this works, consider the following:

Recall the "Doppler Effect" where the pitch of the horn of a car increases from its original when it is moving toward the observer - and it is lower in pitch when it moves away from the observer:  It is only at the instant that the car is closest to the observer that the pitch heard is the actual pitch of the horn.

Now, consider this same thing when we look at the lower diagram of Figure 1.  If we switch from the left-hand antenna to the right-hand antenna, we have effectively moved away from the transmitter and for an instant the frequency of the received signal was lower because - from the point of the receiver on the end of the coax cable - the antenna moved away from the transmitter.  Because changes in frequency going up and down cause the voltage coming out of the receiver to go up and down by the same amount, we will get a brief "glitch" from having changed the frequency for a brief instant when our antenna "moved".

If we then switch back from the right-hand antenna to the left-hand antenna, we have suddenly moved it closer to the transmitter and, again, we shift the frequency - but in the opposite direction, and the glitch we get in the receiver is opposite as well.

We can see the glitching of this signal in the following photo, also stolen from "Part 1" of this article:

Figure 2:
Example of the "glitches" seen on the audio of a receiver connected to a TDOA system that switches antennas.

The photo in Figure 2 is that of an oscilloscope trace of the audio output of the FM receiver connected to it and in it, we can see a positive-going "glitch" when we switch from one antenna to the other, and a negative-going glitch when we switch back again.

If we have a simple circuit that is switching the antennas back-and-forth - and it "knows" when this switch happens, we can determine several things:

  • When the two antennas are broadside to the transmitter.  If we have the situation depicted in the top drawing of Figure 1, both antennas are equidistant and there will be NO glitches detected.
  • When antenna "A" is closer to the transmitter.  If we arbitrarily assign one of the antennas as "A" and the other as "B", we can see - by way of our "thought experiment" above - that if antenna "A" is closer to the transmitter than "B", our frequency will go DOWN for an instant when we switch from "A" to "B" - and vice-versa when it switches back.  Let us say that this produces the pattern of "glitches" that we seen in Figure 2.
  • When antenna "B" is closer to the transmitter.  If we take the above situation and rotate our two-antenna array around 180 degrees, antenna "B" will be closer to the transmitter than "A" and when our switch from "A" to "B" happens, our frequency will go UP for an instant when it does so - and vice-versa.  In that case, our oscilloscope will show the glitches depicted in Figure 2 upside-down.

In other words, by looking at the polarity of the glitches from our receiver, we can tell if the transmitter is to our left or to our right.  We can also infer a little bit about how far to the left or right our transmitter is by looking at the amplitude of the glitches:  If the signal is off the side of the antenna as depicted in the lower part of Figure 1, the glitches will be at the strongest - and the amplitude of the glitches will diminish as we get closer to having the two elements parallel as depicted in the top part of Figure  1.

There is an obvious limitation to this:  Unless we sweep the antenna back and forth, allwe can do is tell if the antenna is to our left or right.

Walking about with an antenna like this it is easy to sweep back and forth and with some practice, one can infer whether the the transmitter is to the left or right and in front or behind - but if you have a fixed antenna array (one that is not moving) or if you are in a vehicle where their orientation is fixed with respect to the direction of travel, this becomes inconvenient as you cannot tell if it is in front or behind.

Adding more antennas

Suppose that we want to know both "left and right" and "front and back" at the same time - and in that case, you would be correct if you presumed that you were to be able to do this by adding one more antenna and - and then did some switching between them.  Consider the case in Figure 3, below:

Figure 3:
A 3-antenna vertical array, with elements A, B and C.  A right-angle is formed between antennas "A" and "B" and "A" and "C".   Also see Figure #4.
Click on the image for a larger version.
 

In Figure 3 and 4 we have three vertical antennas - separated by less than 1/4 wavelength at the frequency of interest and we also have two transmitters located 90 degrees apart from each other.  Note that these antennas are laid out in a "three-sided square" - that is, if you were to draw lines between "A" and "B" and "A" and "C" they would form a precise right angle.

We know already from our example in Figure 1that if we are receiving Transmitter #1 that we will get our "glitch" if we switch between antenna "A" and "B" - but since antennas "A" and "C" are the same distance from Transmitter #1, we will get NO glitch.

Similarly, if we are listening to Transmitter #2, if we switch between antenna "A" and "C", we will get a glitch as "C" is closer to the transmitter than "A" - but since antennas "A" and "B" are the same distance, we would get not glitch.

From this example we can see that if we have three antennas, we can switch them alternately to resolve our "Left/Right" and "Front/Back" ambiguity at all times.  For example, let us consider what happens in the presence of Transmitter #2:

  • Switch from antenna "A" to antenna "B":  The antennas are equidistant from Transmitter #2, so there is no glitch.
  • Switch from antenna "A" to antenna "C":  We get a glitch in our received audio when we do this because antenna "C" is closer to Transmitter #2 than antenna "A".  Furthermore, we can tell by the polarity of the glitch that antenna "C" is closer to the transmitter.

Let us now presume that our array in Figure 3 and 4 was atop a vehicle and the front of the vehicle was pointed toward the left - toward Transmitter #1:  With just the above information we would know that this transmitter was located precisely to our right - and that if we wanted to drive toward it, we would need to make a right turn.

Figure 4:
A 3-antenna vertical array, with elements A, B and
C as viewed from the top.
Click on the image for a larger version.

Bearings in between the antennas

What if there a third transmitter (Transmitter #3 in Figure 4) located halfway between Transmitter #1 and Transmitter #2 and we were still in our car pointed at Transmitter #1?  You would be correct in presuming that:

  • Switching between Antenna "A" and "B" would indicate that the unknown transmitter would be to the front of the car.
  • Switching between Antenna "A" and "C" would indicate that the unknown transmitter would be to the right of the car.
  • We get "glitches" when switching between either pairs of antennas (A/B and A/C) - but these "glitches" are at lower amplitude than if the transmitter were in the direction of Transmitter #1 or Transmitter #2.

Could it be that if we measured the relative amplitude and polarity of the glitches we get from switching the two pairs of antennas (A/B and A/C) that we could infer something about the bearing of the signal?

The answer is YES.

By using simple trigonometry we can figure out - by comparing the amplitude of the glitches and noting their relative polarity - the bearing of the transmitter with respect to the antenna array - and the specific thing we need is the inverse function "ArcTangent".

If you set your "Wayback" machine to High School, you will remember that you could plot a point on a piece of X/Y graph paper  and relative to the origin, use the ratio of the X/Y values to determine the angle of a line drawn between that point and the origin.  As it turns out, there is a function in many computer languages that is useful in this case - namely the "atan2()" function in which we put our "x" and "y" values.

Figure 5:
Depiction of the "atan2" function and how to get the angle, θ.
This diagram is modified from the Wikipedia "atan2"
article - link.

Click on the image for a larger version.
Let us consider the drawing in Figure 5.  If you remember much of your high-school math, you'll remember that if straight-up is zero degrees and the right-pointing arrow is 90 degrees that the "mid-point" between the two would naturally be 45 degrees.

What you might also remember is that if you were drop a line between the dot marked as (x,y) in Figure 5 and the "x" axis - and draw another line between it and the "y" axis - those lines would be the same length.

By extension, you can see that if you know the "x" and "y" coordinates of the dot depicted in Figure 5 - and "x" and/or "y" can be either positive or negative - you can represent any angle.

Referring back to Figure 2, recall that you will get a "glitch" when you switch antennas that are at different distances from the transmitter - and further recall that in Figures 3 and 4 that you can use the switching between antennas "A" and "B" to determine if the transmitter is in front or behind the car - and "A" and "C" to determine if it is to the left or right of the car.

If we presume that the "y" axis (up/down) is front/back of the car and the "x" axis is right/left, we can see that if we have an equal amount of "glitching" from the A/B switch ("y" axis) and the A/C switch ("x" axis) - and both of these glitches go positive - we would then know that the transmitter was 45 degrees to the right of straight ahead.

Similarly, if we were to note that our "A/B"("y" axis) glitch was very slightly negative - indicating that the signal was behind and and that our "A/C" glitch was strongly negative indicating that it was far to our left:  This condition is depicted with the vector terminating in point "A" in Figure 5 to show that the transmitter was, in fact, to the left and just behind us - perhaps at an angle of about 260 degrees.

Using 4 antennas

The use of three antennas isn't common - particularly with an "L"(right-angle) arrangement - but one could do that.  What is more common is to arrange four antennas in a square and "rotate" them using diode switches with one antenna being active at a given instant.  Consider the diagram of Figure 6.

Figure 6:
A four antenna arrangement.
Click on the image for a larger version.

In this arrangement we have four antennas arranged in a perfect square - and this time we are going to switch them in the following pattern:

    A->B->C->D->A

Now let us suppose that we are receiving Transmitter "A" - so we would get the following "glitch" patterns on our receiver:

  • A->B:  Positive glitch
  • B->C:  No glitch
  • C->D:  Negative glitch
  • D->A:  No glitch

As expected, going from "A" to "B" results in a glitch that we'll call "positive" as antenna "B" is farther away from the transmitter than "A" - but when we "rotate" to the other side and switch from "C" to "D" - because we are going toan antenna that is closer, the glitch will have the opposite polarity as the one we got when we switched from "A" to "B" - but both glitches will have the same amplitude.

Since antenna pairs B/C and A/D are the same distance from the transmitter we will get no glitch when we switch between those antennas.

As you can see from the above operation, every time we make one "rotation", we'll get four glitches - but they will be in equal and opposite pairs - which is to say the A->B and the C-> are one pair with opposite polarity and B->C and D->A are the other pair with opposite polarity.  If we take the measured voltage of these pairs of glitches and subtract each set, we will end up with vectors that we can throw into our "atan2" function and get a bearing - and what's more, since we are getting the same information twice(the equal-and-opposite pairs) this serves to increase the effective amplitude of the glitch overall to help make it stand out better from modulation and noise that may be on the received signal.

Similarly, if we were receiving a signal from Transmitter #3 (in Figure 6) we could see that being at a 45 degree angle, each of our four glitches would have the same strength but differing polarities - with the vector pointing in that direction.

A typical four-antenna ARDF unit will "spin" the antenna at anywhere between 300 and 1000 RPM - the lower frequencies being preferable as it and their harmonics are better-contained within the 3 kHz voice bandwidth of a typical communications-type FM receiver.

Figure 7:
Montreal "Dopplr 3" with compass rose,
digital bearing indication and adjustable switched-
capacitor band-pass filter running "alternate"
firmware (see KA7OEI link below).
Click on the image for a larger version.

Improving performance - filtering

As can be seen in the oscillogram of Figure 2, the switching glitches are of pretty low amplitude - and they are quite narrow meaning that they are easily overwhelmed by incidental audio and - in the case of weaker signals - noise.  One way to deal with this is to use a very narrow audio band-pass filter - typically something on the order of a few Hz to a few 10s of Hz wide.

In the analog world this is typically obtained using a switched-capacitor - the description of which would be worthy of another article - but it has the advantage of its center frequency being set by an external clock signal:  If the same clock signal is used for both the filter and to "spin" the antenna, any frequency drift is automatically canceled out.

It is also possible to use a plain, analog band-pass filter using op amps, resistors and capacitors - but these can be problematic in that these components - particularly the capacitors - are prone to temperature drift which can affect the accuracy of the bearing, often requiring repeated calibration:  This problem is most notable during summer or winter months when the temperature can vary quite a bit - particularly in a vehicle.

By narrowing the bandwidth significantly - to just a few Hz - it is far more likely that the energy getting through it will be only from the antenna switching and not incidental audio.

There is another aspect related to narrow-band filtering that can be useful:  Indicating the quality of signal.  In the discussions above, we are presuming that opposite pairs of antennas will yield equal-and-opposite "glitches"(e.g. A->B and C->D are mirror images, and B->C and D->A are also mirror images) - but in the case of multipath distortion - where the receive signal can come from different directions due to reflection and/or refraction - this may not be the case.  If the above "mirroring" effect is not true, this causes changes in the amplitude of the tone from the antenna spin rate (the "switching tone") which can include the following:

  • The switching tone can decrease overall due to a multiplicity of random wave fronts arriving at the antenna array.
  • The switching tone's frequency can double if each antenna's slightly-different position is getting a different portion of a multipath-distorted wave front.
  • The switching tone can be heavily frequency-modulated by the rapidly-changing wave fronts.
If you have everoperated VHF/UHF from a moving vehicle, you have experienced all three of the above to a degree:  It's likely that you have stopped at a light or a sign, only to find out that the signal to which you were listening faded out and/or got distorted - only to appear again if you moved your vehicle forward or backwards even a few inches/centimeters.  Imagine this happening to four antennas in slightly different locations on the roof of your vehicle!

Each of the above cause the switching tone in the receiver to be disrupted and with the worse disruption, less of the signal will get through the narrow filter.  Of course, having a good representation of the antenna's switching tone does not automatically mean that it is going to indicate a true bearing to the transmitter as you could be receive a "clean" reflection - but you at least you can detect - and throw out - obviously "bad" information!

Improving performance - narrow sampling

In addition to - or instead of narrow-band sampling - there's another method that could be used and that is narrow sampling.  Referring to Figure 2 again, you'll note that the peaks of the glitches are very narrow.  While the oscillogram of Figure 2 was taken from the speaker output of the receiver, many radios intended for packet use also include a discriminator output for use with 9600 baud and VARA modes which has a more "pristine" version of this signal.

Because we can know precisely when this glitch arrives (e.g. we know when we switch the antenna - and we can determine by observation when, exactly, it will appear on the radio's output) we can do a grab the amplitude of this pulse with a very  narrow window and thus reject much of the audio content and noise that can interfere with our analysis.  

Further discussion of this technique is beyond the scope of this article, but it is discussed in more detail here.

Improving performance - vector averaging

If you have ever used a direction-finding unit with an LED compass rose before, you'll note that in areas of multipath that the bearing seems to go all over the place - but if you look very carefully (and are NOT the one driving) you may notice something interesting:  Even in areas of bad multipath, there is likely to be a statistical weight toward the true bearing rather than a completely random mess.  This is a very general statement and it refers more to those instances where signals are blocked more by local ground clutter rather than a strong reflection from, say, a mountain, which may be more consistent in their "wrongness".

While the trained eye can often spot a tendency from seemingly-random bearings, one can bring math to the rescue once again.  Because we are getting our signal bearings by inputting vectors into the "atan2" function, we could also sum the individual "x" and "y" vectors over time and get an average.  
 
This works in our favor for at least two reasons:
  1. It is unlikely that even multipath signals are entirely random.  As signals bounce around from urban clutter, it is likely that there will be a significant bias in one particular direction.
  2. Through vector averaging, the relative quality of a signal can be determined.  If you get a "solid" bearing with consistently-good signals, the magnitude of the x/y vectors will be much greater than that from a "noisy" signal with a lot of variation.

In the case of #1, it is often that, while driving through a city among buildings that the bearing to a transmitter will be obfuscated by clutter - but being able to statistically reduce "noise" may help to provide a clue as to a possible bearing.

In the case of #2, being able to determine the quality of the bearing can, through experience, indicate to you whether or note you should pay attention to the information that you are getting:  After all, getting a mix of good and bad information is fine as long as you know which is the bad information!

Typically one would use a slidingaverage consisting of a recent history of samples.  If one uses the "vector average" method described above it is more likely that poor-quality bearings will have a lesser influence on the result. 

Antenna switching isn't ideal

Up to this point we have been talking about using a single receiver with a multi-antenna array that sequentially switches individual antennas into the mix - but electronic switching of the antennas is not ideal for several reasons:

  • The "modulation" due to the antenna switching imparts sidebands on the received signals.  Because this switching is rather abrupt, this can mean that signals 10s and 100s of kHz away can raise the receive system noise floor and decrease sensitivity.
  • The switching itself is quite noisy in its own right and can significantly reduce the absolute sensitivity of the receive system.  For this reason, only "moderate-to-strong" signals are good candidates for this type of system.
  • In the presence of multipath, the switching itself can result in the signal being more highly disrupted than normal.  This isn't too much of a problem since it is unlikely that one could get a valid bearing in that situation, anyway, but it can still be mitigated with filtering as described above.
If one is actively direction-finding with gear like this, it should not be the only tool in their toolbox:  Having a directional antenna - like a small Yagi - and suitable receiver (one with a useful, wide-ranging signal level meter) is invaluable both for situations where the signal may be too weak to be reliably detected with a TDOA system and when you are so close to it that you may have to get out of the vehicle and walk around.

Doing this digitally

There is something to be said about the relative simplicity of an analog TDOA system:  You slap the antennas on the vehicle, perform a quick calibration using a repeater or someone with a handie-talkie, and off you go.  To be sure, a bit of experience is invaluable in helping you to determine when you should and should not trust the readings that you are getting - but eventually, if the signal persists, you will likely find the source of the signal.

These days there are a number of SDR (Software-Defined Radio) systems - namely the earlier Kerberos and more recent Kraken SDRs.  Both of these units use multiple receivers that are synchronized from the same clock and use in-built references for calibration.

The distinct advantage of having a "receiver per antenna" is that one need not switch the antennas themselves, meaning that the noise and distortion resulting from the electronic "rotation" is eliminated.  Since the antennas are not switched, a different - yet similar - approach is required to determine the bearing of the signal - but if you've made it this far, it's not unfamiliar:  The use of "atan2" again:  One can take the vector difference of the signal between adjacent antennas and get some phasing information - and since we have four antennas, we can, again, get two equal and opposite pairs(assuming no multipath) of bearing data.

If you have two signals from adjacent antennas - let's say "A" and "B" from Figure 6 - we already know that the phasing will be different on the signal if the antenna hits "A" first rather than "B" first and this can be used in conjunction with its opposite pair of antennas ("C" and "D") to divine one of our vectors:  A similar approach can be done with the other opposite pairs - B/C and D/A.

This has the potential to give us better-quality bearings - but the same sorts of averaging and noise filtering must be done on the raw data as it has no real advantage over the analog system in areas where there is severe multipath:  It boils down to how it does its filtering and signal quality assessment and, more importantly, how you, the operator, interpret the data based on experience gained from having used the system enough have become familiar with it.

As far as absolute sensitivity goes between a Kerberos/Kraken SDR and an analog unit - that's a bit of a mixed bag.  Without the switching noise, the absolute sensitivity can be better, but in urban areas - and particularly if there is a strong signal within the passband of the A/D converter (which has only 8 bits) the required AGC may necessarily reduce the gain to where weaker signals disappear.
 
There are other possibilities when it comes to SDR-based receivers - for example, the SDRPlay RSPduo has a pair of receivers within it that can be synchronous to each other:  Using one of these units with a pair of magnetic loops can be used to effect the digital version of an old-fashioned goniometer!  This has the advantage of relative simplicity and can take advantage of the relatively high performance of the RSP compared to the RTL-SDR. 

Finally, there exist multi-site TDOA systems where the signals are received and time-stamped with great precision:  By knowing when, exactly, a signal arrives and then comparing this with the arrival time at other, similar, sites it is (theoretically) possible to determine the location of origin - a sort of "reverse GPS" system.  This system has some very definite, practical limits related to dissemination of receiver time-stamping and the nature of the received signal itself and would be a topic of of a blog post by itself!

Equipment recommendations?
 
My "go to " ARDF unit for in-vehicle use is currently a Montreal "Dopplr 3" running modified firmware (written by me - see the link to the "KA7OEI ARDF page, below) with four rooftop antennas.  Having used this unit for nearly 20 years, I'm very familiar with its operation and have used it successfully many times to find transmitters - both in for fun and for "serious" use (e.g. stuck transmitter, jammer, etc.) 
 
This unit has the advantage of being "grab 'n' go" in that it takes only a few seconds to "boot up" and it has a very simple, intuitive compass rose display. I believe that its performance is about as good as it can possibly be with a "switched antenna" type of ARDF unit:  For the most part, if a signal is audible, it will produce a bearing.

A disadvantage of this unit to some would be that it's available only in the form or a circuit board (still available from FAR circuits - link ) which means that the would-be builder must get the parts and put it together themselves.

"Pre-assembled" options for this type of unit include the MFJ-5005 which can sometimes be found on the used market and several options from the former Ramsey Electronics - along with the Dick Smith ARDF unit:  Information on these units may be found on the K0OV page linked below.

Another possible option is the "Kraken SDR":  I have yet to use one of these units, but I'm considering doing so for evaluation and comparison - which I will report here if I am actually able to do so.

Final words

This (rambling) dissertation about TDOA direction finding hopefully provides a bit of clarity when it comes to understanding how such things work - but there are a few things common to all systems that cannot really be addressed by the method of signal processing - analog or digital:
  • Bearings from a single fixed location should be suspect.  Unless you happen to have an antenna array atop a tall tower or mountain, expect the bearing that you obtain to be incorrect - and even if you do have it located in the clear, bogus readings are still likely.
  • Having multiple sources of bearings is a must.  Having more than one fixed location - or better yet having one or more sources of bearings from moving vehicles is very useful in that this dramatically decreases the uncertainty.
  • The most important information is often just knowing the direction in which you should start driving.  Expecting to be able to located a signal with a TDOA system with any reasonable accuracy is unrealistic.  It is often the case that when a signal appears, the most useful piece of information is simply knowing in which direction - to the nearest 90 degrees - that one should start looking.
  • The experience of the operator is paramount.  No matter which system you are using, its utility is greatly improved with familiarity of its features - and most importantly, its limitations.  In the real world, locating a signal source is often an exercise in frustration as it is often intermittent and variable and complicated by geography.  No-one should reasonably expect to simply purchase/build such a device and have it sit on the shelf until the need arises - and then learn how to use it!

 * * *

Related links:

  • K0OV's Direction Finding page - link - By Joe Moell, this covers a wide variety of topics activities related to ARDF. 
  • WB2HOL's ARDF Projects - link - This page has a number of simple, easy to build antenna/DF projects.
  • KrakenSDR page - link - This is the product description/sales page for the RTL-SDR based VHF/UHF SDR.

 

This page stolen from ka7oei.blogspot.com

[END]



Viewing all articles
Browse latest Browse all 187

Trending Articles