Multi-band DDS WSPR Signal Source
A PC-less multi-band DDS WSPR signal source using a Microchip 16F628A PIC and an American QRP Club DDS-60 VFO
Features:
- 6 thru 160 meter operation
- Single band operation or transmit scanning
Gene Marcus W3PM GM4YRE
16 February, 2009
Acknowledgements:
Johan Bodin, SM6LKM was the inspiration for
this project. His work using an AD9850 DDS chip demonstrated that a
WSPR transmission using a DDS device was possible. Prior to reviewing
his work, I believed that DDS chips were not capable of providing a
continuous phase signal necessary for WSPR transmissions.
The band
changing portion of the software was influenced by PEGen60b.asm,
authored by Curtis W. Preuss,WB2V, and modified by Bruce Stough, AAED
and Craig Johnson, AA0ZZ.
Introduction
The purpose of this paper
is to describe the foundation for a user customized PC-less multi-band
WSPR transmitter. It is not intended to be a step by step construction
project.
This is an on-going open ended project that would benefit
from refinements such as GPS NMEA data streaming for UTC
synchronization, an embedded calibration routine, LCD frequency
display, tailored band scan selection, and randomized transmit times
within a selected Tx percentage window.
DDS WSPR Controller
The controller provides four sets of outputs:
-
DDS-60 data, load, and clock signals that are connected to the corresponding inputs of the DDS-60 circuit board.
-
Four
BCD signal lines are used to reflect the selected band number. These
lines may be used to select the appropriate amplifier/filter for
transmission or may also be used to drive a CD4028 BCD-to-decimal
decoder.
-
Scan LED. This line goes high (+ 5V) to indicate when the controller is in the transmit scan mode.
-
Transmitter
keying. This line goes high (+ 5V) when in transmit to key the
transistor driver. The DDS-60 continuously outputs RF on the selected
band. The TX line is used to turn on an amplifier during transmit.
A
1 PPS GPS output is applied to external interrupt pin RB0 of the
16F628A PIC. This signal provides the precise timing necessary for the
two and ten minute timing loops that provide transmit start times.
WSPR
symbol timing is based upon the 16F628A’s external 4 MHz crystal
oscillator. If necessary, this oscillator can be adjusted to nominal by
the careful selection of the crystal loading capacitors or by the use
of a small value variable capacitor. Symbol timing may also be software
adjusted by adjusting the delay in the 680 mSec timing loop.
Fig. 1 AD9851 WSPR Controller using a Microchip 16F628A
DDS-60 VFO
The DDS-60 VFO is a self-contained functional module that
generates a good-quality RF signal from 1-60 MHz by using a small pc
board to contain just the bare DDS essentials - an Analog Devices
AD9851 DDS chip, a clock oscillator, a 5th-order elliptic filter and an
adjustable-level RF amplifier. Additional information for this board
may be found at: http://amqrp.org/kits/dds60/index.html.
Spurious
emissions on all bands were measured to at least 30 dB below the mean
power of the fundamental emission on all bands. This meets FCC Section
97.307 for a transmitter of mean power less than 5W. This allows the
user to simply connect the DDS-60 directly to an antenna and use the
controller's TX port to key the AD8008 amplifier for low power beacon
operation.
The board is designed with the 30 MHz reference oscillator chip mounted on the opposite side of board from the AD9851 DDS chip. The heat generated by the DDS chip tends to aid frequency stability. However, the constant changing of frequency data during a WSPR transmission caused a small heat increase that resulted in a slight short term frequency drift. I resolved this problem by attaching a heat sink to the AD9851 with epoxy glue. A small amount of drift still remains, resulting in periodic -1 Hz drift reports. An external temperature controlled precision reference oscillator would provide the best solution to this problem. It would also eliminate the requirement to provide frequency correction factors to the band table as discussed later in this paper.
Fig. 2 DDS-60 Schematic
Initial Set Up
Symbol Table
The station callsign, gridsquare locator, and
power level are contained within a symbol table consisting of 162
symbols plus one end-of-table flag. The symbols consist of digits
ranging from 0 to 3. The 162 data symbols for W3PM, EM64, 10 mW are
preloaded in the first table found in the DDS_WSPR.asm file. The 163rd
symbol is an end-of-table flag.
To generate a data file containing 162 symbols with the user's
station information, first download an early WSPR DOS version located
at:
http://physics.princeton.edu/pulsar/K1JT/WSPR.EXE.
Refer to instructions at the end of this file:
http://physics.princeton.edu/pulsar/K1JT/WSPR_Instructions.TXT
Example:
Generate a message for W3PM at EM64 running one watt output and redirect the output to the text file w3pm_1watt.txt:
C:\WSPR> WSPR Tx 0 0.0015 0 W3PM EM64 30 11 > w3pm_1watt.txt
Then open the file msg.txt and extract the 162 message digits from the second column.
Band Table
Each band entry is four instructions log,
with each group of four literals representing the frequency as a 32 bit
integer. Band table entries for the center frequency of each WSPR band
are pre-loaded into the DDS_WSPR.asm file. Each band entry is
calculated as follows:
Band entry = (Frequency in Hz) * (2^32) / Clock frequency in Hz
Example:
Desired frequency for 30 meters = 10.1402 MHz
DDS-60 clock frequency = 180 MHz (30 MHz clock * 6)
Band entry for 10.1402 MHz = (10.1402 * 10^6) * (2^32) / (180 * 10^6)
= 241954597 (rounded to nearest integer)
= 0E 6B EF 25 Hex
If an external reference oscillator precisely calibrated to 30
MHz is used, no further calculation is required for band table entries.
If the stock board mounted clock is used with the DDS-60, calibration
factors will be necessary for each band.
Band Table Calibration Factors
Due to frequency
uncertainty of the DDS-60 reference oscillator, a calibration factor
will have to be algebraically added to each band table entry.
After
a sufficient warm-up period, connect the DDS-60 to a frequency counter
and annotate the indicated frequency for each band. Determine the
frequency difference in Hz from your desired frequency and the measured
frequency.
Frequency correction factor = Frequency delta (Hz) * (2^32) / Clock frequency (Hz)
Example:
Desired frequency = 10.140200 MHz
Measured frequency = 10.139654 MHz
DDS-60 clock frequency = 180 MHz (30 MHz clock * 6)
Frequency delta = 10.140200 MHz - 10.139654 MHz = 546 Hz
Frequency correction factor = Frequency delta (Hz) * (2^32) / Clock frequency (Hz)
= 545 * (2^32) / (180 * 10^6)
= 13004 (rounded to nearest integer)
= 32 CC Hex
Calibrated band table entry = Current band table entry + Frequency correction factor
= 0E 6B EF 25 Hex + 32 CC Hex
= 0E 6C 21 F1 Hex
Default Band
This is the band the DDS-60 begins
transmitting on upon initial synchronization. The software is set up to
use 30 meters as the default band. This may be changed in the
"Initialize memory" section of the software.
Operation
After the controller is first turned
on, initial synchronization begins by depressing the reset pushbutton
at the beginning of an even minute. The unit will immediately begin a
WSPR transmission on the default band and repeat the transmission every
10 minutes.
To change bands, simply depress the band select
pushbutton. Each time the pushbutton is pressed the DDS-60 will
increment to the next higher band and will begin transmitting on the
next 10 minute transmit cycle. The pushbutton is only active between
WSPR transmissions.
To begin a band scan, hold the band select
pushbutton down while depressing the reset pushbutton at the top of an
even minute. The DDS-60 will begin transmitting on the default band + 1
at the next even minute. At the end of each 112.6 second transmission
it will increment the band selection and begin transmitting on even
minutes until the reset button is once again depressed.
I may be contacted at 'W3PM at amsat dot org' for any questions or comments.






A PC-less multi-band DDS WSPR signal source using a Microchip 16F628A PIC and an American QRP Club DDS-60 VFO
Features:- 6 thru 160 meter operation
- Single band operation or transmit...
Review
Since October 16th 2009 our beacon has been working without any problems in the central city of Windhoek. We have received reports from all over the world, for example from Ernie...
Introduction
The WSPR Beacon V53ARC was developed and built by Gernot Frauscher, OE1IFM (see picture). On his website www.oe1ifm.at
in the menu “WSPR Beacon Project“, the setup and...