SlideShare uma empresa Scribd logo
1 de 46
CRC-mmbTools
     Software Radio Workshop
      Pascal.Charest @ crc . ca
Communications Research Centre, Canada

     EBU-EUR Digital Radio Week
       Geneva, February 2011
Overview

● Introduction
● CRC-mmbTools live CD and website
● CRC FLOSS DAB tools usage
● Service encoding
● Other modulations
● Conclusion
CRC-mmbTools live CD and website

● Introduction
   ○ A word about the live CD
   ○ Ubuntu
   ○ Papers
● Workshop's frequency allotment plan
● Tools overview
● Demos
● Installation
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
CRC-mmbTools live CD and website

● Introduction
● Workshop's frequency allotment plan
   ○ Let's do it!
      ■ Band III: 10C-13F
      ■ Band L: any
● Tools overview
● Demos
● Installation
CRC-mmbTools live CD and website

● Introduction
● Workshop's frequency allotment plan
● Tools overview
   ○ Applications
   ○ Documentation
   ○ Demonstration scripts
● Demos
● Installation
CPU Requirements

Minimum CPU requirements? We don't know, but here's a list
of CPU that don't work:
  ● Pentium M 715 @ 1.5 GHz, PassMark 393
  ● Intel Atom 330 @1.6 GHz, PassMark 633

Benchmark score are from PassMark:
http://www.cpubenchmark.net/cpu_list.php

Please, choose a CPU more powerfull than one listed above.
CRC-mmbTools live CD and website

● Introduction
● Workshop's frequency allotment plan
● Tools overview
● Demos
   ○ Using the scripts
   ○ CRC mmbTools website
● Installation
http://mmbtools.crc.ca
CRC-mmbTools live CD and website

● Introduction
● Tools overview
● Workshop's frequency allotment plan
● Demos
● Installation
   ○ From the live CD
   ○ From USB
   ○ To a virtual machine
   ○ Gnuradio update (for WBX)
Gnuradio update

$ sudo apt-get remove -y gnuradio gnuradio-doc libgnuradio
libgnuradio-core libgnuradio-omnithread libgruel python-
gnuradio-core libusrp usrp-doc python-wxgtk2.6
$ sudo apt-get -y install git-core autoconf libtool python-dev
swig libfftw3-dev libcppunit-dev libusb-dev libboost1.37-dev
guile-1.8-dev sdcc-nf libsdl1.2-dev libgsl0-dev
Gnuradio update (old instructions)

### Old instructions, please use next slide instead ###

$ 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
Gnuradio update (new instructions)

$ wget http://ftp.gnu.org/gnu/gnuradio/gnuradio-3.3.0.tar.gz
$ tar xzf gnuradio-3.3.0.tar.gz
$ cd gnuradio-3.3.0
$ ./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
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
In the beginning, was the command line

$ make love
make: *** No rule to make love. Stop.

$ whatis sex
sex: nothing appropriate

$ %blow
%blow: no such job

$ man woman
No manual entry for woman
Pipes are fun!




Src :http://www.smashbros.com/en_us/howto/technique/technique06.html
Script essential

#!/bin/bash

{your commands here}

{multi-line 
command}

{command to run in background &}
Script permissions

$ chmod u+x {script name}
CRC FLOSS DAB tools usage

● "In the beginning... was the command line"
● CRC-OpenMokast
● CRC-DabMod
   ○ Usage
● CRC-Dwap
● CRC-DabMux
CRC FLOSS DAB tools usage

● "In the beginning... was the command line"
● CRC-OpenMokast
● CRC-DabMod
● CRC-Dwap
   ○ Usage
● CRC-DabMux
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
DAB Multiplex
CRC-DabMux Flowgraph
Simple configuration

#!/bin/bash

FREQUENCY=1459792000

CRC-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}
Service information

#!/bin/bash

FREQUENCY=1459792000

CRC-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}
Complex configuration

CRC-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}
Service encoding

● Audio
● Multimedia
Service encoding

● Audio
  ○ DAB
  ○ DAB+
  ○ Celt
  ○ Internet source
● Multimedia
CRC-Dabplus installation

$ tar xzf crc-dabplus-distrib-{version}.tar.gz
$ sudo dpkg -i crc-dabplus-{version}/packages/*.deb
Testing audio cards

$ crc-dabplus -i card://list
Available capture card devices:
hw:0
hw:0,0
hw: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
DAB+ real-time encoding

if [ ! -e fifo ]; then mkfifo fifo; fi

CRC-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 2

wait
DAB real-time encoding


CRC-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 &
CELT real-time encoding


CRC-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 &
Internet stream real-time encoding


CRC-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 &
Service encoding

● Audio
● Multimedia
  ○ DLS
  ○ DMB
  ○ Slideshow
Slideshow real-time encoding


CRC-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 &
Other modulations

● FM
● DRM
Other modulations

● FM
   ○ Tx
   ○ Rx
   ○ Android
● DRM
Other modulations

● FM
● DRM
   ○ Tx
   ○ Rx
Installing DREAM

# Src: http://sourceforge.net/apps/mediawiki/drm

$ sudo apt-get isntall libasound2-dev libhamlib-dev fftw-dev
libqwt-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
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 ..
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 ..
Installing DREAM:DREAM

$ cd drm
$ . bootstrap
$ ./configure
$ make
$ sudo cp linux/drm /usr/local/bin/dream
Conclusion

● GPL usage
● TODO

Mais conteúdo relacionado

Mais procurados

The Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) ProjectThe Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) ProjectPartho Choudhury
 
A Glimpse into Developing Software-Defined Radio by Python
A Glimpse into Developing Software-Defined Radio by PythonA Glimpse into Developing Software-Defined Radio by Python
A Glimpse into Developing Software-Defined Radio by PythonAlbert Huang
 
Introduction to Digital Signal Processing Using GNU Radio
Introduction to Digital Signal Processing Using GNU RadioIntroduction to Digital Signal Processing Using GNU Radio
Introduction to Digital Signal Processing Using GNU RadioAlbert Huang
 
digital audio broadcasting
digital audio broadcastingdigital audio broadcasting
digital audio broadcastingRam B
 
Software Defined Radio (SDR)
Software Defined Radio (SDR)Software Defined Radio (SDR)
Software Defined Radio (SDR)Drew Fustini
 
Espruino - JavaScript for Microcontrollers
Espruino - JavaScript for MicrocontrollersEspruino - JavaScript for Microcontrollers
Espruino - JavaScript for MicrocontrollersDrew Fustini
 
SDR for radar 090623
SDR for radar 090623SDR for radar 090623
SDR for radar 090623Bertalan EGED
 
Digital Video Broadcasting (DVB)
Digital Video Broadcasting (DVB)Digital Video Broadcasting (DVB)
Digital Video Broadcasting (DVB)Anees Akhtar
 
Free Software for Radio Broadcasting
Free Software for Radio BroadcastingFree Software for Radio Broadcasting
Free Software for Radio BroadcastingFrancois Lefebvre
 
Digital Audio Broadcasting By SAIKIRAN PANJALA
Digital  Audio Broadcasting By SAIKIRAN PANJALADigital  Audio Broadcasting By SAIKIRAN PANJALA
Digital Audio Broadcasting By SAIKIRAN PANJALASaikiran Panjala
 
Digital video broadcasting second generationq
Digital video broadcasting second generationqDigital video broadcasting second generationq
Digital video broadcasting second generationqSusmita Pandey
 
Universal software defined radio development platform
Universal software defined radio development platformUniversal software defined radio development platform
Universal software defined radio development platformBertalan EGED
 
Approach to handover in heterogeneous Network
Approach to handover in heterogeneous NetworkApproach to handover in heterogeneous Network
Approach to handover in heterogeneous NetworkAdrian Hornsby
 
Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio Tarik Kazaz
 

Mais procurados (20)

The Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) ProjectThe Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) Project
 
Usrp family-09-open
Usrp family-09-openUsrp family-09-open
Usrp family-09-open
 
Gnu radio lecture
Gnu radio lectureGnu radio lecture
Gnu radio lecture
 
A Glimpse into Developing Software-Defined Radio by Python
A Glimpse into Developing Software-Defined Radio by PythonA Glimpse into Developing Software-Defined Radio by Python
A Glimpse into Developing Software-Defined Radio by Python
 
Introduction to Digital Signal Processing Using GNU Radio
Introduction to Digital Signal Processing Using GNU RadioIntroduction to Digital Signal Processing Using GNU Radio
Introduction to Digital Signal Processing Using GNU Radio
 
digital audio broadcasting
digital audio broadcastingdigital audio broadcasting
digital audio broadcasting
 
Software Defined Radio (SDR)
Software Defined Radio (SDR)Software Defined Radio (SDR)
Software Defined Radio (SDR)
 
Espruino - JavaScript for Microcontrollers
Espruino - JavaScript for MicrocontrollersEspruino - JavaScript for Microcontrollers
Espruino - JavaScript for Microcontrollers
 
intro_dgital_TV
intro_dgital_TVintro_dgital_TV
intro_dgital_TV
 
SDR for radar 090623
SDR for radar 090623SDR for radar 090623
SDR for radar 090623
 
Digital Video Broadcasting (DVB)
Digital Video Broadcasting (DVB)Digital Video Broadcasting (DVB)
Digital Video Broadcasting (DVB)
 
A glance-at-voip
A glance-at-voipA glance-at-voip
A glance-at-voip
 
Free Software for Radio Broadcasting
Free Software for Radio BroadcastingFree Software for Radio Broadcasting
Free Software for Radio Broadcasting
 
Digital Audio Broadcasting By SAIKIRAN PANJALA
Digital  Audio Broadcasting By SAIKIRAN PANJALADigital  Audio Broadcasting By SAIKIRAN PANJALA
Digital Audio Broadcasting By SAIKIRAN PANJALA
 
Digital video broadcasting second generationq
Digital video broadcasting second generationqDigital video broadcasting second generationq
Digital video broadcasting second generationq
 
Technisat
TechnisatTechnisat
Technisat
 
Universal software defined radio development platform
Universal software defined radio development platformUniversal software defined radio development platform
Universal software defined radio development platform
 
Approach to handover in heterogeneous Network
Approach to handover in heterogeneous NetworkApproach to handover in heterogeneous Network
Approach to handover in heterogeneous Network
 
Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio
 
Multimedia Services: Audio
Multimedia Services: AudioMultimedia Services: Audio
Multimedia Services: Audio
 

Semelhante a EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop

Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Keisuke Takahashi
 
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation GuideBKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation GuideLinaro
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON
 
Tiny ML for spark Fun Edge
Tiny ML for spark Fun EdgeTiny ML for spark Fun Edge
Tiny ML for spark Fun Edge艾鍗科技
 
Building your own simple live streaming platform. Slides form BOS video meetu...
Building your own simple live streaming platform. Slides form BOS video meetu...Building your own simple live streaming platform. Slides form BOS video meetu...
Building your own simple live streaming platform. Slides form BOS video meetu...Jordi Cenzano
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKMarian Marinov
 
Brightcove live tech overview
Brightcove live tech overviewBrightcove live tech overview
Brightcove live tech overviewJordi Cenzano
 
DockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaDockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaŁukasz Piątkowski
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Valeriy Kravchuk
 
Raspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 updateRaspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 updateKevin Hooke
 
CCNP Data Center Centralized Management Automation
CCNP Data Center Centralized Management AutomationCCNP Data Center Centralized Management Automation
CCNP Data Center Centralized Management AutomationE.S.G. JR. Consulting, Inc.
 
Introduction to Transcoding: Tools and Processes
Introduction to Transcoding: Tools and ProcessesIntroduction to Transcoding: Tools and Processes
Introduction to Transcoding: Tools and ProcessesPrestoCentre
 
Raspberry Pi and Amateur Radio
Raspberry Pi and Amateur RadioRaspberry Pi and Amateur Radio
Raspberry Pi and Amateur RadioKevin Hooke
 
Plane Spotting
Plane SpottingPlane Spotting
Plane SpottingTed Coyle
 
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsXiaozhe Wang
 

Semelhante a EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop (20)

Debugging 2013- Jesper Brouer
Debugging 2013- Jesper BrouerDebugging 2013- Jesper Brouer
Debugging 2013- Jesper Brouer
 
Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5
 
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation GuideBKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
Tiny ML for spark Fun Edge
Tiny ML for spark Fun EdgeTiny ML for spark Fun Edge
Tiny ML for spark Fun Edge
 
2 netcat enum-pub
2 netcat enum-pub2 netcat enum-pub
2 netcat enum-pub
 
Building your own simple live streaming platform. Slides form BOS video meetu...
Building your own simple live streaming platform. Slides form BOS video meetu...Building your own simple live streaming platform. Slides form BOS video meetu...
Building your own simple live streaming platform. Slides form BOS video meetu...
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDK
 
Brightcove live tech overview
Brightcove live tech overviewBrightcove live tech overview
Brightcove live tech overview
 
DockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaDockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing Aurea
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
 
CRC MMB Projects and Tools
CRC MMB Projects and ToolsCRC MMB Projects and Tools
CRC MMB Projects and Tools
 
Raspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 updateRaspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 update
 
100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV
 
CCNP Data Center Centralized Management Automation
CCNP Data Center Centralized Management AutomationCCNP Data Center Centralized Management Automation
CCNP Data Center Centralized Management Automation
 
Deploy your own P2P network
Deploy your own P2P networkDeploy your own P2P network
Deploy your own P2P network
 
Introduction to Transcoding: Tools and Processes
Introduction to Transcoding: Tools and ProcessesIntroduction to Transcoding: Tools and Processes
Introduction to Transcoding: Tools and Processes
 
Raspberry Pi and Amateur Radio
Raspberry Pi and Amateur RadioRaspberry Pi and Amateur Radio
Raspberry Pi and Amateur Radio
 
Plane Spotting
Plane SpottingPlane Spotting
Plane Spotting
 
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
 

Último

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Último (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop

  • 1. CRC-mmbTools Software Radio Workshop Pascal.Charest @ crc . ca Communications 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 ● Workshop's 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 ● Workshop's frequency allotment plan ○ Let's do it! ■ Band III: 10C-13F ■ Band L: any ● Tools overview ● Demos ● Installation
  • 6. CRC-mmbTools live CD and website ● Introduction ● Workshop's frequency allotment plan ● Tools overview ○ Applications ○ Documentation ○ Demonstration scripts ● Demos ● Installation
  • 7. CPU Requirements Minimum CPU requirements? We don't know, but here's a list of CPU that don't work: ● Pentium M 715 @ 1.5 GHz, PassMark 393 ● Intel Atom 330 @1.6 GHz, PassMark 633 Benchmark score are from PassMark: http://www.cpubenchmark.net/cpu_list.php Please, choose a CPU more powerfull than one listed above.
  • 8. CRC-mmbTools live CD and website ● Introduction ● Workshop's frequency allotment plan ● Tools overview ● Demos ○ Using the scripts ○ CRC mmbTools website ● Installation
  • 9.
  • 11. CRC-mmbTools live CD and website ● Introduction ● Tools overview ● Workshop's frequency allotment plan ● Demos ● Installation ○ From the live CD ○ From USB ○ To a virtual machine ○ Gnuradio update (for WBX)
  • 12. Gnuradio update $ sudo apt-get remove -y gnuradio gnuradio-doc libgnuradio libgnuradio-core libgnuradio-omnithread libgruel python- gnuradio-core libusrp usrp-doc python-wxgtk2.6 $ sudo apt-get -y install git-core autoconf libtool python-dev swig libfftw3-dev libcppunit-dev libusb-dev libboost1.37-dev guile-1.8-dev sdcc-nf libsdl1.2-dev libgsl0-dev
  • 13. Gnuradio update (old instructions) ### Old instructions, please use next slide instead ### $ 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
  • 14. Gnuradio update (new instructions) $ wget http://ftp.gnu.org/gnu/gnuradio/gnuradio-3.3.0.tar.gz $ tar xzf gnuradio-3.3.0.tar.gz $ cd gnuradio-3.3.0 $ ./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
  • 15. 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
  • 16. In the beginning, was the command line $ make love make: *** No rule to make love. Stop. $ whatis sex sex: nothing appropriate $ %blow %blow: no such job $ man woman No manual entry for woman
  • 17. Pipes are fun! Src :http://www.smashbros.com/en_us/howto/technique/technique06.html
  • 18. Script essential #!/bin/bash {your commands here} {multi-line command} {command to run in background &}
  • 19. Script permissions $ chmod u+x {script name}
  • 20.
  • 21. CRC FLOSS DAB tools usage ● "In the beginning... was the command line" ● CRC-OpenMokast ● CRC-DabMod ○ Usage ● CRC-Dwap ● CRC-DabMux
  • 22. CRC FLOSS DAB tools usage ● "In the beginning... was the command line" ● CRC-OpenMokast ● CRC-DabMod ● CRC-Dwap ○ Usage ● CRC-DabMux
  • 23. 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
  • 26. Simple configuration #!/bin/bash FREQUENCY=1459792000 CRC-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}
  • 27. Service information #!/bin/bash FREQUENCY=1459792000 CRC-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}
  • 28. Complex configuration CRC-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}
  • 30. Service encoding ● Audio ○ DAB ○ DAB+ ○ Celt ○ Internet source ● Multimedia
  • 31. CRC-Dabplus installation $ tar xzf crc-dabplus-distrib-{version}.tar.gz $ sudo dpkg -i crc-dabplus-{version}/packages/*.deb
  • 32. Testing audio cards $ crc-dabplus -i card://list Available capture card devices: hw:0 hw:0,0 hw: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
  • 33. DAB+ real-time encoding if [ ! -e fifo ]; then mkfifo fifo; fi CRC-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 2 wait
  • 34. DAB real-time encoding CRC-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 &
  • 35. CELT real-time encoding CRC-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 &
  • 36. Internet stream real-time encoding CRC-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 &
  • 37. Service encoding ● Audio ● Multimedia ○ DLS ○ DMB ○ Slideshow
  • 38. Slideshow real-time encoding CRC-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 &
  • 40. Other modulations ● FM ○ Tx ○ Rx ○ Android ● DRM
  • 41. Other modulations ● FM ● DRM ○ Tx ○ Rx
  • 42. Installing DREAM # Src: http://sourceforge.net/apps/mediawiki/drm $ sudo apt-get isntall libasound2-dev libhamlib-dev fftw-dev libqwt-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
  • 43. 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 ..
  • 44. 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 ..
  • 45. Installing DREAM:DREAM $ cd drm $ . bootstrap $ ./configure $ make $ sudo cp linux/drm /usr/local/bin/dream