DRM Modulator Spark

A software modulator for Digital Radio Mondiale.

1 What is Spark?

Spark is a realtime software modulator for Digital Radio Mondiale (DRM) and DRM+ written by Michael Feilen.

It supports audio and data multiplex encoding and OFDM signal output on the soundcard, a wav. file via UDP and on National Instruments DAQ devices. The OFDM signal can be modulated up to 1.4 MHz in realtime on fast computers as long as your NI-DAQ card supports niDAQmx and high output sample rates. If you want the output signal to be filtered you can specify FIR filter coefficients in an ASCII file which will be used to postprocess the OFDM signal. If you want to stream the encoded multiplex data over an ethernet device using UDP, you can use the multiplex distribution interface (MDI). To decode the MDI data and modulate the multiplex content, maybe at a different location, spark includes an additional MDI client application. The audio input data for each stream can be read directly from the soundcard's line-input or optionally from a predefined wave file. Depending on your hardware you can specify different input sources for each AAC stream. Every AAC stream has its own text message queue to which you can add messages of approximately 128 characters for each message. These messages are sequentially transmitted alongside the AAC stream.
For audio encoding Spark uses the free AAC encoder FAAC (mono, no SBR/PS) or a licensed version of the DRM-AAC plus encoder from Coding Technologies which fully supports all DRM AAC modes at very high quality. The MDI client decodes the AAC streams using the FAAD library which supports SBR, PS and a transform length of 960 samples per AAC frame.
The OFDM output was successfully tested by the Fraunhofer Softwareradio v4.0.4, the DIORAMA software receiver and the DREAM software receiver version 1.1.4. The MDI interface and MDI transmitter application was tested with the Fraunhofer (FhG) Softwareradio.

2 Features

Spark supports all code rates, bandwidths and robustness modes (A, B, C, D, E) published in the DRM standard. The user can choose between the following MSC mapping schemes: Standard Mapping (4, 16 and 64 QAM), Symmetrical Hierarcical Mapping, Mixed Hierarchical Mapping.

2.1 Free version (non commercial)

Modes:

  • DRM 30 (A, B, C, D)
  • DRM + (E)

Input:

  • AAC (FAAC and AAC+) including text messages
  • MOT slideshow
  • MOT broadcast website
  • PRBS as defined in the ETSI RSCI specification.

Output:

  • Line out
  • Wave file
  • National Instruments DAQ
  • I/Q via UDP

MDI

Spark fully supports the Multiplex Distribution Interface (MDI) over UDP in Simulcast as well as Multicast enviroments.

2.2 Licensed version

The licensed version of Spark contains a variety of broadcast features which are:

  • Linux support
  • Parameter loading and saving
  • Auto NTP time synchronization
  • Crash handling
  • Text message reconfiguration
  • MDI client functionality
  • OFDM predistortion
  • DDS support over RS232

The licensed version of Spark is running under Linux in Denmark as stable workhorse for the longwave transmitter in Kalundborg.
If you are interested in the licensed version, please contact us.

3 Spark Screenshots

Spark main window
(Spark main window)

Spark multiplex configuration
(Spark multiplex configuration)

Spark OFDM output window
(Spark OFDM output window)

Spark time synchronization
(Spark time synchronization)

Spark MDI client
(Spark MDI client)

4 Download

Latest version of Spark vE1.70 (25.06.2007) is available on request.

Name:
E-mail address:
What do you
use Spark for:
Top-Pfeil to the top

Valid HTML 4.01 Transitional