aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/mod.conf244
-rw-r--r--config/mot/bbc1.txt0
-rw-r--r--config/mot/f3.txt0
-rw-r--r--config/mot/fip.txt0
-rw-r--r--config/mot/maxxima.txt0
-rw-r--r--config/mux.conf342
-rw-r--r--config/supervisor/encoder-bbc1.conf7
-rw-r--r--config/supervisor/encoder-f3.conf7
-rw-r--r--config/supervisor/encoder-fip.conf7
-rw-r--r--config/supervisor/encoder-maxxima.conf7
-rw-r--r--config/supervisor/mod.conf7
-rw-r--r--config/supervisor/mux.conf7
12 files changed, 628 insertions, 0 deletions
diff --git a/config/mod.conf b/config/mod.conf
new file mode 100644
index 0000000..9c5cf07
--- /dev/null
+++ b/config/mod.conf
@@ -0,0 +1,244 @@
+; Sample configuration file for ODR-DabMod
+
+[remotecontrol]
+; enable the telnet remote control on localhost:2121
+; Since this is totally unsecure telnet, the software
+; will only listen on the local loopback interface.
+; To get secure remote access, use SSH port forwarding
+telnet=1
+telnetport=2121
+
+; Enable zmq remote control.
+; The zmq remote control is intended for machine-to-machine
+; integration and requires that ODR-DabMod is built with zmq support.
+; The zmq remote control may run in parallel with Telnet.
+;
+; Protocol:
+; ODR-DabMod binds a zmq rep socket so clients must connect
+; using either req or dealer socket.
+; [] denotes message part as zmq multi-part message are used for delimitation.
+; All message parts are utf-8 encoded strings and match the Telnet command set.
+; Explicit codes are denoted with "".
+; The following commands are supported:
+; REQ: ["ping"]
+; REP: ["ok"]
+;
+; REQ: ["get"][module name][parameter]
+; REP: [value] _OR_ ["fail"][error description]
+;
+; REQ: ["set"][module name][parameter][value]
+; REP: ["ok"] _OR_ ["fail"][error description]
+zmqctrl=0
+zmqctrlendpoint=tcp://127.0.0.1:9400
+
+[log]
+; Write to a logfile or to syslog.
+; Setting filename to stderr is very useful during tests and development
+syslog=0
+filelog=1
+filename=/dev/stderr
+
+[input]
+; A file or fifo input is using transport=file
+;transport=file
+;source=/dev/stdin
+
+; When the end of file is reached, it is possible to rewind it
+;loop=0
+
+; When recieving data using ZeroMQ, the source is the URI to be used
+transport=zeromq
+source=tcp://localhost:9050
+; The option max_frames_queued defines the maximum number of ETI frames
+; that can be in the input queue
+max_frames_queued=100
+
+[modulator]
+; Gain mode: 0=FIX, 1=MAX, 2=VAR
+;
+; Mode 0 (FIX) uses a fixed factor and is really not recommended. It is more
+; useful on an academic perspective for people trying to understand the DAB
+; modulation.
+;
+; Mode 1 (MAX) is the normalization of every OFDM symbol. No overshoot, no
+; truncating, but varying output power (around 3dB) which might not be the best
+; for some power amplifier. The output samples are limited to a magnitude
+; of 32768.
+;
+; Mode 2 (VAR) uses the method specified in ETSI 300 798. This method
+; normalizes to 4 times the standard deviation for an approximation of the RMS
+; power. So around 6/100000 samples will be truncated and will introduce some
+; really minor distortion. But this mode also maximizes the output power. This
+; is the gain mode recommended for real world operation as it is based on a DAB
+; standard; the only difference is that ODR-DabMod uses a better resolution
+; with 16 bits instead of 8 bits.
+gainmode=2
+
+; Transmission mode
+; If not defined, take the mode from ETI
+mode=1
+
+; The digital gain is a value that is multiplied to each sample. It is used
+; to tune the chain to make sure that no non-linearities appear up to the
+; USRP daughterboard programmable gain amplifier (PGA).
+; If there is clipping, the spectral quality of the signal will quickly deteriorate,
+; and wide-band noise will be generated.
+;
+; Be aware that there is a dependency with resampling.
+digital_gain=0.8
+
+; Output sample rate. Values other than 2048000 enable
+; resampling.
+; Warning! digital_gain settings are different if resampling
+; is enabled or not !
+rate=2048000
+
+; CIC equaliser for USRP1 and USRP2
+; Set to 0 to disable CicEqualiser
+; when set to 400000000, an additional USRP2 check is enabled.
+; See DabModulator.cpp line 186
+dac_clk_rate=0
+
+; The USRP1 does not have flexible clocking, you will need
+;rate=3200000
+; and
+;dac_clk_rate=128000000
+
+[firfilter]
+; The FIR Filter can be used to create a better spectral quality.
+; The filter taps can be calculated with the python script
+; doc/fir-filter/generate-filter.py
+enabled=0
+filtertapsfile=simple_taps.txt
+
+[output]
+; choose output: possible values: uhd, file, zmq
+output=uhd
+
+[fileoutput]
+; Two output formats are supported: In the default mode,
+; the file output writes I/Q float values (i.e. complex float)
+; to the file. The I and Q samples can take values up to
+; 100000 in absolute magnitude with gainmode FIX.
+; With gainmode VAR, they should never exceed 50000.
+; With gainmode MAX, thet are limited to 32767.
+;format=complexf
+;
+; When the format is set to s8, the output writes I/Q 8-bit
+; signed integers, where the magnitude is multiplied by 128/50000
+; effectively mapping the gainmode VAR range of -50000 -- 50000
+; to -128 -- 128. For other gainmodes, use the digital_gain setting
+; to make sure you don't create clipping.
+;format=s8
+
+; The output file:
+;filename=/dev/stdout
+
+[uhdoutput]
+; The UHD output can be directly used with the Ettus USRP devices
+;
+; You have to set master_clock_rate to a multiple of the
+; sample_rate. Ideally, it should be
+; master_clock_rate = 4 * sample_rate
+; or even a higher factor.
+;
+; Settings for a USRP B100:
+;device=
+; you can put additional UHD device settings here
+;master_clock_rate=32768000
+;type=b100
+;txgain=2.0
+; Try first with small gain values
+; Also set rate to 2048000
+
+; For the B200
+; More information and measurements available on:
+; http://wiki.opendigitalradio.org/index.php/USRP_B200_Measurements
+;
+; Settings:
+device=
+master_clock_rate=32768000
+type=b200
+txgain=40
+; The B200 needs larger gains (up to 89dB) but,
+; "Gain settings are application specific, but it is recommended that users
+; consider using at least half of the available gain to get reasonable dynamic
+; range."
+; From the B200 User Manual
+; http://files.ettus.com/uhd_docs/manual/html/usrp_b200.html
+
+
+; For the USRP1
+;device=
+;type=usrp1
+; the usrp1 can have two daughterboards, the subdevice parameter allows you
+; to choose which one to use
+;subdevice=A:0
+; The USRP1 doesn't support master_clock_rate, you need to enable resamping
+
+
+; You must specify either frequency or channel, but not both.
+;frequency=234208000
+channel=13C
+
+; The reference clock to use. The gpsdo is the ODR LEA-M8F board, the
+; official Ettus GPSDO is selected with gpsdo-ettus
+; possible values : internal, external, MIMO, gpsdo, gpsdo-ettus
+refclk_source=internal
+
+; The reference one pulse-per second to use
+; possible values : none, external, MIMO, gpsdo
+pps_source=none
+
+; Behaviour when external clock reference lock lost
+; possible values: ignore, crash
+behaviour_refclk_lock_lost=ignore
+
+; The maximum accepted holdover time for the gpsdo.
+; Valid only if the refclk and pps_source are set to gpsdo.
+; This value is also used for the initial lock check, and must
+; be at least a minute so that the GPSOD has enough time to lock
+; and to start disciplining its oscillator.
+; Units: seconds
+; Set to 0 to disable holdover check
+; default value: 0
+max_gps_holdover_time=600
+
+; section defining ZeroMQ output properties
+[zmqoutput]
+
+; on which port to listen for connections
+; please see the Transports section in man zmq
+; for more informat io the syntax
+listen=tcp://*:54001
+
+; what ZMQ socket type to use. Valid values: PUB, REP
+; Please see man zmq_socket for documentation
+socket_type=pub
+
+; Used for SFN with the UHD output
+[delaymanagement]
+
+; Enable handling of timestamps for SFN
+synchronous=0
+
+; Whether to mute the TX when incoming frames have no timestamp
+mutenotimestamps=0
+
+; This offset is added to the TIST, and the sum defines the
+; TX time of the transmission frame. It can by changed at runtime
+; through the remote control.
+offset=0.002
+
+; The previous static vs dynamic offset distinction, and reading the
+; modulatoroffset from a file has been removed.
+
+[tii]
+; (experimental)
+; If these options are set, TII transmission is enabled.
+; DAB modes I and II are supported, and must be set explicitly in
+; this file. Reading DAB mode from ETI is not supported.
+enable=0
+comb=16
+pattern=3
+
diff --git a/config/mot/bbc1.txt b/config/mot/bbc1.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/config/mot/bbc1.txt
diff --git a/config/mot/f3.txt b/config/mot/f3.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/config/mot/f3.txt
diff --git a/config/mot/fip.txt b/config/mot/fip.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/config/mot/fip.txt
diff --git a/config/mot/maxxima.txt b/config/mot/maxxima.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/config/mot/maxxima.txt
diff --git a/config/mux.conf b/config/mux.conf
new file mode 100644
index 0000000..0fec378
--- /dev/null
+++ b/config/mux.conf
@@ -0,0 +1,342 @@
+; This is the official configuration file example that
+; serves as documentation for the config file reader.
+; More information about the usage of the tools is available
+; in the guide, which can be found on the
+; www.opendigitalradio.org website.
+;
+; As you can see, comments are defined by semicolons.
+;
+; The format is called INFO format, and defined by boost property_tree:
+; http://www.boost.org/doc/libs/1_41_0/doc/html/boost_propertytree/parsers.html#boost_propertytree.parsers.info_parser
+
+; It consists of six mandatory sections, whose relative order in this
+; file are of no importance.
+
+; The general section defines global multiplex parameters.
+general {
+ ; the DAB Transmission mode (values 1-4 accepted)
+ dabmode 1
+
+ ; the number of ETI frames to generate (set to 0 to get an unlimited number)
+ nbframes 0
+
+ ; boolean fileds can accept either false or true as values:
+
+ ; Enable logging to syslog
+ syslog false
+
+ ; Write the SCCA field useful for the Factum ETI analyser
+ writescca false
+
+ ; Enable timestamp definition necessary for SFN
+ ; This also enables time encoding using the MNSC.
+ tist false
+
+ ; The management server is a simple TCP server that can present
+ ; statistics data (buffers, overruns, underruns, etc)
+ ; which can then be graphed a tool like Munin
+ ; The doc/stats_dabmux_multi.py tool is a suitable
+ ; plugin for that.
+ ; If the port is zero, or the line commented, the server
+ ; is not started.
+ managementport 12720
+
+ ; FIG Carousel
+ ; Set this to true to use the new FIG carousel implementation,
+ ; which makes better usage of the FIB space.
+ new_fig_carousel false
+}
+
+remotecontrol {
+ ; enable the telnet remote control server on the given port
+ ; This server allows you to read and define parameters that
+ ; some features export. It is only accessible from localhost.
+ ; Set the port to 0 to disable the server
+ telnetport 12721
+
+ ; the remote control server makes use of the unique identifiers
+ ; for the subchannels, services and components. Make sure you
+ ; chose them so that you can identify them.
+}
+
+; Some ensemble parameters
+ensemble {
+ id 0x4fff ; you can also use decimal if you want
+ ecc 0xec ; Extended Country Code
+
+ local-time-offset auto ; autmatically calculate from system local time
+ ; or
+ ;local-time-offset 1 ; in hours, supports half-hour offsets
+
+ international-table 1 ; See TS 101 756 clause 5.7
+ ; 1 corresponds to the PTy used in RDS
+ ; 2 corresponds to program types used in north america
+
+ ; all labels are maximum 16 characters in length
+ label "TuxMux"
+ ; The short label is built from the label by erasing letters, and cannot
+ ; be longer than 8 characters. If omitted, it will be truncated from the
+ ; label
+ shortlabel "TxMux"
+
+ ; Announcement settings for FIG0/19
+ announcements {
+ test_announcement {
+ cluster 1
+ flags {
+ Traffic true
+ }
+
+ subchannel sub-f3
+ }
+ }
+}
+
+; Definition of DAB services
+services {
+ ; Each service has it's own unique identifier, that is
+ ; used throughout the configuration file and for the RC.
+ srv-f3 {
+ label "Frequence3"
+ shortlabel "F3"
+ pty 0
+ language 0
+ ; also supports id
+
+ ; List of announcement switching flags signalled in FIG 0/18
+ ; This lists all possible announcements. If one is left out, it is disabled.
+ announcements {
+ Alarm false
+ Traffic true
+ Travel false
+ Warning false
+ News false
+ Weather false
+ Event false
+ Special false
+ ProgrammeInfo false
+ Sports false
+ Finance false
+
+ ; a comma separated list of clusters in which the service belongs to
+ clusters "1,2"
+ }
+ }
+ srv-maxxima {
+ label "Maxxima"
+ }
+ srv-fip {
+ label "FIP"
+ }
+ srv-bbc1 {
+ label "BBC1"
+ }
+
+}
+
+; The subchannels are defined in the corresponding section.
+; supported types are : audio, bridge, data, enhancedpacket,
+; dabplus, dmb, packet, test
+subchannels {
+ sub-f3 {
+ type dabplus
+ inputfile "tcp://*:9001"
+ bitrate 96
+ id 1
+
+ ; type audio subchannels automatically use
+ ; UEP, unless the bitrate is 8, 16, 24, 40 or 144kbit/s
+ ; (EN 300 401 Clause 6.2.1)
+ ; this can be overridden with the option protection-profile
+ protection-profile EEP_A
+ ; supported options: UEP (use only for type audio!)
+ ; EEP_A (for all bitrates)
+ ; EEP_B (bitrates multiple of 32kbit/s)
+
+ ; Set the protection level, possible values depend
+ ; on the protection profile:
+ ; UEP profile: 1 to 5; EEP profiles: 1 to 4
+ protection 2
+ }
+ sub-maxxima {
+ type dabplus
+ inputfile "tcp://*:9002"
+ bitrate 96
+ id 2
+ protection-profile EEP_A
+ protection 2
+ }
+ sub-fip {
+ type dabplus
+ inputfile "tcp://*:9003"
+ bitrate 96
+ id 3
+ protection-profile EEP_A
+ protection 3
+
+ ; ZMQ specific options, mandatory:
+
+ ; Maximum size of input buffer, in AAC frames (24ms)
+ ; when this buffer size is reached, some frames will be
+ ; discarded to get the size again below this value.
+ ; As the present implementation discards entire AAC superframes,
+ ; (5 frames = 120ms) the effect will clearly be audible.
+ zmq-buffer 40
+
+ ; At startup or after an underrun, the buffer is filled to this
+ ; amount of AAC frames before streaming starts.
+ zmq-prebuffering 20
+ }
+
+ sub-bbc1 {
+ type audio
+ ; for audio types, you can use the ZeroMQ input (if compiled in)
+ ; with the following configuration in combination with
+ ; toolame-dab
+ ;
+ ; Support for toolame-dab is not as good as with fdk-aac-dabplus
+ inputfile "tcp://*:9004"
+ bitrate 128
+ id 4
+ protection 1
+
+ ; The options are the same as for dabplus
+ zmq-buffer 40
+ zmq-prebuffering 20
+ }
+}
+
+; For now, each component links one service to one subchannel
+components {
+ ; the component unique identifiers are used for the RC.
+ comp-f3 {
+ ; specifies audio -or- packet type, defaults to zero when not given
+ ; audio: foreground=0, background=1, multi-channel=2
+ ; data: unspecified=0, TMC=1, EWS=2, ITTS=3, paging=4, TDC=5, IP=59, MOT=60, proprietary=61
+ type 0
+
+ ; According to specification, you should not define component labels if
+ ; the service is only used in one component. The service label is sufficient
+ ; in that case.
+ ;label "Frequence3"
+ ;shortlabel "F3"
+ service srv-f3
+ subchannel sub-f3
+
+ ; for audio components, the field
+ figtype 0x2
+ ; defines the User Application Type according to TS 101 756 Table 16:
+ ; 0x2 : MOT Slideshow
+ ; 0x3 : MOT Broadcast Web Site
+ ; 0x4 : TPEG
+ ; 0x5 : DGPS
+ ; 0x6 : TMC
+ ; 0x7 : EPG
+ ; 0x8 : DAB Java
+ ; 0x44a : Journaline
+ ; If not defined, the FIG 0/13 is not transmitted for this component
+
+ ; for packet components, the fields
+ ; "user application type in FIG 0/13 for packet mode"
+ ;figtype
+ ; and the packet address (mandatory)
+ ;address
+ ; are supported, with the same syntax as in the manpage.
+ ; FIG 0/13 is only transmitted when figtype is defined.
+ ; The -d option on the command line is:
+ ;datagroup (true|false)
+ ; and defaults to false.
+ }
+
+ comp-maxxima {
+ service srv-maxxima
+ subchannel sub-maxxima
+
+ figtype 0x2
+ }
+
+ comp-fip {
+ service srv-fip
+ subchannel sub-fip
+
+ figtype 0x2
+ }
+
+ comp-bbc1 {
+ service srv-bbc1
+ subchannel sub-bcc1
+
+ figtype 0x2
+ }
+}
+
+; A list of outputs, in the format
+; unique-id "uri"
+outputs {
+ ; The unique-id has no signification. It can be used by the
+ ; remote control or the statistics server to identify the
+ ; output
+
+ ;supported output types for file and fifo outputs are
+ ; raw, framed and streamed
+ ;
+ ; Please see doc/dab_output_formats.txt
+ ;stdout "fifo:///dev/stdout?type=raw"
+
+ ; ZeroMQ output example
+ ; Listen on all interfaces, on port 9050
+ zmq "zmq+tcp://*:9050"
+
+ ; Throttle output to real-time (one ETI frame every 24ms)
+ throttle "simul://"
+
+ ; The edi output has a different syntax
+ ;edi {
+ ; ; example for unicast EDI
+ ; ;destination "192.168.23.23"
+ ; ; for unicast EDI, do not set source
+
+ ; ; example for multicast EDI, the source IP is required
+ ; ; so that the data is sent on the correct ethernet interface
+ ; destination "232.20.10.1"
+ ; source "192.168.0.50"
+ ; ; The multicast TTL has to be adapted according to your network
+ ; ttl 1
+
+ ; ; The settings below apply to both unicast and multicast
+
+ ; ; EDI uses the UDP protocol
+ ; port 12000
+ ; sourceport 13000
+
+ ; ; Enable the PFT subsystem. If false, AFPackets are sent.
+ ; enable_pft true
+
+ ; ; How many lost fragments can be recovered by Reed-Solomon
+ ; fec 2
+
+ ; ; Length of a RS chunk, can be overriden
+ ; ;default=207
+ ; ;chunk_len 207
+
+ ; ; Save the packets sent over ethernet to the file ./edi.debug
+ ; dump false
+
+ ; ; show more debugging info
+ ; verbose false
+
+ ; ; (optional) set the kind of alignment to use in TAG Packets
+ ; ; 0: no padding
+ ; ; 8: pad to eight bytes (default)
+ ; ; above 8: insert *dmy TAG Item to pad to given size in bytes
+ ; ;tagpacket_alignment 8
+ ;
+
+ ; Other outputs:
+ ; TCP listen on port
+ ;net "tcp://host:port"
+ ; UDP send to host:port
+ ;net "ucp://host:port"
+ ; RAW (for farsync ETI card)
+ ;farsync "raw://device"
+}
diff --git a/config/supervisor/encoder-bbc1.conf b/config/supervisor/encoder-bbc1.conf
new file mode 100644
index 0000000..e3e3637
--- /dev/null
+++ b/config/supervisor/encoder-bbc1.conf
@@ -0,0 +1,7 @@
+[program:encoder-bbc1]
+command=/usr/local/bin/toolame-dab -s 48 -V http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio1_mf_p -b 128 -W /home/odr/config/mot/bbc1.txt -p 34 -P /home/odr/config/mot/maxxima.txt tcp://127.0.0.1:9004
+autostart=false
+autorestart=true
+priority=10
+stderr_logfile=/var/log/supervisor/encoder-bbc1.log
+stdout_logfile=/var/log/supervisor/encoder-bbc1.log
diff --git a/config/supervisor/encoder-f3.conf b/config/supervisor/encoder-f3.conf
new file mode 100644
index 0000000..9fca153
--- /dev/null
+++ b/config/supervisor/encoder-f3.conf
@@ -0,0 +1,7 @@
+[program:encoder-f3]
+command=/usr/local/bin/dabplus-enc --vlc-uri=http://ice.stream.frequence3.net/frequence3-128.mp3 -b 96 -r 48000 --sbr -o tcp://127.0.0.1:9001 --pad=58 --pad-fifo=/home/odr/config/mot/f3.pad --write-icy-text=/home/odr/config/mot/f3.txt
+autostart=false
+autorestart=true
+priority=10
+stderr_logfile=/var/log/supervisor/encoder-f3.log
+stdout_logfile=/var/log/supervisor/encoder-f3.log
diff --git a/config/supervisor/encoder-fip.conf b/config/supervisor/encoder-fip.conf
new file mode 100644
index 0000000..3d91f62
--- /dev/null
+++ b/config/supervisor/encoder-fip.conf
@@ -0,0 +1,7 @@
+[program:encoder-fip]
+command=/usr/local/bin/dabplus-enc --vlc-uri=http://audio.scdn.arkena.com/11016/fip-midfi128.mp3 -b 96 -r 48000 --sbr -o tcp://127.0.0.1:9003 --pad=58 --pad-fifo=/home/odr/config/mot/fip.pad --write-icy-text=/home/odr/config/mot/fip.txt
+autostart=false
+autorestart=true
+priority=10
+stderr_logfile=/var/log/supervisor/encoder-fip.log
+stdout_logfile=/var/log/supervisor/encoder-fip.log
diff --git a/config/supervisor/encoder-maxxima.conf b/config/supervisor/encoder-maxxima.conf
new file mode 100644
index 0000000..2a8c805
--- /dev/null
+++ b/config/supervisor/encoder-maxxima.conf
@@ -0,0 +1,7 @@
+[program:encoder-maxxima]
+command=/usr/local/bin/dabplus-enc --vlc-uri=http://maxxima.mine.nu:8000/ -b 96 -r 32000 --sbr -o tcp://127.0.0.1:9002 --pad=58 --pad-fifo=/home/odr/config/mot/maxxima.pad --write-icy-text=/home/odr/config/mot/maxxima.txt
+autostart=false
+autorestart=true
+priority=10
+stderr_logfile=/var/log/supervisor/encoder-maxxima.log
+stdout_logfile=/var/log/supervisor/encoder-maxxima.log
diff --git a/config/supervisor/mod.conf b/config/supervisor/mod.conf
new file mode 100644
index 0000000..1543abe
--- /dev/null
+++ b/config/supervisor/mod.conf
@@ -0,0 +1,7 @@
+[program:mod]
+command=/usr/local/bin/odr-dabmod -C /home/odr/config/mod.conf
+autostart=false
+autorestart=true
+priority=1
+stderr_logfile=/var/log/supervisor/mod.log
+stdout_logfile=/var/log/supervisor/mod.log
diff --git a/config/supervisor/mux.conf b/config/supervisor/mux.conf
new file mode 100644
index 0000000..c4a721e
--- /dev/null
+++ b/config/supervisor/mux.conf
@@ -0,0 +1,7 @@
+[program:mux]
+command=/usr/local/bin/odr-dabmux -e /home/odr/config/mux.conf
+autostart=false
+autorestart=true
+priority=1
+stderr_logfile=/var/log/supervisor/mux.log
+stdout_logfile=/var/log/supervisor/mux.log