EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop


Published on

These slides list command lines used in the CRC-mmbTools Digital Radio Week 2011 workshop.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop

  1. 1. CRC-mmbTools Software Radio Workshop Pascal.Charest @ crc . caCommunications Research Centre, Canada EBU-EUR Digital Radio Week Geneva, February 2011
  2. 2. Overview Introduction CRC-mmbTools live CD and website CRC FLOSS DAB tools usage Service encoding Other modulations Conclusion
  3. 3. CRC-mmbTools live CD and website Introduction A word about the live CD Ubuntu Papers Workshops frequency allotment plan Tools overview Demos Installation
  4. 4. Major Papers An Experimental DAB Delivery Platform For Internet Broadcast Services, F. Lefebvre, IBC 2002 End-to-end Mobile Multimedia Broadcasting Software Tools, F. Lefebvre, P. Charest, IBC 2006 Software Implementation of the DMB Transmission System, P. Charest, F.Lefebvre, WOC 2007 Software DAB Transmitter On Live CD, P. Charest, F. Lefebvre, WOC 2008 Open source handhelds: a broadcaster-led innovation for BTH services. F. Lefebvre, J.-M. Bouffard, P. Charest. EBU Technical Review - Best of 2008. The Openmokast Open Source Framework: Towards User Innovation In The Mobile Broadcasting Application Space, F. Lefebvre, J.-M. Bouffard, P. Charest, IBC 2009
  5. 5. CRC-mmbTools live CD and website Introduction Workshops frequency allotment plan Lets do it! Band III: 10C-13F Band L: any Tools overview Demos Installation
  6. 6. CRC-mmbTools live CD and website Introduction Workshops frequency allotment plan Tools overview Applications Documentation Demonstration scripts Demos Installation
  7. 7. CPU RequirementsMinimum CPU requirements? We dont know, but heres a listof CPU that dont work: Pentium M 715 @ 1.5 GHz, PassMark 393 Intel Atom 330 @1.6 GHz, PassMark 633Benchmark score are from PassMark:http://www.cpubenchmark.net/cpu_list.phpPlease, choose a CPU more powerfull than one listed above.
  8. 8. CRC-mmbTools live CD and website Introduction Workshops frequency allotment plan Tools overview Demos Using the scripts CRC mmbTools website Installation
  9. 9. http://mmbtools.crc.ca
  10. 10. CRC-mmbTools live CD and website Introduction Tools overview Workshops frequency allotment plan Demos Installation From the live CD From USB To a virtual machine Gnuradio update (for WBX)
  11. 11. Gnuradio update$ sudo apt-get remove -y gnuradio gnuradio-doc libgnuradiolibgnuradio-core libgnuradio-omnithread libgruel python-gnuradio-core usrp usrp-doc python-wxgtk2.6$ sudo apt-get -y install git-core autoconf libtool python-devswig libfftw3-dev libcppunit-dev libusb-dev libboost1.37-devguile-1.8-dev sdcc-nf libsdl1.2-dev libgsl0-dev
  12. 12. Gnuradio update$ git clone http://gnuradio.org/git/gnuradio.git$ cd gnuradio$ git checkout v3.3.0$ ./bootstrap$ ./configure --prefix=/usr --sysconfdir=/etc$ make -j2$ sudo make install$ sudo ldconfig$ sudo ln -s gnuradio-companion /usr/bin/grc$ sudo ln -s libgruel.so /usr/lib/libgruel.so.0
  13. 13. CRC FLOSS DAB tools usage "In the beginning... was the command line" CLI (man, help, advantages) Pipes Basic scripting CRC-OpenMokast CRC-DabMod CRC-Dwap CRC-DabMux
  14. 14. In the beginning, was the command line$ make lovemake: *** No rule to make love. Stop.$ whatis sexsex: nothing appropriate$ %blow%blow: no such job$ man womanNo manual entry for woman
  15. 15. Pipes are fun!Src :http://www.smashbros.com/en_us/howto/technique/technique06.html
  16. 16. Script essential#!/bin/bash{your commands here}{multi-line command}{command to run in background &}
  17. 17. Script permissions$ chmod u+x {script name}
  18. 18. CRC FLOSS DAB tools usage "In the beginning... was the command line" CRC-OpenMokast CRC-DabMod Usage CRC-Dwap CRC-DabMux
  19. 19. CRC FLOSS DAB tools usage "In the beginning... was the command line" CRC-OpenMokast CRC-DabMod CRC-Dwap Usage CRC-DabMux
  20. 20. CRC FLOSS DAB tools usage "In the beginning... was the command line" CRC-OpenMokast CRC-DabMod CRC-Dwap CRC-DabMux DAB multiplex overview Simple configuration Configuring outputs Configuring inputs Configuring services information Complex configuration
  21. 21. DAB Multiplex
  22. 22. CRC-DabMux Flowgraph
  23. 23. Simple configuration#!/bin/bashFREQUENCY=1459792000CRC-DabMux -A "/usr/share/crc-dabmux/CRC pub.mp2" -S -C -O fifo:///dev/stdout |CRC-DabMod -r3200000 -c128000000 -g1 |CRC-Dwap.py -r3200000 -u -f${FREQUENCY}
  24. 24. Service information#!/bin/bashFREQUENCY=1459792000CRC-DabMux -i 0xc000 -L "CRC Ensemble" -l "CRC" -A "/usr/share/crc-dabmux/CRC pub.mp2" -S -L "CRC Service" -l "CRC Svc" -C -O fifo:///dev/stdout | CRC-DabMod -r3200000 -c128000000 -g1 | CRC-Dwap.py -r3200000 -u -f${FREQUENCY}
  25. 25. Complex configurationCRC-DabMux -i 0xc000 -L "CRC Ensemble" -l "CRC" -A "/usr/share/crc-dabmux/CRC pub.mp2" -S -L "CRC DAB" -l "CRC DAB" -C -F "/usr/share/crc-dabmux/CRC pub-40k.lfa" -b 40 -S -L "CRC DAB+" -l "CRC DAB+" -C -M "CrcYouTube_AAC.ts" -b 384 -S -L "CRC DMB" -C -t 24 -O fifo:///dev/stdout | CRC-DabMod -r3200000 -c128000000 -g1 | CRC-Dwap.py -r3200000 -u -f${FREQUENCY}
  26. 26. Service encoding Audio Multimedia
  27. 27. Service encoding Audio DAB DAB+ Celt Internet source Multimedia
  28. 28. CRC-Dabplus installation$ tar xzf crc-dabplus-distrib-{version}.tar.gz$ sudo dpkg -i crc-dabplus-{version}/packages/*.deb
  29. 29. Testing audio cards$ crc-dabplus -i card://listAvailable capture card devices:hw:0hw:0,0hw:0,0,0 (name: HDA Generic)$ gst-launch alsasrc device=hw:0 ! audio/x-raw-int,width=16,rate=48000,channels=2 ! alsasink sync=false
  30. 30. DAB+ real-time encodingif [ ! -e fifo ]; then mkfifo fifo; fiCRC-DabMux -F fifo -k -b 32 -S -C -O fifo:///dev/stdout | CRC-DabMod -r3200000 -c128000000 -g1 | CRC-Dwap.py -r3200000 -u -f${FREQUENCY} &crc-dabplus -i card:// -o file://fifo -b 32 -c 2wait
  31. 31. DAB real-time encodingCRC-DabMux -F fifo -k -b 192 -S -C ...gst-launch alsasrc device=hw:0 ! audioconvert ! audioresample ! audio/x-raw-int,width=16,rate=48000,channels=2 ! filesink location=/dev/stdout | toolame -s 48 -e -r -D 0 -b 192 - fifo &
  32. 32. CELT real-time encodingCRC-DabMux -D fifo://fifo -b 96 -S -C ...gst-launch alsasrc device=plughw:0 ! audio/x-raw-int,width=16,rate=48000,channels=2 ! filesink location=/dev/stdout | celtenc --rate 48000 --stereo --framesize 576 --bitrate 94 - - | DabCeltCoder -E -b 96 -o fifo &
  33. 33. Internet stream real-time encodingCRC-DabMux -F fifo -k -b 64 -A ... -S -C -C -i0 -t60 -f2 -d ...mpg123 -w - --no-icy-meta http://maxxima.mine.nu:8000 | crc-dabplus -o file://fifo -b 64 &
  34. 34. Service encoding Audio Multimedia DLS DMB Slideshow
  35. 35. Slideshow real-time encodingCRC-DabMux -P fifo -k -b 32 -A ... -S -C -C -i0 -t60 -f2 -d ...CRC-SlideShow {inbox_dir} -o fifo -p 6 -n -b 32 &
  36. 36. Other modulations FM DRM
  37. 37. Other modulations FM Tx Rx Android DRM
  38. 38. Other modulations FM DRM Tx Rx
  39. 39. Installing DREAM# Src: http://sourceforge.net/apps/mediawiki/drm$ sudo apt-get isntall libasound2-dev libhamlib-dev fftw-devlibqwt-dev libsndfile1-dev$ wget http://downloads.sourceforge.net/project/drm/drm/1.12b/drm-1-12b.tar.gz$ tar xzf drm-1-12b.tar.gz
  40. 40. Installing DREAM: FAAD2$ wget http://downloads.sourceforge.net/faac/faad2-2.7.tar.gz$ tar xzf faad2-2.7.tar.gz$ cd faad2-2.7$ . bootstrap$ ./configure --disbaled-shared -without-xmms --with-drm --without-mpeg4ip$ make$ cp include/faad.h include/neaacdec.h ../drm/libs$ cp libfaad/.libs/libfaad.a ../drm/libs$ cd ..
  41. 41. Installing DREAM: FAAC$ wget http://downloads.sourceforge.net/faac/faac-1.28.tar.gz$ tar xzf faac-1.28.tar.gz$ cd faac-1.28$ . bootstrap$ ./configure --with-pic --disable-shared --without-mp4v2 --enable-drm$ make$ cp include/faaccfg.h include/faac.h ../drm/libs$ cp libfaac/.libs/libfaac.a ../drm/libs$ cd ..
  42. 42. Installing DREAM:DREAM$ cd drm$ . bootstrap$ ./configure$ make$ sudo cp linux/drm /usr/local/bin/dream
  43. 43. Conclusion GPL usage TODO