Close
0%
0%

Yet Another Doppler Direction Finder w/ Teensy DSP

An update on WA2EBY's May/June 1999 QST Homebrew DDF/Radio Direction Finder

Similar projects worth following
Doppler radio direction finder using Teensy and DSP to replace switched capacitor filter and random logic. Use a Neopixel ring for a display.

Radio direction finding (RDF), T-hunting or fox hunting has been a hobby in the ham radio world for a long time.  If you've ever seen a car equipped with a big, crazy looking antenna, a square antenna array or people running around with funny antennas and radios, they are probably T-Hunting.  If it's a weekend it's probably hams and a weekday someone looking for a transmitter for another reason.

T-hunting is still a thing with communities of hunters.  In San Francisco there is rdf-sf and there may be a club in your neighborhood.  http://www.homingin.com is a great source for fox hunting information and LA local hunts.

Google's your friend for Doppler Direction Finding theory of operation.  The May and June 1999 QST issue with WA2EBY's article on  a radio direction finder is based on simulated Doppler.   For even more information find a copy of "Transmitter Hunting - Radio Direction Finding Simplified" - available in dead-tree form only.   The 1999 article is an update to WA4BVY's early 80's design.  It's been 20 years so a technology update is overdue. 

I first went with a Teensey for a replacement of the WA2EBY DDF logic using zero crossing detection to determine input Doppler phase angle.  That is described as the "Zero Crossing Version".  I have found that approach limited in accuracy.  I an now working on a "DSP Version".  The big motivation is the elimination of considerable hardware.  I also hope to improve performance by going DSP. 

I'm using four antennas that are electronically switched to impart a Doppler tone FM modulated on the received signal.  The WA2EBY DDF  is composed of nine chips (74HC),  a couple of transistors, a voltage regulator and a bunch of passive parts.  I am using the same idea for the antenna switching but trying to do the instrumentation with many fewer parts.  WA2EBY's  used cheap 1n4148 because at the time PIN diodes could be over $10 and the design needs 8.  PIN diodes have become commodity parts and the BAP64-03 PIN diodes I'm using are $0.09.   In addition the 1n4148 are rated for 75 V and the PINs are 175 V.

In the Zero Crossing Version the Doppler tone is isolated with a very narrow band-pass filter and the phase of the Doppler relative to the switched antenna is measured to determine direction.  The relative position of the signal source is derived from the time difference.   In the DSP version, the sampling is synchronized with the antenna switching and the magnitude and phase of the Doppler tone is read out directly.  Both versions sample the first harmonic as a measure of signal reflection and the total signal power to compute a quality measure.

The Neopixel is a nice update of the '80s ring of plain old blinken' LEDs.  A single white pixel points direction and the rest of the array displays signal quality.  I have decided to augment the Neopixel display with a heading readout.  

Testing - I am using a cheap 0.5 W FM transmitter module for my test signal.  I fired everything up and the display was crazy random.  I have come to learn that was to be expected.   I am testing in a small office with metal filing cabinets so there are lots of reflections.  Even my movement in the office makes a difference.  I did some testing on the major functions and everything looks right.   I wanted to test with a RF signal generator that somehow was synchronized to the antenna switching.  I tried putting together a gnuradio flowgraph but I've yet to find a PC fast enough to make it work.  I finally stumbled across a much simpler technique:  disconnect the switched antenna signal from the receiver and attach each of the antenna driver signals to the transmitter audio input.  The display should hit 0, 90, 180...

Read more »

dipole_antenna_board.pdf

PCB with two BNC connectors and two PIN diodes connected with a resistor for a DC path.

Adobe Portable Document Format - 10.39 kB - 07/31/2019 at 04:40

Preview
Download

ddf_v_04.pdf

Controller board schematic with Teensy, jacks and rotary encoders. All filtering and heading measurement is via DSP unlike the Roanoke systems using zero crossing measurement.

Adobe Portable Document Format - 102.96 kB - 07/14/2019 at 03:53

Preview
Download

DDF_DSP_display_0.ino

This contains computation of the Doppler tone magnitude and phase and first harmonic magnitude. A crude "quality" metric is computed and displayed on the neopixel.

ino - 7.50 kB - 06/13/2019 at 15:48

Download

ddf_HW_v0.2.pdf

Updated hardware with overkill analog band-pass filter from the 1999 WA2EBY article. I thought it would be an interesting test to see if system performance could be improved with additional filtering.

Adobe Portable Document Format - 125.27 kB - 04/15/2019 at 07:15

Preview
Download

antenna_switcher.png

Selects an antennas based on input at P1. By selecting one of the four antennas in a rotating fashion a pseudo-Doppler tone is added to the received signal. The Doppler frequency is set by the rotation rate.

Portable Network Graphics (PNG) - 25.93 kB - 02/19/2019 at 21:42

Preview
Download

View all 8 files

  • Mobile VHF Dipole Array (and cat)

    Martin08/09/2019 at 22:07 0 comments

    I need to fine tune how the PCBs mount in the PVC pipe end but it's getting there.  I redesigned the antenna boards to coplanar wave-guide and am getting better results.  I put a dummy load on my antenna switcher and discovered that was causing VSWR problems.   Now waiting for the redesigned board.  The rubber ducky antennas are way too flexible and I'm sure better ones are out there.  I found flag pole mounts that I plan to attach the bottom PVC legs to magnets on the car rooftop. 

  • Dipole switching boards

    Martin08/02/2019 at 23:22 0 comments

    I slapped together a design for a dipole PCB.  (.pdf above)  It uses a through-hole mount BNC connector on both sides.  Switching wise it works.  Antenna wise not so much.  Experimenting with a set of UHF and VHF antennas all produced VSWRs of 6 - 12 dB in parts of the UHF and VHF bands.  I tried experimenting with the resistance between the two elements which didn't make much difference.

    The first board was done in haste and had omitted a copper pour.  I have not laid out the board with RF design rules as I am assuming that everything is electrically small to working frequency.

  • Picking North

    Martin07/22/2019 at 17:59 0 comments

    After rewriting my code to be less sensitive to blocking everything is working.  I broke up the processing in signal acquisition, number crunching and display which is much simpler than keeping all that going at the same time.  For signal acquisition I am experimenting with sample size less than a full revolution of the antenna to keep update times reasonable.  

    Now that I have a compass sensor working I wonder if I can improve on the +/- 1 ° or so from the compass by using GPS when in motion.  The GPS "course over ground" which when in motion gives direction based on position differences could be more accurate.  Ideally I could switch navigation source.

    I have been using "RDFMapper"  which displays a google map and take GPS and RDF input several ways based on settings.  It draws a bearing line from the location of the direction finder which can be relative to the direction of the vehicle or a fixed specified angle from north.  

  • Compass Blocking Hell

    Martin07/19/2019 at 18:04 0 comments

    Every compass I have tried adding seems to create a timing problem when added to my code.  In order to run under Teensy I need to change usage from the "Wire" library to the "i2c_t3" library.  I wanted to use the HMC6343 and library.  The HMC6343 needs a millisecond to respond to commands.  That was done in the HMC6343 library with a delay(1).  That was changed to a loop with micros() to wait.  The i2c_t3 library has many microdelay() statements that were also changed.  No joy!

    Any suggestions appreciated.

  • Compass and Calibrating

    Martin07/09/2019 at 04:55 0 comments

    In order to map the direction of the transmitter, the transmitter heading needs to be relative to a compass heading.  When in a moving vehivicle that can be obtained from GPS.  A real compass is necessary for stationary readings.  I started playing with the HMC5883L and MLX90393 magnetometers.   The sensors do function as compasses but they require software and calibration.  There are Adafruit and Grove libraries for them and some others as well.  The Adafruit library for the HMC5883 yielded the best results but the libraries didn't play well with the other interrupts.   In order to spare a major detour I plan on using a spendy HMC6643 compass module that includes it own microcontroller and comes calibrated.    

    To calibrate, the transmitter will be placed as far away as possible from the front of the car and will need a high quality reading.  The raw measured value is replaced by the compass is reading.    

  • Diode Redo

    Martin07/04/2019 at 00:12 0 comments

    I have noticed that the antenna switching introduces significant attenuation but some attenuation is expected so time for another look.  In looking at the specs I am not turning on the diodes very hard.  The 74HC14's can source about 4 mA and the diodes really want 10 - 100 mA to turn on hard.  I remember the UDN2983 source driver - an nice solution but obsolete but is available.  There's a LTC 1156 quad high side micropower driver IC and resistors/transistors.  Any other ideas?

  • Yet More Testing on VHF

    Martin07/02/2019 at 23:41 0 comments

    I got some time on a vehicle with a metal roof and set it up with a set of VHF antennas.  Tuning in on NOAA weather radio on 162.400 MHz from a fixed location there was a stable heading reading albeit with a low signal quality.  In urban driving the audio Doppler tone revealed quite a bit of multipath.  When in a less congested area good quality readings were observed.  On to calibrating and turning the arbitrary heading into useful information. 

  • Dipole Antenna Array?

    Martin06/29/2019 at 05:18 0 comments

    Having to borrow a car with a metal roof to test the system is a pain.  The antenna spacing for VHF is about 18".   My cars have sunroofs - metal tops with big glass holes.   There is no way to attach the four magnet mount monopoles with the required spacing because of the sunroof location.  I can magnetically mount to the roof with a trestle over the sunroof but that is a problem for the monopoles - no uniform ground plane.  That can be solved by going with a dipole array.  The height of the array would be about 36" plus the trestle height.  Rubber duckie's for the elements might be a tradeoff.

    A dipole array can be a single unit so a positioning sensor can be built into it.  The system is needs be calibrated once and shouldn't need recalibration between installations and removals.  

    Here's a stationary array - just four antennas should be sufficient:

  • More Testing

    Martin06/27/2019 at 22:43 0 comments

    As it turns out, of the two cars I own, neither have enough metal for a proper ground plane - even on UHF.  Doah!  It seems like the geometry is simpler on VHF so I ought to start there.  Now - to borrow a car without a sunroof.  Here's a pix of my mobile test jig sans laptop and test vehicle.

  • Outdoor Testing Vers 0.0

    Martin06/14/2019 at 18:08 0 comments

    Although I haven't had much chance to refine the software, I had all the pieces and gave it a try.  I didn't have someone to drive but the readout looked as crazy as ever. 

View all 25 project logs

Enjoy this project?

Share

Discussions

Simon Merrett wrote 02/21/2019 at 03:54 point

"if you have a [logic/analogue/ghetto-RF] problem, if no one else can help... and if you can find him... maybe you can hire...

@Ted Yapo"

...cue theme tune. 

  Are you sure? yes | no

Ted Yapo wrote 02/21/2019 at 15:01 point

speak of the devil and he doth appear

Cool project!

I played with this circuit not long after the 1999 article. It was what got me initially interested in PIN diodes, which I ended up designing a logic family around (#The Diode Clock ). The 1N4148's originally specified will "work", but I think it would be really interesting to try some of the fancy new MMIC RF switches available today. For example:

https://www.digikey.com/product-detail/en/m-a-com-technology-solutions/MASW-007935-TR3000/1465-1360-1-ND/4430057

One thing jumps out at me from the project pic: those pigtails in between the antennas are going to mess up your pattern. It might work better if you cut a hole in the center of the plane and ran the cables through that to keep everything below.

I did some antenna modeling with EZNEC for this kind of setup, although the work is lost at this point. If you're up for it, you could give it a shot:

https://www.eznec.com/eznec.htm

  Are you sure? yes | no

Martin wrote 02/22/2019 at 01:15 point

Did you get your DDF working?

I do understand that I'll get better performance using even just PIN diodes but want to keep the cost of prototypes down.  I will check out some of the spendier parts in time.   

The antenna ground plane cookie tin is a mess - it was built for expediency - not RF performance.  I am reworking the antenna mounts and switcher to make them suitable for mounting on a vehicle.  I'm also building it for VHF so no more cookie tin.   

I actually like 4NEC2 but haven't used it for this.  There are several ways to do the antenna switching, the way I did it or by shunting all but one antenna to ground.  The shunt is a biased on  diode connected to the antenna a 1/4 wavelength away connected to ground.  This needs further investigations as well.

For the UHF antennas I used threaded rod in a union so I could tune the antenna by screwing it in or out.  But never got around to tuning them.

All good points. 

Thanks - Martin

  Are you sure? yes | no

Ted Yapo wrote 02/22/2019 at 01:52 point

I got it working enough to see some crude results from data sampled by a PC sound card, but never took it beyond that. As usual, I was distracted by some small part of the project, and wandered off following that.

Yeah, you can't get a cheaper, more versatile part than the 1N4148. Well, maybe the 1N914 ;-)

  Are you sure? yes | no

Dan Maloney wrote 02/19/2019 at 16:50 point

I'm curious how this turns out, please keep us posted. And I'll have to look up that QST article so I can get my head around DDF. Thanks!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates