MAP65 User’s Guide
Joe Taylor, K1JT

Copyright © 2011, 2012

August 8, 2012

Contents
Introduction ..................................................................................................................... 3
Hardware and Software Requirements ........................................................................... 3
Installation and Setup ...................................................................................................... 5
Decoding Tutorial .......................................................................................................... 11
Additional Features and Options ................................................................................... 14
Appendix A: Installed and Generated Files ................................................................... 19
Appendix B: The JT65 Protocol .................................................................................... 20
Appendix C: Astronomical Calculations........................................................................ 21
Appendix D: Source Code ............................................................................................ 222

Introduction
MAP65 is a computer program designed for EME communication using the JT65
protocol. When used with RF hardware providing coherent signal channels for two
orthogonal polarizations, the program offers automatic polarization-matched reception
for every JT65 signal in a 90 kHz passband. Where linear polarization is in use, MAP65
eliminates the effect of mismatched polarization angles on reception, so you are neverfaced with Faraday lockout or one-way propagation. On bands where circularpolarization is the norm, MAP65 is highly effective in its single-channel mode — again
providing visual display of all signals in a 90 kHz window and decoding all the JT65
signals.

Hardware and Software Requirements
MAP65 requires specialized receiver hardware to convert an RF band to a digitized I/Q(in-phase and quadrature) data stream at baseband. The program was originallydesigned for use with the WSE converters designed by Leif Asbrink, SM5BSZ, together
with his Linrad software. Linrad controlled the WSE hardware and handled the dataacquisition tasks, forwarding digital data to MAP65. These choices remain good ones,
but today there are many other possibilities. MAP65 can be used with the SoftRock,FUNcube Dongle, SDR-IQ, Perseus, IQ+ and other comparable receiver hardware.
These receiver types have different interfacing requirements, summarized below. Someare usable with SDR-Radio as an alternative to Linrad, or with MAP65 in its standalone mode.
The SoftRock, IQ+, and WSE receivers mix signals from RF to baseband and use acomputer soundcard for the analog-to-digital conversions. The FUNcube Dongle has abuilt-in silicon tuner and its own A/D converters; it plugs into a computer’s USB port andpresents itself to the operating system as a two-channel audio input device. The
SDR-IQ and Perseus receivers do their A/D conversions at RF and accomplish downconversion digitally, in a field-programmable gate array. Any of these systems, andmany others with comparable features, can be used with MAP65. Obviously, those
designed for input frequencies in the HF range will require another receive converter
mixing down from a VHF/UHF band of your choice to an intermediate frequency in the
HF range, say 28 MHz.
The SoftRock, FUNcube Dongle, SDR-IQ, and Perseus are all single-channel receivers,
so they cannot support adaptive polarization. You could, however, configure a pair ofmodified SoftRocks (or approximate equivalents) for use in a dual-polarization system.
3

They would need to be driven by a single local oscillator, to maintain coherence
between the two RF channels. The IQ+ and WSE converters are high-performance,
two-channel systems that can support adaptive polarization directly.
Some example receivers and their interfacing requirements are summarized in Table 1.
The SoftRock, FUNcube Dongle, and IQ+ use programmable synthesizers for their local
oscillators. Their input frequencies can be set from within Linrad, SDR-Radio, or MAP65
via a USB port. Center frequencies for the SDR-IQ and Perseus receivers are set in thesame way, although in these cases the “local oscillator” is a numerically controlled
oscillator (NCO) implemented in software. To achieve very low phase noise and highspurious-free dynamic range, the WSE converters use a sequence of switchable crystal
oscillators for frequency control. Their switching is accomplished from within Linrad
through the computer’s parallel port.
Table 1: Examples of receiving equipment and configurations for use with MAP65,
with interfacing requirements
SoftRock
Input Freq
(MHz)
Polarizations

28, 144
1

FUNcubeDongle144, 432,
1296
1

SDR-IQ,
Perseus28

SoftRock×2
28, 144

WSE

2

IQ+
VL, V, U
50, 144,432
21Soundcard
Channels
DigitalInterface
Frequency
Control*
Front-End
Software*

2

–

–

4

4

4

USB

USB

USB

USB

USB

L, S, M

L, S, M

L, S

L, M

L, M

ParallelPort
L

L or S
optional–

L or SrequiredL
optional

L
optional

L
optional

144
2* L = Linrad, S = SDR-Radio, M = MAP65

Using Linrad as a data-acquisition front end provides some significant advantages. Its
noise-blanking capabilities are superb. It provides many flexible configuration options
and other receiver amenities including mode-specific demodulation with audio output toheadphones or speaker. It interfaces directly to the SDR-IQ and Perseus receivers,
handling their necessary control and data acquisition tasks. In single-polarization
systems, SDR-Radio can manage the data input and control functions, again providing
demodulation and audio output and forwarding wideband digital data to MAP65. SDRRadio is polished, commercial-quality software available free to hams, and some havefound it an easy way to get started with MAP65. Finally, MAP65 can be used in stand4

alone mode with I/Q signal inputs taken directly from a soundcard or a FUNcube
Dongle. Stand-alone operation of MAP65 with the IQ+ receiver is a particularly
attractive option for a low-cost, high-performance system for digital EME.

Installation and Setup
1. Use something like “C:\MAP65” or “C:\Radio\MAP65” rather than
“C:\Program Files\MAP65” for the installation directory. All MAP65 files arenormally located in the installation directory and its subdirectories. The program
makes no use of the Windows registry, so it can be uninstalled by simply deletingthese directories and their contents.
2. Download and install MAP65 from a link on the following page:
http://www.physics.princeton.edu/pulsar/K1JT/map65.html
3. On the final screen of the installation wizard you will be offered a chance to run aprogram that configures optimized FFT routines for your particular
computer. Choosing the first (default) checkbox will be adequate for most
purposes, and will result in an optimization process that proceeds silently forseveral minutes. Be sure to allow the optimization procedure to finish before
proceeding. It is not necessary to repeat the FFT optimization if you install a
program update in the same directory.
4. Start MAP65 by clicking on its desktop icon.
5. Choose Options on the Setup menu and select the Station tab (screen shot on
next page). Enter your callsign, 6-digit grid locator, and other parameters as
required for your station. Be sure to check Xpol if yours is a dual-polarization
system, and uncheck it for single polarization.

56. If you will be using Linrad or SDR-Radio for data acquisition, the box labeled
Fadd can be used to enter a nominal difference between the frequency reportedby that program and your corresponding on-the-air frequency. For example, if
your RF chain converts 144 to 28 MHz, enter 116.0 for Fadd. For now you canleave parameters Fcal and Dphi set to zero. You may wish to optimize theirvalues later. Timeout sets the number of minutes that callsigns and messages
persist in the Band Map and Messages windows. Buttons labeled + and x
inform MAP65 of the orientation of your dual linear-polarization antenna.

6

7. Select the I/O Devices tab:If you will use sound card input or a FUNcube Dongle, check SoundCard andchoose the proper audio input device from the drop-down list. Depending on
your hardware setup, it might be necessary to check the Swap I/Q box. (Anincorrect setting reverses the direction of increasing frequency in the received
passband.) If you will use Linrad or SDR-Radio for data acquisition, check
Network and select the correct input sample rate for your hardware — either
96000 or 95238 Hz. These are the only sample rates supported by MAP65. Youmight need to change the network Port number from the default value 50004, so
as to match the port selected in Linrad or SDR-Radio. Finally, select the output
device you wish to use for Tx audio.
8. If your receiver uses the Si570 synthesizer chip and you want MAP65 to be able
to set its frequency, go to the Si570 tab and set the parameters Frequency
multiplier and Frequency correction (ppm) as required. The IQ+ receiveruses a frequency multiplier of 2, while the SoftRock uses 4. If you havedetermined that the Si570 master oscillator is slightly off frequency, you can7

enter a suitable correction in parts per million (ppm). The commanded Si570
frequency will be
Multiplier × (1.0 + 0.000001 × Correction) × ForceCenterFrequency
where ForceCenterFrequency is a value (in MHz) entered in a box at bottom
right of the Wide Graph window. Be sure to check the box labeled Initialize IQ+
on startup if you want your IQ+ receiver to be reset each time MAP65 starts.

9. Click OK to dismiss the Setup dialog window.

810. If you are using a FUNcube Dongle, you can set its parameters by clicking
FUNcude Dongle Settings on the Setup menu.

This action will start a program to configure your FUNcube Dongle. Detailed
instructions can be found here.

911. On the Mode menu, select JT65 sub-mode A, B, or C. By convention JT65A is
generally used for EME on 50 MHz, JT65B on 144 and 432 MHz, and JT65C at
1296 MHz and above.

12. Position the five main windows of MAP65 as you wish, possibly resizing some ofthem as desired. As an example, my typical screen setup looks something likethe picture below. In an EME contest you will probably want to widen the Band
Map window to display callsigns in two columns.

13. If you will be using Linrad or SDR-Radio, start that program and be sure it isconfigured to send data packets to MAP65 on the port selected in step 7. You
want the “timf2” data packets from Linrad. When everything is working properly
the vertical thermometer bars (at lower left of the main window) should show
signal levels around 20–30 dB. In a single-polarization system, only the left bar
will be active. Click the Auto Zero button at the bottom of the waterfall window10

to adjust the zero level for its display. If you are using direct soundcard input or a
FUNcube Dongle, enter the center frequency (for example, 144.125) at bottom
right of the Waterfall and check the box labeled Force Center Freq (MHz). Thisis the frequency converted by your receiver hardware to zero frequency in the
baseband data stream. If you are using the IQ+ receiver, click Set Rx Freq toprogram the receiver's Si570 synthesizer to the correct frequency.
14. Adjust the spinners labeled Freq Span and Freq Offset for the most pleasing
display of the desired portion of the band. For normal EME activity on the 2mband you will probably want to display a range something like 144.100 to
144.160 (displayed on the waterfall scale as 100 to 160). On 432 or 1296 MHz,an appropriate range is something like 0 to 90 (i.e., 432.000 to 432.090, etc.).
15. Check the box labeled NB to activate the noise blanker. With MAP65 running in
Monitor mode, adjust the blanking level by moving the horizontal slider. The
percentage of blanked samples is displayed as the last number in the status-bar
box labeled Rx noise. A good setting is somewhere around 1 – 5 % underquiescent conditions.

Decoding Tutorial
The best way to become familiar with MAP65 is to play with some recorded data files.
The program's wideband capability means that its recorded data files are large — about
20 MB per minute for single-polarization data, 40 MB for dual polarization. Compressedversions of one such file with dual-polarization data are available at
http://physics.princeton.edu/pulsar/K1JT/061111_0746.tf2.zip (for Windows, 25.3 MB
compressed) and http://physics.princeton.edu/pulsar/K1JT/061111_0746.tf2.bz2 (forLinux, 20.7 MB compressed). Download and decompress one of these files to produce
a file named 061111_0746.tf2.
Start MAP65. On the Setup | Options screen, check Xpol and + and set Dphi = –50
so your settings will be consistent with those of the system that made the example
recording. On the Wide Graph window, set Freq Span = 60 kHz, N Avg = 10, andZero = 26. Check NB on the main window to turn on the noise blanker. Select File |Open, navigate to the directory to which you extracted the file 061111_0746.tf2, andopen it.
In a short time (perhaps 5-20 s, depending on the speed of your computer) the text
reproduced below should appear in the Messages window. MAP65 decodes EME
transmissions from 16 different stations in this one-minute interval. W3SZ is detected11and decoded twice: his tropospheric signal at DF=360 Hz and EME signal at DF=471
Hz overlap in frequency as well as time, but MAP65 decodes them correctly anyway.
Freq DF Pol UTC dB
101 113
0 0746 -19
103 155 135 0746 -13
360 152 0746 -5
471 58 0746 -21
110 321 56 0746 -18
485 135 0746 -14
111 -17 90 0746 -17
114 367 135 0746 -6
116 218 167 0746 -23
118 307 90 0746 -19
123
21 159 0746 -17
127 -381 174 0746 -14
128 -327 135 0746 -11
129 -448 67 0746 -21
132 -357 90 0746 -17
140 262 90 0746 -20
156 -216 54 0746 -23

_
RRR
RO
DK5EW W3SZ FN20DK5EW W3SZ FN20
LX/PA3FPQ W0HP
73
RRR
73
DL8EBW UA9HK MO99
RO
RK3WWF SV8CS KM07
WA8RJF K6MYC DM07 OOORRRCQ AA1YN FN43
RO
RO
CQ N0AKC EN44

H
V

H
V
H
V
H

MAP65 does a quick decode at the selected QSO frequency before processing the
wideband data. At program startup the QSO frequency defaults to the center of thedisplayed region, in this case 144.125 MHz. Nobody was transmitting an EME signal at
144.125 at 0746 UTC on November 11, 2007, so in the main text window you should
see a single line indicating that no JT65 signal was found at the selected QSO
frequency at 0746:
125

0746

Quick decodes can be done at other frequencies by clicking on the desired frequency inthe waterfall and then on Decode, or simply double-clicking on the desired frequency.
Either action resets the QSO frequency and then invokes the quick decoder. Note thatyou can click to select a signal on either the upper (wideband) or lower (zoomed)waterfall.
Double-click on the upper waterfall at each of the frequencies 101, 103, 110, 111, 114,
116, 118, 123, 127, 128, 129, 132, 140, and 156. Your main text window should now
look something like the following:

12Freq DF Pol UTC
1250746
101 113
0 0746103 155 135 0746
103 360 152 0746
103 471 58 0746
110 321 56 0746
110 485 135 0746
111 -17 90 0746
114 367 135 0746
116 218 167 0746
118 307 90 0746
123
21 159 0746
127 -381 174 0746
128 -327 135 0746
129 -448 67 0746
132 -357 90 0746
140 262 90 0746
156 -216 54 0746

DTdB

2.3 -19
1.9 -13
0.3 -5
2.8 -21
2.9 -18
1.9 -14
2.3 -17
1.9 -6
1.8 -23
2.3 -19
2.9 -17
2.4 -14
1.9 -11
2.8 -21
2.1 -17
2.3 -20
3.4 -23

RRR
RO
DK5EW W3SZ FN20DK5EW W3SZ FN20
LX/PA3FPQ W0HP
73
RRR
73
DL8EBW UA9HK MO99
RO
RK3WWF SV8CS KM07
WA8RJF K6MYC DM07 OOORRRCQ AA1YN FN43
RO
RO
CQ N0AKC EN44

0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
152 H
58 V
0
0
0
0
24 H
0
86 V
147 H
0
61 V
0
0
40 H

You might be interested to see specific examples of the difference between singlepolarization and dual-polarization reception. A single-polarization version of theexample data file can be downloaded from the following link:
http://physics.princeton.edu/pulsar/K1JT/061111_0746.iq.zip. Download anddecompress this file to produce a file named 061111_0746.iq. It contains exactly thesame data as the dual-polarization file 061111_0746.tf2 for horizontal polarization, butdata from the vertical receiver has been removed. Hit the F2 key to open the Options
window, and uncheck the Xpol box. Select Erase Band Map and Messages on theFile menu, to clear those windows; then select File | Open, navigate to the directory
where you extracted the file 061111_0746.iq, and open it. After a few seconds thefollowing text should appear in the Messages window:
Freq DF Pol UTC dB
103 155
0 0746 -14354
0 0746 -6
110 324
0 0746 -22485
0 0746 -14
114 367
0 0746 -7
116 218
0 0746 -23123
21
0 0746 -17
127 -381
0 0746 -14
128 -327
0 0746 -16
132 -357
0 0746 -21
156 -216
0 0746 -25_
RO
DK5EW W3SZ FN20
LX/PA3FPQ W0HP
73
73
DL8EBW UA9HK MO99
RK3WWF SV8CS KM07
WA8RJF K6MYC DM07 OOO
RRRROCQ N0AKC EN44

Now only 10 EME transmissions are copied, compared with the 16 that were copiedwith adaptive polarization. (The transmission copied here from W3SZ is his terrestrial
signal, not the EME signal.) This example is typical, but certainly not extreme. On 144
13

and 432 MHz, a receiver with adaptive polarization capability can double the number of
EME signals copiable at any particular time. For signal levels close to the decoding
threshold, the ratio is even higher.

If you are an experienced user of WSJT and its JT65 mode, you should now know
enough to use MAP65 effectively. If you don’t have such experience, be sure to readAppendix B of this manual and the following documents:
http://physics.princeton.edu/pulsar/K1JT/WSJT_User_600.pdf
http://physics.princeton.edu/pulsar/K1JT/WSJT_9.0_Supplement.pdf
http://physics.princeton.edu/pulsar/K1JT/JT65.pdf

Additional Features and Options
File: The File menu provides access to previously recorded wideband data. Functions
are also provided for deleting all *.tf2 and *.iq files in the Save sub-directory, erasing theBand Map and Messages windows, and erasing the log files map65_rx.log andmap65_tx.log.

14

Setup: The Setup menu offers a number of functions in addition to those alreadydescribed.

On the Colors tab of the Setup | Options screen (screen shot on next page) you canselect any desired scheme for background and foreground colors in the Band Map andMessages windows. Colors are specified in RGB (red, green, blue) format, on a scaleof 0 (dark) to 255 (brightest) for each color. Experiment with these settings for bestvisibility and contrast in the rectangular color patches at right.

15

Setup | Adjust I/Q Calibration: When MAP65 acquires input directly (i.e., without
using Linrad or SDR-Radio as an intermediary) you may need to apply amplitude andphase calibrations to achieve adequate opposite-sideband rejection. To accomplish thistask, have MAP65 running in the usual way. Check 2D Spectrum on the Wide Graphwindow, which causes the lower (zoomed) waterfall to be replaced by a spectral plot.
Reduce the value of N Avg to 2, and introduce an unmodulated test signal strong
enough to produce a narrow spike 2-3 cm high in the spectral plot. Click on this spike,thus marking it with a green tick on the upper and lower frequency scales. A red tick willappear at the image frequency, an equal distance on the other side of the zerofrequency bump. You will probably see a signal at the image frequency, perhaps
something like 35 dB down from the main signal (roughly 1/3 its height). Select Adjust
I/Q Calibration on the Setup menu. In a few seconds a message will appear in the
decoded text window showing the relative amplitudes and phase errors (in radians) of
the I and Q channels. Finally, check Apply I/Q Calibration on the Setup menu. The
image signal should disappear, attenuated by at least 60–70 dB relative to the test
signal.
Setup | Find Delta Phi: A dual-polarization system will ideally have matched phaseshift and delay in the X- and Y-channel hardware, including amplifiers, conversion
stages, and feed lines. This condition is seldom the case in practice, but it’s easy tocompensate by means of a software calibration. Find a reasonably strong EME signal
with roughly the same strength in the X and Y channels. (If your antenna is mounted in
the “+” configuration, with horizontal and vertical elements, such a signal will havepolarization angle around 45ºor 135º.) Activate Deep Search decoding (see theDecode menu, below) and double-click on this signal in the waterfall, making sure thata normal (not shorthand) message is decoded properly with both the Koetter-Vardy andDeep Search algorithms. Select Find Delta Phi on the Setup menu, and MAP65 willthen find the best-fit value of phase shift, Dphi. It’s best to repeat this procedure withseveral signals, making sure you get results that are consistent to within ± 20 degrees
or better. Enter the average value of Dphi on the Station tab of the Setup | Options
screen.
View: The View menu lets you redisplay any of the secondary program windows, incase you have deleted them, and allows you to choose different color palettes for thewaterfalls.

16

Decode: The Decode menu provides controls that adjust behavior of the JT65
decoder.

Save: Choose Save All on this menu to record wideband data for future use.
(Remember that the data rate is about 20 MB/minute for a single-polarization system
and 40 MB/minute for dual-polarization!)17

Help: Choose Online User’s Guide or hit F1 to display the MAP65 User’s Guide (thedocument you are now reading) in your browser. Choose About MAP65 or hit CTRLF1 to see a brief message about MAP65 and its copyright information. The remaining
items on this menu have yet to be implemented.

Astronomical Data: This window displays the current UTC date and time, the azimuthand elevation of the moon and sun at your location (and of the moon at the DX station’s
location), the EME Doppler shift of your own echo and of the DX station, declination of
the moon, sky background temperature in direction of the moon, worst-case nonreciprocity of the EME path in dB, and the approximate path degradation from ideal
EME conditions. You may select a desired font size for this window on the Setup |Options | Station tab.

18

Appendix A: Installed and Generated Files
After installing MAP65 as described in steps 1–3 on page 5, the following files will bepresent in the installation directory:
afmhot.dat
blue.dat
CALL3.TXT
fftwf-wisdom.exe
fftwf_wisdom.dat
kvasd.exe
m65.exe
map65.exe
qthid.exe
saveunins000.dat
unins000.exe
wisdom1.batwisdom2.bat
wsjt.ico

Data for AFMHot palette
Data for Blue paletteCallsign database
Program for FFT optimizations
Results of running fftwf-wisdom.exe
Koetter-Vardy decoder
Slave program, controls all decoding steps
Master MAP65 program
Slave program for configuring FUNcube
Directory for saved files of wideband data
Data for uninstall utility
Default uninstall program
Batch file to run short FFT optimizations
Batch file to run long FFT optimizations
WSJT icon

In addition, the following *.dll support files will have been installed in your system
directory, typically C:\Windows\System32 on a Windows system:
libfftw3f-3.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
libusb0.dll
mingwm10.dll
palir-02.dll
QtCore4.dll
QtGui4.dll
QtNetwork4.dll
QtSvg4.dll
qwt.dll

19

You might be curious about additional files that appear in the MAP65 installation
directory after using the program for a while. These include:
kvasd.dat
livecq.txt
map65.ini
map65.log
map65_rx.log
map65_tx.log
prefixes.txt
timer.out
tmp26.txt

Data for the Koetter-Vardy decoder
Information for web-based “LiveCQ” display
Saved configuration parameters
Log file for decoder diagnostics, etc.
Log of all decoded messages
Log of all transmitted messages
List of available add-on DXCC prefixes
Profile showing times in decoder routines
Intermediate file used by decoder

Appendix B: The JT65 Protocol
A detailed description of the JT65 protocol was published in QEX for SeptemberOctober, 2005 (see http://physics.princeton.edu/pulsar/K1JT/JT65.pdf). Briefly stated,
JT65 uses 60 s T/R sequences and carefully structured messages. Standard
messages are compressed so that two callsigns and a grid locator can be transmittedwith just 71 bits. A 72nd bit serves as a flag to indicate that the message consists ofarbitrary text (up to 13 characters) instead of callsigns and a grid locator. Special
formats allow other information such as callsign prefixes (e.g., ZA/PA2CHR) or
numerical signal reports (in dB) to be substituted for the grid locator. The aim of source
encoding is to compress the common messages used for EME QSOs into a minimum
fixed number of bits. After compression, a Reed Solomon (63,12) error-correcting code
converts 72-bit user messages into sequences of 63 six-bit channel symbols.
JT65 requires tight synchronization of time and frequency between transmitter andreceiver. Each transmission is divided into 126 contiguous time intervals or symbols,
each of length 4096/11025 = 0.372 s. Within each interval the waveform is a constantamplitude sinusoid at one of 65 pre-defined frequencies, and frequency changes
between intervals are accomplished in a phase-continuous manner. Half of the channel
symbols are devoted to a pseudo-random synchronizing vector interleaved with theencoded information symbols. The sync vector allows calibration of relative time andfrequency offsets between transmitter and receiver.
A transmission nominally begins at t = 1 s after the start of a UTC minute and finishes at
t = 47.8 s. The synchronizing tone is at 11025*472/4096 = 1270.5 Hz, and is normallysent in each interval having a “1” in the following pseudo-random sequence:20100110001111110101000101100100011100111101101111000110101011001
101010100100000011000000011010010110101010011001001000011111111
Encoded user information is transmitted during the 63 intervals not used for the sync
tone. Each channel symbol generates a tone at frequency 1275.8 + 2.6917 Nm Hz,
where N is the value of the six-bit symbol, 0 ≤ N ≤ 63, and m is 1, 2, or 4 for JT65 submodes A, B, or C. The signal report “OOO” is conveyed by reversing sync and data
positions in the transmitted sequence. Shorthand messages dispense with the sync
vector and use intervals of 1.486 s (16,384 samples) for the alternating tones. The
lower frequency is always 1270.5 Hz, the same as that of the sync tone, and thefrequency separation is 26.92 nm Hz with n = 2, 3, 4 for the messages RO, RRR, and73.

Appendix C: Astronomical Calculations
MAP65 carries out a number of astronomical calculations to provide tracking data forthe sun and moon, Doppler shifts for EME signals, sky background temperatures, etc.
You may find it useful to know something about the nature and accuracy of thesecalculations.
The state of the art for establishing three-dimensional locations of the sun, moon, andplanets at a specified time is embodied in a numerical model of the solar system
maintained at the Jet Propulsion Laboratory. The model has been numericallyintegrated to produce tabular data that can be interpolated with very high accuracy. For
example, the celestial coordinates of the moon or a planet can be determined at a
specified time to within about 0.0000003 degrees. Although the ephemeris tables andinterpolation routines could easily be incorporated into MAP65, the accuracy provided
would be overkill for our desired purposes. Instead, MAP65 uses closed-form
calculations based on a limited number of harmonic terms fit to the high-accuracy data.
The precise algorithms used for solar and lunar positions were developed by Van
Flandern and Pulkkinen (Astrophysical Journal Supplement Series, 44, 391–411, 1979).
Series expansions from this paper yield accuracies of about 0.02 and 0.04 deg for thesun and moon positions, respectively, and they will remain almost this good for nearly athousand years. At this level of accuracy the effects of nutation and aberration can beignored, as can most of the smaller planetary perturbations. (Perturbations involving theMoon, Jupiter, Saturn, and Uranus are included, however.) Ephemeris Time andUniversal Time are taken as equivalent, and the time steps associated with leap
seconds are ignored. These and all other approximations employed are consistent withthe specified accuracy level.
The coordinates displayed for the sun are geocentric. Since the moon is much closer
its diurnal parallax is significant, and therefore topocentric coordinates are given for yourspecified location. For both sun and moon, the listed elevation is the apparent positionof the center of the disk.
21

To improve the accuracy of predicted Doppler shifts of EME signals, a larger number ofterms was used in the series expansion for lunar distance. MAP65 properly accounts
for the oblateness of the Earth when establishing locations relative to the Earth’s center.
Final accuracy of the Doppler shifts computed by MAP65 is better than 1 Hz at 10 GHz,and this has been confirmed by direct comparison with a calculation based on the JPL
ephemeris.
Sky background temperatures reported by MAP65 are derived from the all-sky 408 MHz
map of Haslam et al. (Astronomy and Astrophysics Supplement Series, 47, 1, 1982),
scaled by frequency to the (–2.6) power. This map has angular resolution of about 1
degree; most amateur EME antennas have much broader beamwidths than this, so thedata have been smoothed to 15-degree resolution.

Appendix D: Source Code
MAP65 is an open-source program released under the GNU General Public License.
Source code is available from the public repository at
http://developer.berlios.de/projects/wsjt/. To compile the program you will need to install
open source packages for Subversion, QtSDK, qwt, g++, and g95 or gfortran. The fullsource code may be downloaded by using the commandsvn co svn://svn.berlios.de/wsjt/branches/map65 map65

22