More IBM Display Program Information

Major Features
General Description
Heading Updates
NorthUp Compass
The Start-up Screen
The Display Screen
The Range Rings
The SECTOR function
The DECAY function
The REDUCE function
Operating Tips
Tips for Laptop Computers
More Info and Inquiries

Major Features :

  • It’s free !
  • SIMULATION mode allows ( demonstration ) use without a DF
  • Runs on any IBM with an RS232 COM port
    Uses COM1 or COM2 ( user selectable, default = COM2 )
    Selectable baud rates, 1200 to 9600 ( default = 1200 )
  • Accepts standard Agrello format DF messages
  • MsDOS program ( to run on old computers )
  • Source code available on request
    Written in QuickBasic 4.0
  • Provides visual integration of multiple DF readings
    Several hundred readings can be integrated inTo one display
  • Three Quasi – DSP functions to enhance the display
    DECAY function ( exponential time decay of old readings )
    REDUCE function ( enhance pattern contrast )
    SECTOR function ( set resolution of DF bearings, to assist integration )
  • Manual heading input for vehicle heading
    To maintain display integration after vehicle turns
  • Electronic bearing line to identify direction of major lobe
  • Relative bearing presentation ( 12 o’clock = vehicle heading )
  • Indicator bugs for MAG and TRU north
    Adjustable MAG variation ( E / W )
  • Selectable heading display in MAG or TRU degrees ( vehicle heading )
  • Ten memory slots to store display images


    Specifications :

    IBM Specs :
    Requires an IBM PC with an RS232 COM port
    Program :
    MsDOS program, monochrome display
    SIMULATION mode to allow evaluation without a DF
    Compiled .EXE file, ??Kbytes
    Written in QuickBasic 4.0, source code available on request
    Input Port :
    COM1 or COM2, user selectable ( default = COM2 )
    Baud Rate :
    1200 to 9600, user selectable ( default = 1200 )
    Message :
    Agrello DF standard message
    Data Source :
    External DF, driving the selected COM port
    Internal SIMULATION source
    Memory display ( ten memory positions )
    Presentation :
    Relative bearing display ( 12 0’clock = vehicle heading )
    Controls :
    ACQUIRE on/off
    TEST on/off ( = simulation )
    DECAY on/off ( + DECAY interval and fraction : F10 key )
    CLEAR ( = erase display )
    QUIT ( = exit program )
    SECTOR adjust
    MAG VAR adjust
    MAG / TRU heading display ( F1 key )
    HEADING cw / ccw
    CURSOR cw / ccw
    MEMORY store / recall ( ten displays )


    General Description :

    The IBM display program for the PicoDopp DF is a powerful visual tool to assist identification of signal direction, especially for weak signals. The visual integration of dozens ( or even hundreds ) of consecutive DF readings allows the user to discern the signal direction with confidence, even when the instantaneous DF display is "dancing wildly" around the dial, apparently at random.

    The display is similar to a radar screen, and consists of DF "vectors" that are "painted" at each possible bearing in the azimuth plane. The length of each vector is proportional to the number of DF messages received for that bearing. If no signal is present, then the reported DF bearings will be completely random, yielding a formless, directionless "blob" on the screen. If there is any "non-randomness" in the reported DF bearings, the ( favored ) bearings will eventually "pump up" ( = visual integration ) and reveal themselves as a "lobe" on the display.

    The input data message for the display program complies with the ( very popular ) Agrello DF message format, as follows :

    Agrello DF message format :


    Where % = message start character

    bbb = signal bearing degrees ( 000-359 )

    q = signal quality ( 0-9 ) ( fixed @ 7 in this design )


    Heading Updates :

    To fully utilize the ( weak signal ) virtues of this display, the vehicle heading must be ( manually ) updated whenever the vehicle heading changes more than a few degrees. This is necessary because the DF reports bearings in "relative" degrees, ( as do all DFs ) which simply means the 12 o’clock position on the display always represents the vehicle’s present heading.

    If the vehicle changes direction, then the reported DF bearings will also change, by an equal amount in the opposite direction… turning the vehicle 90 degrees left will cause the DF reading to rotate 90 degrees right. This is not a problem for a realtime display, but for a display which integrates hundreds of successive DF readings, such a turn will "invalidate" all the data that was received and integrated into the display, before the turn was executed. ( loss of DF "history" )

    To allow for this situation, the display program has keyboard inputs that allow the user to rotate the entire azimuth display, to compensate for changes of vehicle direction. ( numeric keypad, keys 2 and 6 ) Using these keys, DF data that is accumulated before a vehicle turn can be retained and used after the turn.

    To use this feature, knowledge of the vehicle’s heading is required, expressed in magnetic or true degrees. This can be obtained from a magnetic compass or a GPS receiver. The precision required for this data can be "compromised" ( to some degree ) by using the SECTOR function, described below.


    NorthUp Compass :

    Maintaining accurate heading data is a "chore". It requires constant vigilance on the part of the DF operator, who must faithfully update the vehicle heading at all times. If the signal is strong enough, the user may simply choose to CLEAR the display instead, ( = erase the old data ) and wait a few seconds to accumulate a "fresh batch" of DF readings, after every turn. Another ( strong signal ) option is to use the DECAY function, ( described below ) with a high decay rate to quickly "wash out" old data.

    "Automatic" updates of vehicle heading can be achieved with the ( optional ) NorthUp electronic compass, which eliminates the need for manual heading updates. When installed, the RS232 message from the DF "passes through" the NorthUp compass, before reaching the display program.

    The NorthUp compass receives the DF RS232 message, adds the compass heading to the DF bearing, and re-transmits the ( corrected ) DF message to the display program. The DF bearings therefore are reported to the display program in magnetic degrees, instead of relative degrees. The 12 o’clock position on the display therefore represent magnetic north, ( instead of the vehicle heading ) and changes of vehicle heading will no longer affect the azimuth display. ( = "azimuth stabilized" DF display )

    The NorthUp compass also generates a separate IrDA ( infrared ) output, to drive a PDA display with "azimuth stabilized" DF data. The NorthUp compass also has a very effective error correction feature, ( magnetic deviation correction ) which requires the performance of a simple ( one - time ) calibration procedure, with results stored in non-volatile EEPROM memory, for subsequent use.

    Additional information about the NorthUp compass can be found on the OPTIONS webpage of this website.


    The Start-Up Screen

    The start up screen queries the user for the desired COM port and baud rate. The default values are COM2 and 1200 baud, but the PicoDopp runs at 2400 baud. ( default values are entered with a carriage return ) Following selection of these items, the display switches automatically to the display screen, and begins operation in the SIMULATION mode.

    NOTE : The display screen sometimes "boots up" with blue lines and text instead of white lines and text… this is an artifact of the Windows operating system. Closing and re-starting the display program should fix the problem, or re-starting the computer in MsDOS mode, since this is an MsDOS program.


    The Display Screen

    An image of the display screen is shown below. Commands are entered as single keystrokes, using the keyboard letters indicated in parenthesis, by each command. The current values of these commands are also displayed. Some command require additional input, in which case a text entry line will appear in the lower left corner of the display, which is terminated by the user with a carriage return.

    Most of the commands are fairly obvious and simple, but the functions called DECAY, REDUCE, and SECTOR are more subtle, and an explanation of those features is offered below. To escape the program, type "q" and answer "Y" or "y" to the confirmation question. If you are running the computer in the Windows mode and wish to suspend the program, ( to use another Windows program and then return to the DF program ) you can type "ctrl-alt-del", ( all 3 keys simultaneously ) and select CANCEL in the window that will appear…. that will "minimize" the display program ( without terminating it ) and allow selection of another Windows program.


    The Range Rings

    The range rings are set in increments of ten DF readings per ring. A vector which just touches the third range ring ( therefore ) indicates the DF has reported 30 readings, at that bearing. The range rings will "autorange" ( both up and down ) so that the longest display vector will always remain between the outside ( azimuth ) ring and the largest range ring. All the display vectors are automatically re-scaled, whenever the number of range rings changes.

    The SECTOR Function :

    The SECTOR function causes each ( received ) DF bearing to be "painted" in adjacent bearings, as well as the proper ( DF - reported ) bearings. SECTOR sets the width of the adjacent bearings that receive this data. For example, if the SECTOR width is set to 10 degrees, and the DF reports a bearing of 037 degrees, the program will "paint" this reading into ALL bearings between 032 and 042 degrees. ( the bearing count for ALL bearings in this sector will be increased by one )

    The SECTOR function is useful to enhance the display. For example, a single display vector that is ten units long is much more ( visually ) "obvious" than ten individual ( adjacent ) vectors that are each one unit long, even though all ten adjacent vectors probably originated from a single radio source. SECTOR therefore allows the user to adjust the angular resolution of the DF display.

    The SECTOR function can also be used to relax the accuracy requirements for the ( manual ) vehicle heading inputs. For example, by setting the SECTOR value to 30 degrees, the vehicle heading can be entered with less precision, ( within 30 degrees ) without compromising the visual integration of signals.

    The SECTOR function can also be useful for very weak signals when used in a "large" way, by setting the sector value to 90, 120 or 180 degrees, or even larger. The resulting display will reveal a very "broad" lobe, ( if one exists ) which can be used narrow down the "general direction" to the signal source to a specific hemisphere or a specific quadrant.

    The SECTOR function is non-destructive and reversible. The original DF data remains intact, and the original display can be restored by returning the SECTOR value to its original value.

    The DECAY Function :

    The DECAY function is used to gradually "wash out" old DF data, in a way that simulates an exponential decay with time. The DECAY function allows the user to specify a decay "fraction" ( ranging from 0 to 1 ) and a decay "interval", expressed in seconds. When DECAY is activated, all the DF vectors are multiplied by the specified fraction, at the specified intervals.

    For example, if a particular display vector = 100, with a decay fraction of 0.9 and an interval of 10 seconds, then the vector will be reduced to 90 after the first 10 seconds, then to 81 after 10 more seconds ( 0.9 x 0.9 x 100 ) then to 72 after 10 more seconds, and so on. ( assuming no additional DF reports for that bearing are received )

    The DECAY function is "data-destructive" and irreversible. The original DF data is completely replaced by the new data. If the user wishes to recover the original display, a copy of the data must be made into one of the ten memory slots, before enabling the DECAY function.

    The REDUCE Function :

    The REDUCE function is similar to the DECAY function, except it is manually operated. The REDUCE function also operates differently, because it subtracts a specific number from all DF vectors, instead of multiplying them all by a specific fraction. This tends to enhance the differences between vectors and increase the display clarity, since smaller vectors will suffer a greater "percentage" of reduction than the larger vectors. This is particularly useful when no major lobe can be ( easily ) discerned in the display.

    The REDUCE function is manually operated, and usually is repeated several times in succession until the desired clarity is achieved. The amount of reduction for each operation is related to the presently displayed range on the screen. In all cases, it equals ten percent of the presently displayed range. For example, if 5 range rings are visible, then the displayed range is 60 DF readings. ( 5 rings x 10 readings / ring + 10 for azimuth scale = 60 readings ) In this case, operating the REDUCE function ( once ) will reduce all the DF vectors by 6 readings.

    The REDUCE function is "data-destructive" and irreversible. The original DF data is completely replaced by the new data. If the user wishes to recover the original display, a copy of the data must be made into one of the ten memory slots, before invoking the REDUCE function.

    Operating Tips :

    The DECAY, REDUCE and SECTOR functions provide some very useful tools for processing data after accumulation, and the user is invited to "experiment" with them, using the SIMULATION mode, to become familiar with their operation. When used in combination, ( and with some clever imagination ) they can yield results on data that otherwise might be useless.

    In addition to these functions, there are two more that pertain to the SIMULATION mode. One is called REVEAL, and the other is called FOCUS. These functions are not displayed on the screen because there was no room for them, and they are not important to the normal ( DF – driven ) operation of the program.

    The FOCUS function defines the amount of randomness in the SIMULATION bearings. It is expressed as a fraction, ranging from 0 to 1. A FOCUS value of 0 yields a completely random display with no "main lobe", and a FOCUS value of 1yields a sharply-defined main lobe. This function can be used to increase or reduce the level of difficulty identifying the signal direction, in the SIMULATION mode. As experience with the other functions is accumulated, ( DECAY, REDUCE and SECTOR ) this number can be decreased, to increase the difficulty of the ( simulation ) "problem".

    The REVEAL function will reveal the DF bearing that is used for the simulation, so the user can determine if their estimation of the DF signal direction "agrees" with the value used in the simulation.

    Tips for Laptop Computers :

    Laptop computers can sometimes pose special problems for the display program. They usually have only one COM port, ( = COM1 ) and it is usually dedicated to an external mouse. It is sometimes necessary to defeat the mouse function in the Windows CONTROL PANEL, to enable its use by the display program.

    It may also be necessary to close and re-open the COM port in the CONTROL PANEL, ( even if the mouse does not employ it ) in order to enable it for use by the display program. This action causes the Windows operating system to send a fresh batch of "startup code" to the COM port, which erases any prior commitments for the COM port.

    For laptop computers, the numeric arrow keys are usually "shared" with alphabetical keys on the keyboard. These keys are sometimes employed as an alternative for an external mouse, by using the Windows MouseKeys function. If this is true, then keystrokes to these keys will be routed to the mouse driver software, ( instead of the display program ) which will make vehicle heading updates ( and cursor operation ) impossible.

    The MouseKeys function is found in the Windows CONTROL PANEL, in the ACCESIBILITY OPTIONS folder, under the MOUSE tab. Defeating the MouseKeys function will cause the operating system to route numeric arrow keystrokes to the display program, to enable their use for vehicle heading updates and cursor operation.

    More Info and Inquiries :

    The IBM display program is written in QuickBasic 4.0. Source code is available on request, by e-mail.