After carefully avoiding any microcontroller in my doppler RDF designs, april 2015 I started this new project: an autonomous microcontroller based Radio Direction Finder.
This RDF should be able to use the doppler principle as well the amplitude principle, depending on the attached antenna array.
Let’s be clear about one thing first:
There’s no reason why a microcontroller based RDF would perform any better than a RDF built from simple digital and analog components.
Only the calculating possibility could give a modest advantage in signal interpretation and averaging of the outcome.
The biggest advantage however would be the user interface:
Using a graphic screen, much more data can be presented to the user in a very user-friendly way.
Menus could offer easy acces to the RDF’s settings, and user settings could be stored.
And, data could be offered to the outside world, shared in a network etc.
So these advantages inspired me to start this new approach.
In the following pretty bad Youtube movie you can see the first prototype in action on 424MHz in both an easy as well as a tough, reflective environment:
I used this RDF40 as a development platform as virtually all parameters are available via the menu structure.
Therefore it was -and still is- wonderfully suited for experiments with other antenna arrays and alternative software algorithms.
This has resulted in highly improved performance for mobile RDF work, since the software is capable of suppressing a lot of the multipath disturbances that are common in mobile work.
Additionally, the RDF can send its best bearings to a laptop that can display the bearing lines on a map.
This software is developed to be a powerful tool for mobile RDF work.
Now, after about 2,5 years of experimenting and testing I designed the RDF41, a simplified RDF processor with the best settings fixed in its firmware.
So now and then I build one or two RDF41’s for those who are interested.
- The RDF40 itself is not available, nore is any documentation.
- The core of this design is formed by an Arduino Uno R3, chosen for its ease of programming.
- The output is presented on a 128×64 pixels graphic screen.
- I chose a monochrome one with backlight: no visibility issues in mobile applications.
- The Arduino sends a clock signal to a binary counter, which addresses a double 4-channel multiplexer.
- One of the multiplexers is used to drive the soft switching antenna drivers. The second one multiplexes the amplified radio output to four capacitors, which gather the X+, Y+, X- and Y- signals.
So the data of all 4 antennas is stored in its own capacitor, which does some initial averaging.
These four caps are read by the Arduino’s analog inputs, about 8 times per second.
The Arduino calculates the difference between X= and X-, and it does the same for Y+ and Y-. This gives an X and Y value without DC offset.
From this X and Y value the raw bearing estimate is calculated, and of course a lot of additional calculations are performed to calculate the credibility of the samples,
- the averaged value over a specific time,
- the screen positions of indicators,
- the screen scope positions,
- the positions of texts in the pelorus depending on the pelorus indicators,
- etc. etc.
I designed an interface PCB (left) in the same size as the graphic screen (right).
Pin rows on the PCB fit the Arduino bus and the Arduino board is simply pinned on to the back of
the interface PCB.
Put together, the three PCB’s form a compact sandwich.
Out of PCB material I made a temporary housing.
The five pushbuttons are on a separate small PCB in front of the screen PCB.
The pushbuttons provide quick and easy acces to all settings.
The picture shows is the main screen of the current version.
- The left part shows:
- Type number,
- Battery voltage and the rotating frequency,
- The Average, Squelch, and Calibration setting,
The down left corner shows the elevation indicator, for airborne targets.
Next to this indicator a simple vector scope shows the current value of the four antennas: X+, Y+, X-, Y-
The RDF does four measurements every half second.
Using this data a SinCos calculation is performed and the quality (Q-factor) of each measurement is determined.
The four bearing estimates are displayed in the pelorus, on the right side of the screen.
The length of each bearing line is determined by the Q-factors of the measurements.
So a good measurement shows a longer line and a crooked measurement shows a short line. Every half second these four measurements are plotted including a long time average line.
This long time average is also calculated using the Q factor to weigh each measurement. So a high quality measurement has a large impact on the average and a poor quality measurement is almost ignored.
The center dot in the pelorus indicates that a measurement was good enough to be accepted. This total approach gives a quick and very good impression of bearing and reliability of measurements.
The MENU screen offers access to:
- Calibration of Azimuth and Elevation
- Averaging level
- Frequency of antenna rotation
- Squelch level (FREEZE on low level or low quality signals)
- Run (back to operating mode)
- While in MENU, an antenna test is performed at the background, stepping through the 4 antennas in a slow pace.
- A defect antenna can be clearly recognised this way.
The Calibration menu:
- Simple but effective.
- Azimuth calibration can be set from 0 to 358 degrees, in 2 degrees steps.
- Elevation calibration is a compensation factor depending on your receivers output.
All menu changeable settings are stored in a non volatile memory,
and will be remembered next time the RDF is powered up.
The Averaging menu:
- Lowest level = 0 (no averaging)
- Next levels are 16, 32, 64, 128, 256.
- These are the number of samples combined in a running average.
A setting of 64 will generally do fine in a mobile setup.
The Frequency menu:
From 104 Hz, 112Hz, 120Hz, up to 2040 Hz, in increasing increments.
504 Hz is a good choice for narrow band FM applications.
The Squelch menu:
Running from 0 to 9, the squelch setting is the minimum Q factor the sample must have to be valid.
A sample with a Q below the squelch setting will be ignored, and the dot in the center of the pelorus will disappear, to indicate that no fresh data is accepted and the Azimuth indicator is frozen.
The samples Q value is calculated out of signal magnitude (doppler amplitude) plus the samples symmetry: A multipath doppler tone may be quite loud but will be not very symmetrical.
Therefore the symmetry is a good indicator for the reliability of the sample.
A complicated algorithm is used to combine both amplitude and symmetry into
a single quality rating figure “Q”, which is also displayed in the pelorus.
Measurements indicate that the RDF itself has an accuracy within 2 degrees.
The antenna array however is not taken into account here.
A 4-antenna doppler typically has an accuracy of around 5 degrees in good circumstances.
Anyone who has been driving around with a RDF in a city or industrial environment will know that ideal circumstances can be far, far away…