Introduction on DAB/DAB+
(13 intermediate revisions by 3 users not shown) |
Latest revision as of 21:35, 23 July 2018
Contents |
[edit] 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.
[edit] How to get started
[edit] 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.
[edit] 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 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