WorldDMB GA 2010 Open DAB demonstration

From Opendigitalradio
(Difference between revisions)
Jump to: navigation, search
(New page: A short demonstration of the creation of a live DAB transmission has been performed after the presentation on local DAB broadcasting. It has been done using a average Dell laptop and were ...)

Revision as of 13:09, 28 October 2010

A short demonstration of the creation of a live DAB transmission has been performed after the presentation on local DAB broadcasting. It has been done using a average Dell laptop and were consisting of the transmission 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 &


  • .ff are FIFO files (names pipes) that were created using "mkfifo" command
  • "jackplug" are mapping of jack source to ALSA, defined in .asoundrc file in home directory

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)

Personal tools