Alternate
firmware
for the
Montreal Doppler II
and III RDF units
Important note about the Doppler II:
Abstract:
Jacques Brodeur, VE2EMM, has designed an excellent
microprocessor-based
"doppler" type DF unit described at VE2EMM's
Montreal Doppler II page that drives the antenna switching
circuit,
updates the display, and does signal processing to determine the
bearing. Please note that this firmware is not
supported by Jacques himself - please read the disclaimer.
This unit works along the same principles that the so-called
"Roanoake"
DF units do - but the addition of a microprocessor (to do the
generation
of switching signals and processing of the received audio) adds
additional
flexibility. For a bit of information about the newer
Montreal
Doppler III unit, go to the "Montreal
Doppler III" page.
This "Alternate Version" firmware is based on the original code
written
by Jacques for the Montreal Doppler II but these new features have
been
added independently without Jacques' direct involvement.
Note that it contains equivalents of some of the features found in the
newer Montreal
Doppler
III unit as well as a few others!
Preliminary operating instructions for this firmware
may
be found on the Operating
Manual
page.
This new firmware has the following modifications/improvements:
 |
The arrangement of the main
display of this new
firmware showing dual graphical and numerical bearing displays:
This
display is identical for both the Montreal II and III versions.
Go to the Operating Manual
page for more information.
- New graphical compass rose. The original
Montreal Doppler
II code displayed a clever, but difficult-to-decipher graphical 32
point
compass rose display. The intent was to provide a visual
representation
of the bearing of the received signal with respect to the current
location.
The problem is that with the 16 character, 2 line display, the compass
rose was extremely "squashed" and it took more than a quick glance to
try
to figure out the bearing. This new firmware provides a smaller,
but more intuitive compass rose showing the current bearing in a form
that
resembles an analog clock (but with only a minute hand...) This
new
display only displays 16 points of the compass, but owing to the small
size of this display, more resolution would be of questionable benefit.
- Sliding average. Also displayed is a sliding
average
consisting of up to 32 readings (including the current one.)
Because this average is updated with each new reading, a high average
setting does not slow the update rate like the integration does.
Also, because it calculates the average based on the amplitude vectors
of the original readings, its operation has much the same effect as the
8-capacitor roanoake filter - a real benefit to the users of an
Doppler II without the switched-capacitor filter!
- Doubled update rate. In the original
Montreal
Doppler
II code, new readings were not being taken while the display was being
updated, most notably when the integration was set to 1. This has
been changed so that up to 20 readings per second are available on the
serial port and/or the Compass Rose display. One may select
between
the current reading or the average reading to be output on the serial
port.
- A dual compass rose. Actually,
there
are two
compass roses on the display. The one of the left displays the current
bearing while the one on the right displays the sliding average
of past readings as long as they are above the minimum quality
value.
This additional display can provide the following benefits:
- If the signal is very noisy and seemingly random (as is often
the case
when operating mobile amongst urban clutter) an averaged
reading can go a long way towards being able to determine a likely
bearing.
Being that this average bearing is weighted according to quality, poor
bearings won't affect the average as much as good, solid ones.
- A smaller integration rate may be used. Often, the
minimum
integration
(e.g. none) is more than adequate. In this setting, about 20
readings
per seconds are displayed, completely updating the "average" about 1.3
times per second. Because this average is sliding,
it is also updated at the same 20 readings per seconds - but the result
is significantly smoothed.
- Because the averaging is only done on "good" quality signals
(those
above
the selected "minimum" quality level) it will "freeze" the display when
the signal disappears, showing the average. Because the original
Doppler II would continue to process the signal for a short time after
it had disappeared (owing to the integration) it was likely that the
last
reading displayed was likely erroneous, having been based on the
squelch
noise burst and having nothing to do with the original signal.
This
"average" display mitigates this problem, as only a few of the last
(erroneous)
readings are contributing to the overall average. (Note:
The audio
level detect modification for the Doppler II noted below improves
this
even more!)
- Dual numerical displays. For both
displays,
the bearing and signal quality is displayed. In addition
to
the "sliding average" bearing, the averaging display also shows the
"average"
quality for that same bearing. In addition, the current
integration
rate is displayed, along with either an "S-meter" reading (if connected
to the receiver) or audio input level - selectable by the user.
- Support for a "raw" audio level meter. One
of
the overlooked
features on the Montreal Doppler II unit (something corrected with the
Montreal Doppler III) was a means of detecting the "raw" audio
level.
On the original Montreal Doppler II code, the audio level is computed
from
the processed input data - but this is rather slow to respond,
particularly
if a higher integration rate is used. The result of this (as
mentioned
above) is that it takes a moment to detect that an input signal has
disappeared
and to stop processing, the result being is that the final bearing(s)
may
be bogus. Being able to measure the audio level as it comes from
the audio audio peaking filter (the first-stage filtering, outside the
microprocessor) allows much faster response to the disappearance of
audio.
This means that the most recent good reading may be "frozen" on screen
when the signal disappears and the squelch closes. This input
audio
level is displayed as a graphic on the screen - along with the "gating"
status (e.g. whether or not the audio input is too low to allow display
of a reading) with the "gating" threshold being adjustable. Note
that for the Montreal Doppler II, this feature requires a simple
modification of the main board involving cutting of two traces, the
installation of one jumper, and the addition of 3 resistors, a diode,
and
capacitor.
- Differential outputs for 4 antennas. In
addition to
the 4, 6, or 8 antennas (and selectable drive polarity) of the original
Montreal Doppler II unit, when 4 antennas are selected, the "other" 4
output
pins (the connections for antennas 5-8) provide an opposite-polarity
drive
signal for differentially-driven antenna switches.
- Vector-based "quality" calculation. The
quality
of
the signal is now based on the quality of the resolved directional
vector
itself rather than just amplitude. This permits better quality
assessment
of signals that are noisy and/or "multipathy" and thus improve the
likelihood
of rejecting signals with poor quality and prevent their contribution
to
the calculated direction.
- Support for a Compass Rose display without using
the
RS-232
port. A larger compass rose (Pelorus) is a highly
desirable
accessory - which is precisely why the newer Montreal Doppler III has
one
integrated with it. Originally, the Montreal Doppler II could
"drive"
an external compass rose only via the serial port, but it would be nice
to not have to tie it up the serial port this way -
especially
if one wishes to put the compass rose in the same enclosure AND use an
external computer/GPS receiver. This new code can provide a
synchronous
data output to drive a compass rose like the one used on the Montreal
III
unit - and it is, in fact, compatible with the original Montreal
Doppler
III compass rose display and the updated
firmware for the Montreal Doppler III's compass rose.
Note
that this feature requires a simple modification of the Doppler II's
main
board (simple cutting) and, of course, the addition of a compass rose
display
like that used with the Montreal
Doppler III. One may select either the current reading or the
average
reading to be displayed on the compass rose.
- Improved GPS multiplexing. NMEA sentences
from
a GPS
receiver are "passed through" the serial port, allowing the user to
have
both devices on a single serial port. The original firmware
"froze"
while it waited to synchronize to the incoming GPS data. In this
firmware, the GPS passthrough multiplexing is completely transparent to
the user and does not, under any conditions, affect normal
operations.
Additionally, support for 19200, 38400, 57600, and 115200 baud has been
added.
- "Adaptive Filtering" for a
switched-capacitor filter.
This feature allows a very fast response to brief signals - even if the
filter is set to respond "slowly." If an 8-capacitor
"Roanoke-type" switched capacitor filter is present (as on the
Doppler III, or if
one is added to the Doppler II) an additional modification
will automatically switch this filter to a "fast response" mode when it
disappears. This allows two things to happen:
- Remenants of the "old" signal are quickly removed from the
filter, allowing it to start "fresh" when a new signal appears.
When a new signal appears, it is not affected by previous "history."
- Within 50-100 milliseconds of the new signal being detected,
the Roanoke filter is returned to its orginal settings. At this
instant, the Roanoake filter is already "pre-loaded" with some bearing
information about the "new" signal and from that point on, the original
setting of the filter (as set by the "damping" control, if present)
will take over, providing the "slow" filtering. This allows a
very fast response to the appearaince of a "new" signal - even if the
damping is set to provide a "slow" response.
Use of the "alternate" firmware on the Montreal
Doppler
II:
Note: While it is possible to simply "plug in" the
alternate firmware into a Doppler II with no modifications at all,
the use of some of the features on the
Montreal
Doppler II require some simple board modifications - go the Doppler
II Modification page for more information. With the
alternate firmware, if all of the listed modifications are performed,
the feature set of the Doppler II is the same as that of the Doppler
III.
Perhaps the most useful feature for users of a Doppler II that haven't added the
switched-capacitor filter is the addition of the sliding
average. As mentioned above, this simulates, in software,
much of the effect of the 8-capacitor "Roanoake-style" switched
capacitor filter present in the Doppler I and Doppler III. To be
certain, the most flexible combination is to add such a filter to the
Doppler II so that you have both. If you have a Doppler II without
the 8-capacitor switched-capacitor filter you will notice an immediate
benefit in terms of filtering.
Use of the "alternate" firmware on the
Montreal
Doppler
III:
Because of the similarity between the hardware on the Doppler II and
Doppler
III units, it wasn't too difficult to modify the code to be able to
work
with either platform, the desired hardware configuration being
selectable
at compile time. This new firmware does everything that its
Doppler
II equivalent does as well as taking advantage of the Doppler III's
added
hardware:
- Supports the Compass Rose display. With the current
firmware, the current reading, the averaged reading, or even both
may be displayed simultaneously.
- Utilization of the Doppler III's audio level metering
capability.
This audio level is shown on the display using an icon. "Gating"
of the readings (e.g. starting and stopping) based on the audio level
is
also supported.
- A reworked menu interface. While the Doppler II has 4
buttons
used
to navigate around the menus, the Doppler III has a potentiometer and
one
button: This change necessitates a different method of selecting
and changing menu items.
- When in the normal display mode, the pot is used to adjust the
integration
rate (or, if so-configured, the amount of averaging) and the button
sends
the current reading (selectably the current reading or the average) out
the serial port, if enabled.
- On other menus, the pot is used to move a cursor that selects
menu
items
and the button is used to change the selected item.
- Because of the ease of adjustment when using the potentiometer, a
wider
selection of integration/averaging settings is available from the main
display
- Serial output and/or GPS passthrough. Just like the
original
Doppler
II firmware, one may select a continuous output stream of
bearing/quality
data, have the data sent on a selectable timed interval, or configure
to manually send the bearing at the push of a button.
Optionally,
data from a connected GPS receiver may be passed through. The
serial
bearing data being output (in "Agrelo" format) may be either the
current or the averaged reading.
Preliminary operating instructions for this firmware
may be found on the Operating
Manual
page.
AVAILABILITY:
- Q: Where can I get this
firmware?
- A: This firmware is now
available in the form of pre-programmed
PICs (only) be available from the author: Please
send
email if you have any questions. Note that these
chips are usually shipped code-protected.
- Q: Which chips
are used?
- A: The main
processor for the Doppler I uses a PIC16F876A; The Compass rose
and Comb Filter use the PIC16F819; The "mini" comb filter uses
the PIC12F683; The Doppler III "Clock" uses the PIC12F675.
A
PIC16F877A is currently used for the main processor for the Doppler II
and Doppler III alternate firmeware although testing is being done with
the PIC18F series.
- Q: Why is the firmware
available on two different types of processors?
- A: The PIC16F877A
has been used as it has been large enough to accomodate the current
feature set although the addition of more features will likely require
the use of the larger processors - which may be plugged in with no
modifications. If you can think of
some feature that would be advantageous to add, please
feel free to contact me to see.
- Q: How much do the
chips cost?
- A: Recently, I have
been
charging as follows (all prices in US Dollars) Please
note that these prices are subject to change!:
- $13 - Main processor
for Doppler II or Doppler III alternate
firmware - you must specify
whether you want the Doppler II or Doppler III firmware.
For the version using the PIC18F series, the main processor
will be $15.
- $12 - Main processor for
the Doppler I alternate firmware.
- $7 - Compass rose
display chip. This chip is required for the Doppler
III, as
are certain minor modifications - see the Compass Rose page
for more info.
- $5 - "Clock
generator"
chip. If you already have a working Doppler III and
wish to
change to the alternate firmware, you will not need this
chip: You will only need it if you are building it and do not
already have the chips. This clock generator is not
required for the Doppler II. Also note that the .HEX file for
this processor may be found below if you have the ability to obtain and
program PIC12F675's yourself.
- $7 - Comb Filter to
remove the
switching tone from the received audio. This is for the
"full-sized" comb
filter. Important note: This filter is designed to
filter a tone of
precisely 500.8 Hz - the switching frequency of the original
Doppler II firmware and the alternate firmware for both the Doppler I,
II and III units: If used on the original Doppler III
firmware, a
different frequency will be required - please note this if you are
interested!
- $5 - The "mini Comb
Filter." This works much like the above comb
filter,
except that it has fewer available modes and it uses an 8-pin PIC in a
smaller package.
- $5 - A PIC-based TDOA
unit. If you are interested in this unit, please note
that its firmware is still being developed, but the prototype seems to
work nicely - but if you get one, I expect feedback from you as to how
to improve it!
- Shipping/handling
and "hassle factor" - If you order just one or two of the
smaller chips (8 or 18 pin) then shipping/handling will probably be
$3.50. If you order a complete set of chips for the Doppler III,
it will probably be be in the $5-$6 area. Please ask!
Please
note that any incurred taxes
and/or tariffs are the responsibility of the recipient of the chips.
Typically, payment is via PayPal (but not
to the address below - I use that only for initial information
requests) but
make sure that you contact me for information before
you send
any money: I want to make sure that any questions that you may
have are properly answered before you spend your money, make sure that
you get what you really intend to get, as well as to
verify the costs! If you know how much these chips actually cost, you
can see that I'm not trying to get rich! (Prices were changed as
of 7/16/08)
Doppler III Filter Clock object code:
Please note that object code for the Doppler III filter clock is
available
here.
Note that this code is functionally identical to the original -
but is not in any way based on the original code as far as I
know. This
.HEX
file is targeted to be programmed into a PIC12F675 and simply outputs a
98.04 KHz signal with a 20 MHz input drive signal - that is, it simply
divides the 20 MHz input by 204 by using a bunch of "watchdog restart"
instructions
to delay toggles of the output clock line. This filter clock rate
yields a bandpass frequency very close to 500 Hz.
Disclaimer:
This code was originally based on that of the original Montreal
Doppler
II DF unit by Jacques Brodeur, VE2EMM, and full credit is given to him
for this fine work. Because the additional modifications are my
own
and were not done with his involvement, Jacques cannot reasonably be
asked
to offer any support or assistance regarding them!
Although good faith efforts have been made to make certain that
the
operation of the hardware/firmware is as described, it is possible that
"undocumented features" (bugs) may be present: It is through
testing,
use, and feedback from the users that projects such as this may be
improved,
and the user is asked to be understanding of this fact. This
firmware
is strictly intended only for non-commerical amateur-radio use and any
other use is in violation of applicable laws.
Additional note: Neither the author or UARC
officially
endorse any vendors mentioned above or assume any responsibility for
the
use of the devices/products described herein. The level and
satisfaction
of performance of any of the above is largely based on the skill and
experience
of the operator. Your mileage may vary.
Do you have any DF-related questions? If so, you may send
email
to the address below:
 |
Do not click on the address above
- simply type
it into your email client
For further information, go to the Unofficial
VE2EMM
Doppler Information page.
This page updated on 20080716