aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--figures/txchain-with-encoders.pdfbin0 -> 20003 bytes
-rw-r--r--figures/txchain-with-encoders.svg659
-rw-r--r--interfaces.tex1
-rw-r--r--scenarios.tex62
4 files changed, 711 insertions, 11 deletions
diff --git a/figures/txchain-with-encoders.pdf b/figures/txchain-with-encoders.pdf
new file mode 100644
index 0000000..c8a611e
--- /dev/null
+++ b/figures/txchain-with-encoders.pdf
Binary files differ
diff --git a/figures/txchain-with-encoders.svg b/figures/txchain-with-encoders.svg
new file mode 100644
index 0000000..b1242d0
--- /dev/null
+++ b/figures/txchain-with-encoders.svg
@@ -0,0 +1,659 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="560"
+ height="300"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="txchain-with-encoders.svg"
+ inkscape:export-filename="/home/bram/dab/mmbtools-doc/figures/txchain-with-encoders.png"
+ inkscape:export-xdpi="130"
+ inkscape:export-ydpi="130">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path4039"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4042"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Send"
+ style="overflow:visible">
+ <path
+ id="path4048"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path4033"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4036"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.6464286"
+ inkscape:cx="281.21475"
+ inkscape:cy="151.21475"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1549"
+ inkscape:window-height="880"
+ inkscape:window-x="49"
+ inkscape:window-y="-3"
+ inkscape:window-maximized="1"
+ fit-margin-top="5"
+ fit-margin-left="5"
+ fit-margin-bottom="5"
+ fit-margin-right="5"
+ inkscape:object-paths="true"
+ inkscape:object-nodes="true"
+ inkscape:snap-intersection-paths="true"
+ inkscape:snap-smooth-nodes="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3753"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-1.0898437,-747.8614)">
+ <rect
+ y="967.86139"
+ x="71.089844"
+ height="69.999199"
+ width="200"
+ id="rect3806"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3840"
+ y="997.86139"
+ x="141.08984"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ xml:space="preserve"><tspan
+ y="997.86139"
+ x="141.08984"
+ id="tspan3842"
+ sodipodi:role="line">Multiplexer</tspan><tspan
+ y="1012.8614"
+ x="141.08984"
+ sodipodi:role="line"
+ id="tspan3851">ODR-DabMux</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:italic;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:0;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
+ x="21.089844"
+ y="892.86218"
+ id="text3984"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3988"
+ sodipodi:role="line"
+ x="21.089844"
+ y="892.86218" /></text>
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
+ d="m 271.08984,1002.8614 23.02039,-9e-4"
+ id="path6370"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g3925"
+ transform="translate(-13.910156,70.499278)">
+ <rect
+ y="912.36218"
+ x="310"
+ height="39.999939"
+ width="90"
+ id="rect3855"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3857"
+ y="927.36212"
+ x="315"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ xml:space="preserve"><tspan
+ y="927.36212"
+ x="315"
+ id="tspan3859"
+ sodipodi:role="line">Modulator</tspan><tspan
+ y="942.36212"
+ x="315"
+ sodipodi:role="line"
+ id="tspan3861">ODR-DabMod</tspan></text>
+ </g>
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+ id="rect3881"
+ width="45"
+ height="40"
+ x="401.08984"
+ y="982.86139" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="406.08984"
+ y="997.86139"
+ id="text3883"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3885"
+ sodipodi:role="line"
+ x="406.08984"
+ y="997.86139">USRP</tspan></text>
+ <g
+ id="g3143"
+ transform="translate(-2.2097086,0)">
+ <path
+ sodipodi:nodetypes="ccc"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 548.62673,972.8614 0,30 -30,0"
+ id="path3901"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3903"
+ d="m 557.06438,975.45954 -8.43765,12.40186"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 540.18908,975.45954 8.43765,12.40186"
+ id="path3905"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 386.08984,1002.8614 15,0"
+ id="path3907"
+ inkscape:connector-curvature="0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3995"
+ y="877.86139"
+ x="391.08984"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ xml:space="preserve"><tspan
+ y="877.86139"
+ x="391.08984"
+ sodipodi:role="line"
+ id="tspan3997" /></text>
+ <rect
+ y="982.86139"
+ x="461.08984"
+ height="40.000011"
+ width="55"
+ id="rect3129"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3131"
+ y="997.86139"
+ x="466.08984"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ xml:space="preserve"><tspan
+ y="997.86139"
+ x="466.08984"
+ sodipodi:role="line"
+ id="tspan3133">Analog</tspan><tspan
+ y="1012.8614"
+ x="466.08984"
+ sodipodi:role="line"
+ id="tspan3141">stuff</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+ id="path3135"
+ d="m 446.08984,1002.8614 15,0"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="451.08984"
+ y="877.86139"
+ id="text3137"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3139"
+ sodipodi:role="line"
+ x="451.08984"
+ y="877.86139" /></text>
+ <g
+ transform="translate(-83.910156,-114.50078)"
+ id="g3148">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+ id="rect3150"
+ width="85"
+ height="24.999939"
+ x="310"
+ y="912.36218" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="315"
+ y="927.36212"
+ id="text3152"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3156"
+ sodipodi:role="line"
+ x="315"
+ y="927.36212">dabplus-enc</tspan></text>
+ </g>
+ <g
+ transform="translate(-178.91016,10.499217)"
+ id="g4242">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+ id="rect4244"
+ width="85"
+ height="24.999939"
+ x="310"
+ y="912.36218" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="315"
+ y="927.36212"
+ id="text4246"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan4248"
+ sodipodi:role="line"
+ x="315"
+ y="927.36212">dabplus-enc</tspan></text>
+ </g>
+ <g
+ id="g3160"
+ transform="translate(-274.91016,10.499217)">
+ <rect
+ y="882.36218"
+ x="311"
+ height="54.999943"
+ width="84"
+ id="rect3162"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3164"
+ y="927.36212"
+ x="315"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ y="927.36212"
+ x="315"
+ sodipodi:role="line"
+ id="tspan3166">dabplus-enc</tspan></text>
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+ id="rect4286"
+ width="65"
+ height="20.000002"
+ x="321"
+ y="882.36218" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="331.29214"
+ y="895.36212"
+ id="text4288"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan4290"
+ sodipodi:role="line"
+ x="331.29214"
+ y="895.36212">libVLC</tspan></text>
+ </g>
+ <g
+ transform="translate(-178.91016,-19.500783)"
+ id="g4250">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+ id="rect4252"
+ width="85"
+ height="24.999939"
+ x="310"
+ y="912.36218" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="315"
+ y="927.36212"
+ id="text4254"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan4256"
+ sodipodi:role="line"
+ x="315"
+ y="927.36212">stream dec</tspan></text>
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-mid:none;marker-end:url(#Arrow1Mend)"
+ d="m 171.08984,947.86134 0,15"
+ id="path4258"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3195"
+ d="m 76.089848,947.86134 0,15"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-mid:none;marker-end:url(#Arrow1Mend)"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-mid:none;marker-end:url(#Arrow1Mend)"
+ d="m 171.08984,822.86135 0,64.99999"
+ id="path4260"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3197"
+ d="m 76.089848,822.86135 0,64.99999"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-mid:none;marker-end:url(#Arrow1Mend)"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 171.08984,917.86134 0,5"
+ id="path4262"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-mid:none;marker-end:url(#Arrow1Mend)"
+ d="m 267.08984,822.86134 0,140"
+ id="path3201"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:14px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="272.08984"
+ y="862.86133"
+ id="text3203"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3205"
+ x="272.08984"
+ y="862.86133">ZMQ</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text4264"
+ y="862.86133"
+ x="176.08984"
+ style="font-style:normal;font-weight:normal;font-size:14px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ y="862.86133"
+ x="176.08984"
+ id="tspan4266"
+ sodipodi:role="line">HTTP</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:14px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="81.089851"
+ y="862.86133"
+ id="text3207"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3209"
+ x="81.089851"
+ y="862.86133">HTTP</tspan></text>
+ <g
+ id="g3211"
+ transform="translate(-83.910156,-149.50078)">
+ <rect
+ y="912.36218"
+ x="310"
+ height="24.999939"
+ width="85"
+ id="rect3213"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3215"
+ y="927.36212"
+ x="315"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ y="927.36212"
+ x="315"
+ sodipodi:role="line"
+ id="tspan3217">Studio C</tspan></text>
+ </g>
+ <g
+ id="g4268"
+ transform="translate(-178.91016,-149.50078)">
+ <rect
+ y="912.36218"
+ x="310"
+ height="24.999939"
+ width="85"
+ id="rect4270"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text4272"
+ y="927.36212"
+ x="315"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ y="927.36212"
+ x="315"
+ sodipodi:role="line"
+ id="tspan4274">Studio B</tspan></text>
+ </g>
+ <g
+ transform="translate(-273.91016,-149.50078)"
+ id="g3219">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+ id="rect3221"
+ width="85"
+ height="24.999939"
+ x="310"
+ y="912.36218" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="315"
+ y="927.36212"
+ id="text3223"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3225"
+ sodipodi:role="line"
+ x="315"
+ y="927.36212">Studio A</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ id="path3227"
+ d="m 267.08984,787.86134 0,10"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <g
+ id="g4276"
+ transform="translate(-178.91016,-114.50077)">
+ <rect
+ y="912.36218"
+ x="310"
+ height="24.999939"
+ width="85"
+ id="rect4278"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text4280"
+ y="927.36212"
+ x="315"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ y="927.36212"
+ x="315"
+ sodipodi:role="line"
+ id="tspan4282">stream enc</tspan></text>
+ </g>
+ <g
+ transform="translate(-273.91016,-114.50077)"
+ id="g3229">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+ id="rect3231"
+ width="85"
+ height="24.999939"
+ x="310"
+ y="912.36218" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="315"
+ y="927.36212"
+ id="text3233"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3235"
+ sodipodi:role="line"
+ x="315"
+ y="927.36212">stream enc</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ id="path4284"
+ d="m 171.08984,787.86134 0,10"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 76.089848,787.86134 0,10"
+ id="path3237"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#5f5f5f;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+ d="m 15,130 c 520,0 520,0 520,0"
+ id="path3239"
+ inkscape:connector-curvature="0"
+ transform="translate(1.0898437,747.8614)" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:italic;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
+ x="531.08984"
+ y="897.86139"
+ id="text4039"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan4043"
+ sodipodi:role="line"
+ x="531.08984"
+ y="897.86139">Multiplex operator</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text4047"
+ y="867.86139"
+ x="531.08984"
+ style="font-size:12px;font-style:italic;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
+ xml:space="preserve"><tspan
+ y="867.86139"
+ x="531.08984"
+ sodipodi:role="line"
+ id="tspan4049">Programme originators</tspan></text>
+ <rect
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4292"
+ width="95"
+ height="65.000008"
+ x="126.08984"
+ y="887.86139" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text4294"
+ y="232.78664"
+ x="-950.54004"
+ style="font-style:italic;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Italic';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
+ xml:space="preserve"
+ transform="matrix(0,-1,1,0,0,0)"
+ inkscape:transform-center-y="1.5730333"><tspan
+ y="232.78664"
+ x="-950.54004"
+ sodipodi:role="line"
+ id="tspan4296"
+ style="font-size:11.25px">dab-script</tspan></text>
+ </g>
+</svg>
diff --git a/interfaces.tex b/interfaces.tex
index 1c7512e..41bf72d 100644
--- a/interfaces.tex
+++ b/interfaces.tex
@@ -122,6 +122,7 @@ computers, but it is not necessary. It is also possible, and even encouraged to
use this interconnection locally on the same machine.
\subsubsection{Between Encoder and Multiplexer}
+\label{sec:between_encoder_and_multiplexer}
Between FDK-AAC-DABplus and ODR-DabMux, the ZeroMQ connection transmits AAC
superframes, with additional metadata that contains the audio level indication
diff --git a/scenarios.tex b/scenarios.tex
index d452f99..46fba1a 100644
--- a/scenarios.tex
+++ b/scenarios.tex
@@ -221,8 +221,29 @@ hackrf_transfer -t /tmp/ofdm.fifo -f 216928000 -x 47 \
\subsection{Audio Sources}
Preparing a DAB multiplex with different programmes requires that we are able to
-read and encode several audio sources. This audio data can reach the multiplexer
-in different ways. We will go over different possibilities in this part.
+read and encode several audio sources. We have seen in
+section~\ref{sec:between_encoder_and_multiplexer} how the encoders can be
+interfaced to the modulator. In this section we'll go through the different ways
+to carry the audio data to the encoder.
+
+\subsubsection{Local Audio Card}
+It is possible to use an audio card connected to the computer as source. For
+very simple scenarios, the ALSA input for FDK-AAC-DABplus is easiest to set up.
+This however limits the usage of a single encoder per sound-card, and will not
+scale well if more than one programme has to be encoded on the machine. It is
+however ideal for dedicated encoding machines that can contribute the encoded
+audio over an IP network.
+
+An alternative to using ALSA is JACK\footnote{The JACK Audio Connection Kit is a
+ virtual audio patch, \url{http://www.jack-audio.org}}
+that can be used with a multi-channel sound card. JACK will expose every audio
+input channel, and several encoders can be launched that also connect to JACK.
+The input channels can be freely connected to the encoders thanks to the virtual
+JACK patch panel.
+
+\sidenote{It might be possible to use the libVLC input too, to be defined.}
+FDK-AAC-DABplus supports JACK and ALSA input, but Toolame-dab supports only the
+JACK input.
\subsubsection{Using Existing Web-Streams}
One common scenario is to transmit radio stations that already are available as
@@ -240,18 +261,37 @@ is most often $48000\Hz$ or sometimes $32000\Hz$. A sample-rate conversion is
necessary in the stream decoder.
There are many different stream decoders, and gstreamer, mpg123 and mplayer have
-been tested. We have achieved good results with mplayer, and the dab-scripts
+been tested. By far the easiest way is to use the libVLC binding that can be
+compiled for Toolame-dab and FDK-AAC-DABplus. This library has
+the same features as the VLC audio player, but the audio data is directly passed
+to the encoding routines. This allows the encoder to receive all network
+sources VLC supports, not only HTTP web-streams but also less common setups
+e.g.\ encoded audio inside multicast UDP MPEG-TS.
+This is illustrated in ``Studio A'' in figure~\ref{fig:txchain-with-encoders}.
+
+We have also achieved good results with mplayer, and the dab-scripts
repository\footnote{\url{http://github.com/Opendigitalradio/dab-scripts}}
-contain the script \texttt{encode-jack.sh} that uses mplayer, and illustrates
-how it is possible to encode a web-stream to \dabplus. JACK\footnote{The JACK
- Audio Connection Kit is a virtual audio patch,
-\url{http://www.jack-audio.org}} is used to interconnect the stream decoder to
-the \dabplus encoder.
+contains the script \texttt{encode-jack.sh} that uses mplayer, and illustrates
+how it is possible to encode a web-stream to \dabplus. JACK is used to
+interconnect the stream decoder to the \dabplus encoder.
+This is illustrated in ``Studio B''.
-This script is designed for production use, and also contains automatic restart
-logic in case of a failure.
+\begin{figure}[h]
+ \includegraphics[width=\textwidth]{figures/txchain-with-encoders.pdf}
+ \caption{Three common ways to encode a remote audio sources.}
+ \label{fig:txchain-with-encoders}
+\end{figure}
+
+
+The scripts are designed for production use, and also contain automatic restart
+logic in case of a failure. They send an email and write a message into the
+system log.
\subsubsection{Encoders at Programme Originator Studios}
-\subsubsection{Multi-capture Audio Card}
+In order to avoid the unavoidable encoder cascading when using mp3 web-streams,
+the DAB or \dabplus encoder has to be moved to the programme originator's
+premises, and should directly encode the audio signal coming from the studios.
+This is illustrated in ``Studio C'' in figure~\ref{fig:txchain-with-encoders}.
+
\subsection{Single-Frequency Networks}