WorldDMB GA 2010 Open DAB demonstration

From OpenDigitalRadio
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

A short demonstration of the creation of a live DAB transmission using a presentation laptop has been performed during the presentation on local DAB broadcasting. It has been done using a average Dell laptop and was consisting of the transmission of multiplex of:

  • Live sound from the laptop microphone
  • Live retransmission of Maxxima webradio
  • Live retransmission of France Inter
  • Live retransmission of SWR3

Here are the setup and scripts used

Hardware

  • Dell Latitude E6400 laptop (Centrino 2 CPU)
  • USRP1 Universal Software Radio Peripheral with WBX RF daugtherboard (50MHz-2.2GHz)
  • Mini-circuits bandpass filter

Software

  • Ubuntu Linux 10.04
  • Gnuradio 3.3
  • Jack open Audio connection kit
  • arecord (from ALSA utils)
  • Toolame open MPEG Layer II encoder
  • CRC MMBtools open source DAB multiplexer: CRC-DabMux
  • Non blocking buffer: bfr
  • CRC MMBtools open source DAM modulator: CRC-DabMod
  • Baseband USRP1 VHF player

Scripts

2 scripts were used in parallel, one for the multiplexer/modulator and the other for getting the sound stream and encode them

Script for stream and encode:

#!/bin/sh

arecord -t raw -f S16_LE -c 2 -r 48000 -D jackplug1 |toolame -s 48 -D 4 -b 128 /dev/stdin ./1.ff &
arecord -t raw -f S16_LE -c 2 -r 48000 -D jackplug2 |toolame -s 48 -D 4 -b 128 /dev/stdin ./2.ff &
arecord -t raw -f S16_LE -c 2 -r 48000 -D jackplug3 |toolame -s 48 -D 4 -b 128 /dev/stdin ./3.ff &
arecord -t raw -f S16_LE -c 2 -r 48000 -D jackplug4 |toolame -s 48 -D 4 -b 128 /dev/stdin ./4.ff &

Script for multiplexing, encoding, playout:

#!/bin/sh
CRC-DabMux -L "MyMux"  -A 1.ff -b 128 -i 1 -S -L "LiveMic" -C \
-A 2.ff -b 128 -i 2 -S -L "Maxxima" -C \
-A 3.ff -b 128 -i 3 -S -L "France Inter" -C \
-A 4.ff -b 128 -i 4 -S -L "SWR3" -C \
-O fifo:///dev/stdout |\
CRC-DabMod -f -g1 -r3200000 |\
bfr -p -b 32m -m 8m |\
coinwap_full3.py

(bfr is the buffer, coinwap_full3.py is the baseband player)

Startup procedure

  • Start jack audio server using Jack Control (you need to have install jack audio server and tools)
  • Launch the 2 scripts.
  • By default (depending on .asoundrc file) all source will be connected to the laptop microphone
  • Play the streams of Maxxima, France Inter and SWR3 using any player compatible with jack. In our case we used mplayer. See below:
mplayer -ao jack http://maxxima.mine.nu:8000
mplayer -ao jack http://mp3.live.tv-radio.com/franceinter/all/franceinterhautdebit.mp3
mplayer -ao jack http://mp3-live.swr3.de/swr3_m.m3u
  • Connect the outputs of the different mplayer to the input of the multiplexer using "connectionS" in JACK control