Difference between revisions of "DAB+ script and infrastructure used for Kanal Plus ensemble in Denmark"

From OpenDigitalRadio
Jump to navigationJump to search
m
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
Here's the script by Ulrik Brinck of Kanal Plus for [http://www.wohnort.org/DAB/denmark.html#Local local ensemble in Denmark]
 
Here's the script by Ulrik Brinck of Kanal Plus for [http://www.wohnort.org/DAB/denmark.html#Local local ensemble in Denmark]
  
The ensemble consists of 4 DAB+ programmes with DLS.
+
The ensemble consists of 9 DAB+ programmes, some of them with DLS. The full set of CRC mmbTools is used with crc-dabplus for DAB+ encoding, crc-dabmux for multiplexing and crc-dabmod for OFDM modulation.
  
 
The hardware setup is made of:
 
The hardware setup is made of:
Line 7: Line 7:
 
*2 AudioScience ASI5042 soundcards
 
*2 AudioScience ASI5042 soundcards
 
*Ettus USRP1 with WBX daughterboard
 
*Ettus USRP1 with WBX daughterboard
 +
*Power amplifier from Res-Ingenium, Italy
 +
*Cavity filter from Telmec Broadcasting, Italy
 +
*Antenna from vhfteknik.se, Sweden
 +
 +
[[Media:Danish DAB+ grass roots trial (Kanal Plus).pdf|Pictures from the setup]] with PC, amplifier, antenna (pics by Niels Dreijer)
 +
 +
===Script===
  
 
  #!/bin/sh
 
  #!/bin/sh
 
   
 
   
 
  DABPLUS=crc-dabplus
 
  DABPLUS=crc-dabplus
 +
 +
#First kill any eventual old instances of the software
 
   
 
   
 
  killall CRC-DabMux
 
  killall CRC-DabMux
Line 19: Line 28:
 
   
 
   
 
  sleep 3
 
  sleep 3
 +
 +
#Delete old fifo's and make new ones, just to be sure to avoid problems at startup if e.g. a bit rate has been changed
 
   
 
   
 
  rm -f fifoer/fifo*
 
  rm -f fifoer/fifo*
 
   
 
   
  for id in 0 1 2 3 4 5 6 7 8; do
+
  for id in 1 2 3 4 5 6 7 8; do
 
     [ -e fifo$id ] || mkfifo fifoer/fifo$id
 
     [ -e fifo$id ] || mkfifo fifoer/fifo$id
 
  done
 
  done
 +
 +
#Start the multiplexer, modulator and wave player
 
   
 
   
 
  CRC-DabMux -c 0xE1 -i 0x9101 -L "NivaaDAB" -l "NivaaDAB" \
 
  CRC-DabMux -c 0xE1 -i 0x9101 -L "NivaaDAB" -l "NivaaDAB" \
  -F "diverse/testcd.dab" -b 64 -S -i 0x9101 -y 0 -L "Forsoegskanal" -l "Forsoeg" -C \
+
-F "diverse/testcd56.dab" -b 56 -S -i 0x9101 -y 0 -L "Forsoegskanal" -l "Forsoeg" -C \
  -F fifoer/fifo1 -k -b 144 -S -i 0x9102 -y 27 -L "Retro-Radio" -l "Retro" -C \
+
-F fifoer/fifo1 -k -b 144 -S -i 0x9102 -y 27 -L "Retro-Radio" -l "Retro" -C \
  -F fifoer/fifo2 -k -b 144 -S -i 0x9103 -y 10 -L "Kanal Plus 90" -l "Plus 90" -C \
+
-F fifoer/fifo2 -k -b 88 -S -i 0x9103 -y 11 -L "Rockkanalen" -l "Rockkanl" -C \
  -F fifoer/fifo3 -k -b 88 -S -i 0x9104 -y 9 -L "US Radio" -l "US Radio" -C \
+
-F fifoer/fifo3 -k -b 88 -S -i 0x9104 -y 9 -L "US Radio" -l "US Radio" -C \
  -O fifo:///dev/stdout | \
+
-F fifoer/fifo4 -k -b 88 -S -i 0x9105 -y 9 -L "Humleborg,R.Nord" -l "Hmleborg" -C \
crc-dabmod -g2 -r3200000 -c128000000 | \
+
-F fifoer/fifo5 -k -b 88 -S -i 0x9106 -y 10 -L "RadioHLR" -l "RadioHLR" -C \
mbuffer -m 32m -P 25 | \
+
-F fifoer/fifo6 -k -b 88 -S -i 0x9107 -y 9 -L "Radio 10FM" -l "10FM" -C \
crc-dwap.py -r3200000 -f204640000 -g-14 -u &
+
-F fifoer/fifo7 -k -b 48 -S -i 0x9108 -y 9 -L "Interviewkanalen" -l "Intervie" -C \
 +
-F fifoer/fifo8 -k -b 88 -S -i 0x9109 -y 10 -L "Radio Halsnaes" -l "Halsnaes" -C \
 +
-O fifo:///dev/stdout | \
 +
crc-dabmod -g2 -r3200000 -c128000000 | \
 +
mbuffer -m 32m -P 25 | \
 +
crc-dwap.py -r3200000 -f204640000 -g-14 -u &
 
   
 
   
 
  sleep 3
 
  sleep 3
 +
 +
#Start the encoders
 +
#There are two ASI5042 sound cards, which are identified as hw:2 and hw:3. Each of them have 4 stereo inputs.
 
   
 
   
 
  $DABPLUS -g -i card://hw:3,0,0 -b 144 -d tcpserver://:49102 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo1 &
 
  $DABPLUS -g -i card://hw:3,0,0 -b 144 -d tcpserver://:49102 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo1 &
  $DABPLUS -g -i card://hw:2,0,0 -b 144 -d tcpserver://:49103 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo2 &
+
  $DABPLUS -g -i card://hw:2,0,2 -b 88 -d tcpserver://:49103 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo2 &
 
  $DABPLUS -g -i card://hw:2,0,3 -b 88 -d tcpserver://:49104 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo3 &
 
  $DABPLUS -g -i card://hw:2,0,3 -b 88 -d tcpserver://:49104 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo3 &
 +
$DABPLUS -g -i card://hw:3,0,1 -b 88 | mbuffer -m 100k -P 100 > fifoer/fifo4 &
 +
$DABPLUS -g -i card://hw:3,0,2 -b 88 | mbuffer -m 100k -P 100 > fifoer/fifo5 &
 +
$DABPLUS -g -i card://hw:3,0,3 -b 88 | mbuffer -m 100k -P 100 > fifoer/fifo6 &
 +
$DABPLUS -g -i card://hw:2,0,1 -b 48 -d tcpserver://:49108 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo7 &
 +
$DABPLUS -g -i card://hw:2,0,0 -b 88 | mbuffer -m 100k -P 100 > fifoer/fifo8 &
 
   
 
   
 
  wait
 
  wait

Latest revision as of 16:02, 24 February 2012

Here's the script by Ulrik Brinck of Kanal Plus for local ensemble in Denmark

The ensemble consists of 9 DAB+ programmes, some of them with DLS. The full set of CRC mmbTools is used with crc-dabplus for DAB+ encoding, crc-dabmux for multiplexing and crc-dabmod for OFDM modulation.

The hardware setup is made of:

  • Intel Core i7-2600 4x3.40Ghz PC running Ubuntu Desktop 11.04, 32 bit version
  • 2 AudioScience ASI5042 soundcards
  • Ettus USRP1 with WBX daughterboard
  • Power amplifier from Res-Ingenium, Italy
  • Cavity filter from Telmec Broadcasting, Italy
  • Antenna from vhfteknik.se, Sweden

Pictures from the setup with PC, amplifier, antenna (pics by Niels Dreijer)

Script

#!/bin/sh

DABPLUS=crc-dabplus

#First kill any eventual old instances of the software

killall CRC-DabMux
killall CRC-DabMod
killall CRC-Dwap.py
killall $DABPLUS
killall mbuffer

sleep 3

#Delete old fifo's and make new ones, just to be sure to avoid problems at startup if e.g. a bit rate has been changed

rm -f fifoer/fifo*

for id in 1 2 3 4 5 6 7 8; do
    [ -e fifo$id ] || mkfifo fifoer/fifo$id
done

#Start the multiplexer, modulator and wave player

CRC-DabMux -c 0xE1 -i 0x9101 -L "NivaaDAB" -l "NivaaDAB" \
		-F "diverse/testcd56.dab" -b 56 -S -i 0x9101 -y 0 -L "Forsoegskanal" -l "Forsoeg" -C \
		-F fifoer/fifo1 -k -b 144 -S -i 0x9102 -y 27 -L "Retro-Radio" -l "Retro" -C \
		-F fifoer/fifo2 -k -b 88 -S -i 0x9103 -y 11 -L "Rockkanalen" -l "Rockkanl" -C \
		-F fifoer/fifo3 -k -b 88 -S -i 0x9104 -y 9 -L "US Radio" -l "US Radio" -C \
		-F fifoer/fifo4 -k -b 88 -S -i 0x9105 -y 9 -L "Humleborg,R.Nord" -l "Hmleborg" -C \
		-F fifoer/fifo5 -k -b 88 -S -i 0x9106 -y 10 -L "RadioHLR" -l "RadioHLR" -C \
		-F fifoer/fifo6 -k -b 88 -S -i 0x9107 -y 9 -L "Radio 10FM" -l "10FM" -C \
		-F fifoer/fifo7 -k -b 48 -S -i 0x9108 -y 9 -L "Interviewkanalen" -l "Intervie" -C \
		-F fifoer/fifo8 -k -b 88 -S -i 0x9109 -y 10 -L "Radio Halsnaes" -l "Halsnaes" -C \
		-O fifo:///dev/stdout | \
	crc-dabmod -g2 -r3200000 -c128000000 | \
	mbuffer -m 32m -P 25 | \
	crc-dwap.py -r3200000 -f204640000 -g-14 -u &

sleep 3

#Start the encoders
#There are two ASI5042 sound cards, which are identified as hw:2 and hw:3. Each of them have 4 stereo inputs.

$DABPLUS -g -i card://hw:3,0,0 -b 144 -d tcpserver://:49102 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo1 &
$DABPLUS -g -i card://hw:2,0,2 -b 88 -d tcpserver://:49103 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo2 &
$DABPLUS -g -i card://hw:2,0,3 -b 88 -d tcpserver://:49104 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo3 &
$DABPLUS -g -i card://hw:3,0,1 -b 88 | mbuffer -m 100k -P 100 > fifoer/fifo4 &
$DABPLUS -g -i card://hw:3,0,2 -b 88 | mbuffer -m 100k -P 100 > fifoer/fifo5 &
$DABPLUS -g -i card://hw:3,0,3 -b 88 | mbuffer -m 100k -P 100 > fifoer/fifo6 &
$DABPLUS -g -i card://hw:2,0,1 -b 48 -d tcpserver://:49108 -p 28 -t dls | mbuffer -m 100k -P 100 > fifoer/fifo7 &
$DABPLUS -g -i card://hw:2,0,0 -b 88 | mbuffer -m 100k -P 100 > fifoer/fifo8 &

wait