Difference between revisions of "Introduction on DAB/DAB+"

From OpenDigitalRadio
Jump to navigationJump to search
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
DAB, DAB+ and T-DMB European digital radio and mobile television standards share the same transmission system. It based on [http://en.wikipedia.org/wiki/Orthogonal_frequency-division_multiplexing OFDM] modulation and uses 1.5MHz of spectrum in VHF television band 3 (or L-band in SHF). A transmitter is broadcasting a set of programs, called a multiplex. The system has been designed for mobile use and is robust up to 300km/h.
+
==Introduction==
 +
DAB, DAB+ and T-DMB European digital radio and mobile television standards share the same transmission system. It's based on [http://en.wikipedia.org/wiki/Orthogonal_frequency-division_multiplexing OFDM] modulation and uses 1.5MHz of spectrum in the VHF television band 3 (or L-band in SHF). A transmitter is broadcasting a set of programmes, called a multiplex or ensemble. The system has been designed for mobile use and is robust up to 300km/h.
  
With the development of the '''mmbTools''' by [http://mmbtools.crc.ca CRC] and opendigitalradio, it is now possible to run a full transmission infrastructure on a laptop running linux and using a [http://en.wikipedia.org/wiki/USRP USRP] as [[RF]] hardware (with [[wikipedia:gnuradio|gnuradio]]) or any other similar device.
+
With the development of the '''mmbTools''' by [http://mmbtools.crc.ca CRC] and opendigitalradio, it is now possible to run a full transmission infrastructure on a laptop running Linux and using a [http://en.wikipedia.org/wiki/USRP USRP] as [[RF]] hardware (with [[wikipedia:gnuradio|gnuradio]]) or any other similar device.
  
The transmission chain can be divided in 4:  
+
The transmission chain can be divided in 4 parts:
*The encoding: encoding the sound to [[wikipedia:MPEG-1 Audio Layer II|MPEG-2 Layer II]] for DAB, [[wikipedia:High-Efficiency Advanced Audio Coding|MPEG-4 HE-AACv2]] for DAB+ or video in MPEG-4 H.264 for T-DMB.
+
*The '''Encoder''' encodes the audio source to [[wikipedia:MPEG-1 Audio Layer II|MPEG-2 Layer II]] for DAB, [[wikipedia:High-Efficiency Advanced Audio Coding|MPEG-4 HE-AACv2]] for DAB+ or video in MPEG-4 H.264 for T-DMB.
*The Multiplexer: gather different streams, produce necessary signalling and output a single 2Mbit/s stream in ETI format ([[Ensemble Transport Interface]]).
+
*The '''Multiplexer''' gathers different streams, produces necessary signalling and outputs a single 2048kbit/s stream in ETI format ([[Ensemble Transport Interface]]).
*The Modulator: take the ETI stream and produce the complex [[wikipedia:baseband|baseband]] OFDM signal ready for upconvert at the desired radio frequency.
+
*The '''Modulator''' takes the ETI stream and produces a complex I/Q [[wikipedia:baseband|baseband]] OFDM signal ready for up-conversion to the desired radio frequency.
*The [[RF]] transmission performed by the USRP using appropriate RF daughterboards (Basic TX or modified RFX400).
+
*The '''[[RF]] transmission''' is performed by the [[USRP]], a [[HackRF One]] or a similar device.
  
However thank to the modular approach from these tools it is possible to interface it with other implementations. If there's no other software OFDM DAB modulator implementation at the moment, for the encoding it is possible to re-use [[Toolame]] that is an implementation of MPEG-2 Layer II.
+
The ODR-Tools comprises two encoders: [[Toolame]] and [[fdk-aac-dabplus]]; it includes a multiplexer [[ODR-DabMux]] and a modulator [[ODR-DabMod]].
 +
 
 +
Thanks to the modular approach from these tools it is possible to interface them with other implementations and tools.
 +
 
 +
==How to get started==
 +
 
 +
===Prerequisites===
 +
 
 +
Let's say you want to learn about DAB transmission and set up a laboratory transmitter that you can use to experiment, gain better understanding, test ideas, evaluate receivers or do measurements.
 +
 
 +
A will need:
 +
 
 +
* Some Linux system knowledge.
 +
* A recent PC running Debian stable: http://debian.org
 +
* A [[USRP]] (B200, B100, USRP2 and USRP1 are tested to work. The others should be fine too, no guarantees.)
 +
* To read documentation:
 +
** Read http://en.wikipedia.org/wiki/Digital_audio_broadcasting.
 +
** Have a look at ETSI EN 300 401 to understand DAB better.
 +
** Maybe also ETSI ETS 300 799 defines the [[ETI]] interface between multiplexer and modulator.
 +
** Read the guide http://mpb.li/pub/mmbtools.pdf which is still a work in progress.
 +
** Read the pages about the ODR-mmbTools listed below.
 +
* To install the required tools on the Debian Linux PC. The [[Installer scripts]] will simplify this a lot.
 +
* Have a look at the example mux and mod configurations in the respective doc/ folders and in mmbtools-aux.
 +
* And of course, a DAB receiver.
 +
 
 +
=== Step-by-step ===
 +
 
 +
The best way to discover these scripts is to start step-by-step. Once you have installed the tools, work your way up from the encoder to the multiplexer, and finally to the I/Q modulator.
 +
 
 +
# Using [[fdk-aac-dabplus]], prepare one or more AAC-encoded .dabp audio files using some .wav files.
 +
# Create a configuration file for [[ODR-DabMux]], using [https://github.com/Opendigitalradio/ODR-DabMod/blob/master/doc/example.ini doc/example.mux] as a base. Use the .dabp files as input and limit the duration of the ETI file to a few thousand frames (a couple of minutes worth of data).
 +
# Using [[ODR-DabMux]] with this configuration, create a RAW ETI file containing your multiplex.
 +
# If you want, compile [[etisnoop]] and analyse the ETI file.
 +
# Use [[ODR-DabMod]] to modulate this ETI file and create an I/Q file.
 +
 
 +
Once this works, try to get all tools running simultaneously, interconnected using ZeroMQ.
 +
 
 +
Good luck, and '''don't transmit''' without a license !
 +
 
 +
Other users and developers are reachable on the crc-mmbtools google group:
 +
https://groups.google.com/forum/#!forum/crc-mmbtools

Latest revision as of 21:35, 23 July 2018

Introduction

DAB, DAB+ and T-DMB European digital radio and mobile television standards share the same transmission system. It's based on OFDM modulation and uses 1.5MHz of spectrum in the VHF television band 3 (or L-band in SHF). A transmitter is broadcasting a set of programmes, called a multiplex or ensemble. The system has been designed for mobile use and is robust up to 300km/h.

With the development of the mmbTools by CRC and opendigitalradio, it is now possible to run a full transmission infrastructure on a laptop running Linux and using a USRP as RF hardware (with gnuradio) or any other similar device.

The transmission chain can be divided in 4 parts:

  • The Encoder encodes the audio source to MPEG-2 Layer II for DAB, MPEG-4 HE-AACv2 for DAB+ or video in MPEG-4 H.264 for T-DMB.
  • The Multiplexer gathers different streams, produces necessary signalling and outputs a single 2048kbit/s stream in ETI format (Ensemble Transport Interface).
  • The Modulator takes the ETI stream and produces a complex I/Q baseband OFDM signal ready for up-conversion to the desired radio frequency.
  • The RF transmission is performed by the USRP, a HackRF One or a similar device.

The ODR-Tools comprises two encoders: Toolame and fdk-aac-dabplus; it includes a multiplexer ODR-DabMux and a modulator ODR-DabMod.

Thanks to the modular approach from these tools it is possible to interface them with other implementations and tools.

How to get started

Prerequisites

Let's say you want to learn about DAB transmission and set up a laboratory transmitter that you can use to experiment, gain better understanding, test ideas, evaluate receivers or do measurements.

A will need:

  • Some Linux system knowledge.
  • A recent PC running Debian stable: http://debian.org
  • A USRP (B200, B100, USRP2 and USRP1 are tested to work. The others should be fine too, no guarantees.)
  • To read documentation:
  • To install the required tools on the Debian Linux PC. The Installer scripts will simplify this a lot.
  • Have a look at the example mux and mod configurations in the respective doc/ folders and in mmbtools-aux.
  • And of course, a DAB receiver.

Step-by-step

The best way to discover these scripts is to start step-by-step. Once you have installed the tools, work your way up from the encoder to the multiplexer, and finally to the I/Q modulator.

  1. Using fdk-aac-dabplus, prepare one or more AAC-encoded .dabp audio files using some .wav files.
  2. Create a configuration file for ODR-DabMux, using doc/example.mux as a base. Use the .dabp files as input and limit the duration of the ETI file to a few thousand frames (a couple of minutes worth of data).
  3. Using ODR-DabMux with this configuration, create a RAW ETI file containing your multiplex.
  4. If you want, compile etisnoop and analyse the ETI file.
  5. Use ODR-DabMod to modulate this ETI file and create an I/Q file.

Once this works, try to get all tools running simultaneously, interconnected using ZeroMQ.

Good luck, and don't transmit without a license !

Other users and developers are reachable on the crc-mmbtools google group: https://groups.google.com/forum/#!forum/crc-mmbtools