EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop

  • 1,974 views
Uploaded on

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

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

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,974
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CRC-mmbTools Software Radio Workshop Pascal.Charest @ crc . caCommunications Research Centre, Canada EBU-EUR Digital Radio Week Geneva, February 2011
  • 2. Overview Introduction CRC-mmbTools live CD and website CRC FLOSS DAB tools usage Service encoding Other modulations Conclusion
  • 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. 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. 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. CRC-mmbTools live CD and website Introduction Workshops frequency allotment plan Tools overview Applications Documentation Demonstration scripts Demos Installation
  • 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. CRC-mmbTools live CD and website Introduction Workshops frequency allotment plan Tools overview Demos Using the scripts CRC mmbTools website Installation
  • 9. http://mmbtools.crc.ca
  • 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. 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. 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. 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. 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. Pipes are fun!Src :http://www.smashbros.com/en_us/howto/technique/technique06.html
  • 16. Script essential#!/bin/bash{your commands here}{multi-line command}{command to run in background &}
  • 17. Script permissions$ chmod u+x {script name}
  • 18. CRC FLOSS DAB tools usage "In the beginning... was the command line" CRC-OpenMokast CRC-DabMod Usage CRC-Dwap CRC-DabMux
  • 19. CRC FLOSS DAB tools usage "In the beginning... was the command line" CRC-OpenMokast CRC-DabMod CRC-Dwap Usage CRC-DabMux
  • 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. DAB Multiplex
  • 22. CRC-DabMux Flowgraph
  • 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. 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. 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. Service encoding Audio Multimedia
  • 27. Service encoding Audio DAB DAB+ Celt Internet source Multimedia
  • 28. CRC-Dabplus installation$ tar xzf crc-dabplus-distrib-{version}.tar.gz$ sudo dpkg -i crc-dabplus-{version}/packages/*.deb
  • 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. 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. 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. 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. 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. Service encoding Audio Multimedia DLS DMB Slideshow
  • 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. Other modulations FM DRM
  • 37. Other modulations FM Tx Rx Android DRM
  • 38. Other modulations FM DRM Tx Rx
  • 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. 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. 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. Installing DREAM:DREAM$ cd drm$ . bootstrap$ ./configure$ make$ sudo cp linux/drm /usr/local/bin/dream
  • 43. Conclusion GPL usage TODO