4520

Low cost (20 €) simulator for weather and warning messages broadcasted by Deutsche Wetterdienst. Used as a tool to develop DWD message receivers and decoders. Support for RTTY and NAVTEX message formats. Arduino Uno based sketch and simple terminal program user interface.

Relocating from southern Germany to Hamburg, my first electronics project had to had a maritim touch: 
I decided to built a receiver for messages sent by Deutsche Wetterdienst (DWD) in Pinneberg.

DWD sends RTTY messages via its DDH47 radio transmitter at 147.3 KHz and NAVTEX messages using SITOR-B encoding every couple of hours at 490 KHz (German) and 518 KHz (English).

For this project I needed a reliable signal source for testing the receiver hardware and decoder software. Some time ago I had ordered a couple of low cost AD9850 DDS modules from China. In combination with an Arduino Uno the 20€ hardware was setup in no time.

The key element is the Arduino sketch. 
It provides the user interface, generates the message formats and drives the frequency settings of the DDS module. The DWD Arduino sketch provides the following functions:

1. DDH47 test message at 147.3 KHz +/- 42.5 Hz FSK using RTTY Baudot code with 50 baud rate.

2. NAVTEX test messages at 490 KHz in German and at 518 KHz in English using SITOR-B format and 7-bit CCIR 476 character set encoding with 100 baud rate.

3. AUDIO 1.5 KHz - FSK shift, message format and baudrate as defined by either DDH47 or NAVTEX mode; useful to test at audio level and to verify message formats with programs like JVComm.

4. User-defined center frequency and frequency shift, message format and baudrate as defined by either DDH47 or NAVTEX mode.

5. Sending digital test patterns:
         - 0 (space) frequency
         - 1 (mark) frequency
         - 1110000
         - 0000001
         - 1111110
         - 1010101
         - 10101010101010

6. The messages can be repeated r times by setting the r factor

A simple terminal program, e.g. PuTTY is used to enter the simulator commands. 
The DDS module provides a output level of approx. -5.5 dBm. For receiver tests, I use a 50 dB attenuator.