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.

  On Friday the 16th October the WSPR (Whisper) Beacon V53ARC startet to transmit. With local assistance of Wolfgang, V51WG and Karl Heinz, V51KH we installed the beacon and the antenna on... 

  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... 

    This is the second time this has happened in the six weeks or so I've been running WSPR receive-only from home, using a small magnetic loop antenna parked next to my ocean-facing... 

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...