The Features of Spark at a Glance
Figure 1 shows a schematic of the input and output capabilities of Spark. The software is designed to allow for maximum flexibility. Each input and output device can be configured individually making Spark a powerful software-defined radio (SDR) application. In the following, the main capabilities of Spark will be briefly explained.
Fig. 1 Schematic of Spark's input and output capabilities (from left to right).
Multi-Standard Content Management
The content manager of Spark is split into a stream and service part for the different analog and digital broadcast standards.
- DRM/DRM+: Spark supports various different audio and data modes and up to four streams and services. The broadcast can either be transmitted via OFDM output or via MDI over ethernet.
- AM/AMSS: Spark provides different input devices and modulation options for analog audio broadcasting. For AM data services, Spark can encode various service information as defined in the specification.
- FM/RDS: As far as FM is concerned, Spark includes a complete FM multiplex generation engine, which combines pre-processed stereo audio including RDS.
Audio Input Sources
For digital and analog broadcast modes, the audio input signal can be acquired by the following input devices:
- Live audio via line and mic. soundcard input (with sample clock correction)
- MP3 playlist
- WAV file
- Your custom native device (more information)
DRM Audio Codecs
For the analog radio standards FM and AM no audio encoding is required. For the digital audio standard DRM, Spark supports xHE-AAC audio encoding where either the free AAC encoder FAAC or a licensed version of the xHE-AAC encoder from Fraunhofer can be used. In summary, Spark can be used to broadcast:
- Up to 4x standardized AAC monaural audio in DRM+ mode and DRM 30 mode
- Up to 4x standardized HE-AAC audio for DRM30 and DRM+ (license required)
- Up to 4x standardized xHE-AAC audio for DRM30 and DRM+ (license required)
- Up to 4x proprietary CELT audio in DRM+ mode (deprecated)
The full-featured HE-AAC encoder supports Spectral Bandwidth Replication (SBR) and Parametric Stereo (PS), making the audio signal sound better at lower bitrates as compared to the FAAC encoder. Every audio stream can be equipped with a text message carousel to which you can add your text messages and which can be reconfigured during transmission directly or over network using the Spark Remote Client which is part of your Spark installation.
DRM Data Services
For DRM broadcasts, the following data services can be used:
- MOT slideshow: Spark enables you to cyclically transmit a set of pictures in a slideshow stream (see ETSI TS 101 499).
- MOT website: Another data stream option is to transmit your website content via Spark (see ETSI TS 101 499).
- PRBS: Transmission of a PRBS to evaluate the bit-error robustness of a DRM/DRM+ receiver (see ETSI TS 102 349).
For analog FM radio, RDS Radio Text is supported as well as station label signaling and the transmission of program information. In AM/AMSS mode the service label and other sideband information can be transmitted.
Multi-Standard Signal Output
Spark can be configured to generate the following digital radio signals:
- DRM OFDM: The "classical" DRM OFDM signal in all different spectral modes for DRM 30 and DRM+.
- DRM MDI: A DRM multiplex packet stream distributed via the multiplex distribution interface (MDI).
- AM AMSS: An amplitude modulated (AM) signal including the amplitude modulated signaling system (AMSS) for service information.
- FM RDS: A frequency modulated (FM) stereo signal using the radio data system (RDS) for service information.
The user can choose between the different output devices, wheras each of the devices can be arbitrarily configured in terms of sample resolution, amplification gain, I/Q or real output and sample rate:
- Line output with up to 192 kHz via soundcard
- UDP packet stream
- WAV file
- DAQmx devices from National Instruments (analog and digital)
- USRP output (Universal Software Radio Peripheral, http://www.ettus.com/) - Windows and Linux
- Your Native Output Device (more information) via C++ interface
DRM-OFDM Signal Processing
Regarding the signal output for DRM, Spark supports several methods to process the signal for broadcasting and receiver testing, such as:
- Spectral Filtering: Spark supports spectral shaping of the OFDM signal by a build-in sideband suppression filter, which can be parametrized by the user. Optionally, user generated FIR filter coefficients can be supplied by a file.
- IF Generation: IF modulation and spectral inversion can be applied to the output signal.
- Samplerate Conversion: The OFDM output signal will be automatically up-converted to a higher output sample rate by a build in polyphase resampler. Thus, a DRM 30 signal can be generated at a non-integer fraction of the system rate, e.g. 1024 MS/s or higher.
- PAPR Reduction: The software includes two algorithms for peak-to-average power ratio (PAPR) reduction namely soft-clipping and peak-windowing. Both methods can be fully configured and adopted in terms of SNR loss and PAPR gain.
- AWGN Generation: The user can use the internal generator for additive white gaussian noise (AWGN) on the OFDM carriers, where the noise variance, i.e. the noise power on the OFDM carrier, can be specified in dBc by a signal-to-noise ratio (SNR).
Spark implements the multiplex distribution interface over UDP on the PFT layer and the AF layer, respectively. Hence, Spark can be used as a low-cost content provider by sending the DRM multiplex using a simulcast or multicast UDP packet stream. The MDI packet stream can be received and modulated by the MDI client modulator which is included in the licensed version of Spark. Please watch this video to get an impression of the MDI capabilites of Spark.
In Spark an audio stream can also be used for generating an Amplitude Modulation (AM) signal or, optionally, a signal using the Amplitude Modulation Signalling System (AMSS).
AMSS allows to transmit service information such as the station label by phase modulation of the AM carrier. For more information on AMSS, please refer
to this site on Wikipedia.
Spark enables you to generate a Very High Frequency (VHF) compatible Frequency Modulated (FM) stereo signal including an encoded Radio Data System (RDS) signal. The software comprises peak frequency deviation monitoring as well as average frequency deviation monitoring to adjust your audio signal to the regional constraints of your broadcast environment. Additionally, Spark allowes you to choose between modulated FM signal output or unmodulated FM multiplex output.
Professional RF devices for Multi-Standard Digital Radio
Universal Software Radio Peripheral (USRP) from ETTUS
The USRP is a complete SDR solution with 14-bit digital-to-analog converters (DAC) to transmit DRM+/FM/AM and DRM30. The Windows and Linux version of Spark supports the WBX, Basic Tx and LFTX daugtherboards which allow for direct RF transmissions from DC to 2.5 GHz. Together with Spark the USRP makes the perfect multi-standard testing peripheral.
The USRP is connected to Spark via USB as shown in Figure 2.
Fig. 2 Spark in combination with the USRP.
Spark can synchronize the system reference time using the following time sources:
- CMOS: If CMOS is selected, Spark will use the system time of the OS as a reference. This is the simplest way of time acquisition
- GPS: When connecting the Firefly 1A GPS receiver to Spark, the GPS timestamps from this module will be used for time evaluation and PPS acquisition. This device can also be used together with the Ettus USRP to build a GPS disciplined network, i.e. a Single-Frequency Network (SFN).
- NTP: The time in Spark can also be synchronized by using the Network Time Protocol (NTP). Spark contains a redundant NTP client which allows to set a primary and secondary NTP reference.
Professional RF devices for Spark
DiRaGen 30 USB from NTI
The DiRaGen USB shortwave exciter from NTI is a small but powerful device which was specifially designed to deliver a high analog output quality for DRM and AM broadcasting together with Spark. The modulator was designed to be remote-controlled via USB by the Spark modulator software. The device is depicted in Figure 3.
Fig. 3 DiRaGen 30 USB - Multimode Exciter for Spark
The DiRaGen 30 USB can be connected to your PC via USB and modulates the 12 kHz IF signal at your soundcard to any frequency between 130 kHz and 30 MHz in steps of 1 Hz. The IF signal is provided via the 3.5 mm stereo jack of the PC soundcard as shown in Figure 4.
Fig. 4 Spark and DiRaGen 30 USB.
Figure 5 shows the DiRaGen 30 USB together with the DAC 48 USB device, which was specifically designed to deliver the best SNR in combination with the DiRaGen 30 USB modulator. Both devices are connected to each other via a standard 3.5 mm stereo jack.
Fig. 5 Spark in combination with DAC 48 and DiRaGen 30 USB.
In order to run a real broadcast the RF signal can be amplified up to an RMS power of 100 mW by using the PostAmp 1-150 from NTI in combination with the DAC 48 and DiRaGen as shown in Figure 6. While the DiRaGen is connected to the DAC 48 via a standard stereo jack, the PostAmp 1-150 is connected to the DiRaGen via a BNC cable.
Fig. 6 Spark in combination with DAC 48, DiRaGen 30 USB and the PostAmp 1-150.
The Sat-Schneider DRM modulator comes in a 19 inch housing and includes a PC running Spark as well as an RF output device supporting a frequency range from 50 kHz to 28 MHz. The industry PC runs a hardened version of Ubuntu Linux on a compact flash card and can be remotely controlled via a VNC client. The RMS output power of the modulator is 0 dBm and the output signal meets the ITU spectrum mask requirements. This device was used for the DRM 30 field trials on 243 kHz in Kalundborg Denmark (video).
Fig. 7 Sat-Schneider DRM-Modulator
The Sat-Schneider DRM-Modulator contains an industrial PC board running Spark as shown in Figure 8.
Fig. 8 Spark running on the Sat-Schneider DRM-Modulator.
Professional Analog (DAC) Output
National Instruments Devices
Most soundcards are limited in their maximum output frequency, typically not more than 22 kHz. Hence, it is impossible to broadcast a DRM+ or an FM signal using the soundcard. Furthermore, it is challenging to meet the ITU sideband suppression requirements, e.g. for a DRM modulation stage. To overcome these limitations Spark is able to:
- Generate a real output signal on any intermediate frequency (IF) at sample rates of up to 2.8 MHz in realtime (video) with National Instruments hardware.
- Generate a complex baseband signal and feed it to an IQ modulator together with National Instruments hardware at sample rates of up to 1 MHz.
The signal flow for real or complex baseband output with NiDAQ hardware is depicted in Figure 8.
Fig. 8 Connecting Spark to an RF or an IQ modulator using NiDAQ hardware.
Professional Digital Output
National Instruments Devices
The modulated signal can also be given out over the 24 parallel digtal output lines of a National Instruments DAQmx card. By using the DAQ digital output you can use Spark to feed the baseband signal to an FPGA as Figure 9 shows. In this mode, your FPGA provides the sample clock for the Spark modulator which means that you can run Spark synchronized to your GPS clock. Thus, you can enable a Single Frequency Network (SFN) operation by external hardware synchronization.
Fig. 9 Connecting Spark to your PCB using the National Instruments digital output capability
Compatible National Instruments Devices
For analog and digital output all devices using the DAQmx driver software can be used.
Successfully tested National Instruments DAQ devices for analog (DAC) output:
- NI PCIe-6251(real and complex baseband)
- NI USB-6251 (USB device, real and complex baseband)
- NI PCI-4461 (Very high quality complex baseband, used as I/Q baseband generator for the DRM+ field trials in Kaiserslautern)