aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--interfaces.tex102
-rw-r--r--introduction.tex15
-rw-r--r--mmbtools.tex3
3 files changed, 113 insertions, 7 deletions
diff --git a/interfaces.tex b/interfaces.tex
index 80fbd87..d71a2a9 100644
--- a/interfaces.tex
+++ b/interfaces.tex
@@ -1,4 +1,106 @@
\section{Interfacing the Tools}
\subsection{Files and Pipes}
+The first versions of these tools used files and pipes to exchange data. For
+offline generation of a multiplex or a modulated I/Q, it is possible to
+generate all files separately, one after the other.
+
+Here is an example to generate a two-minute ETI file for a multiplex containing two programmes:
+\begin{itemize}
+ \item one DAB programme at 128kbps, encoded with toolame-dab
+ \item one \dabplus{} programme at 88kbps, encoded with fdk-aac-dabplus
+\end{itemize}
+
+We assume that the audio data for the two programmes is located in uncompressed
+48kHz WAV in the files \filename{prog1.wav} and \filename{prog2.wav}. The first step
+is to encode the audio. The DAB programme is encoded to \filename{prog1.mp2} using:
+\begin{lstlisting}
+toolame -b 128 prog1.wav prog1.mp2
+\end{lstlisting}
+
+The DAB+ programme is encoded to \filename{prog2.dabp}. The extension
+\filename{.dabp} is arbitrary, but since the framing is not the same as for
+other AAC encoded audio, it makes sense to use a special extension. The command
+is:
+\begin{lstlisting}
+dabplus-enc -i prog2.wav -b 88 -a o prog2.dabp
+\end{lstlisting}
+
+These resulting files can then be used with ODR-DabMux to create an ETI file.
+ODR-DabMux supports many options, which makes it much more practical to set
+the configuration using a file than using very long command lines. Here is a short
+file that can be used for the example, which will be saved as \filename{2programmes.mux}:
+\begin{lstlisting}
+general {
+ dabmode 1
+ nbframes 5000
+}
+remotecontrol { telnetport 0 }
+ensemble {
+ id 0x4fff
+ ecc 0xec ; Extended Country Code
+
+ local-time-offset auto
+ international-table 1
+ label "mmbtools"
+ shortlabel "mmbtools"
+}
+services {
+ srv-p1 { label "Prog1" }
+ srv-p2 { label "Prog2" }
+}
+subchannels {
+ sub-p1 {
+ type audio ; MPEG
+ inputfile "prog1.mp2"
+ bitrate 128
+ id 10
+ protection 5
+ }
+ sub-p2 {
+ type dabplus
+ inputfile "prog2.dabp"
+ bitrate 88
+ id 1
+ protection 1
+ }
+}
+components {
+ comp-p1 {
+ label Prog1
+ service srv-p1
+ subchannel sub-p1
+ }
+ comp-p2 {
+ label Prog2
+ service srv-p2
+ subchannel sub-p2
+ }
+}
+outputs { output1 "file://myfirst.eti?type=raw" }
+\end{lstlisting}
+
+This file defines two components, that each link one service and one
+subchannel. The IDs and different protection settings are also defined.
+
+The bitrates defined in the subchannels must correspond to the bitrate set at the encoder.
+
+The duration of the ETI file is limited by the \lstinline{nbframes 5000} setting. Each frame
+corresponds to $24$\ms, and therefore $120 / 0.024 = 5000$ frames are needed
+for $120$ seconds.
+
+The output is written to the file \filename{myfirst.eti} in the ETI(NI) format. Please
+see Appendix~\ref{etiformat} for more options.
+
+To run the multiplexer, run:
+\begin{lstlisting}
+odr-dabmux -e 2programmes.mux
+\end{lstlisting}
+
+This will generate the file \filename{myfirst.eti}, which will be $5000 * 6144
+\approx 30$\si{MB} in size.
+
+Congratulations! You have just created your first DAB multiplex! With the configuration file,
+adding more programmes is easy. More information is available in the \filename{doc/example.mux}
+
\subsection{Over the Network}
\subsubsection{Authentication Support}
diff --git a/introduction.tex b/introduction.tex
index 849849d..e7eb35a 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -33,14 +33,14 @@ composing a \mmbtools transmission chain, and how to set one up.
\subsection{Origins}
In 2002, Communications Research Centre Canada\footnoteurl{http://crc.ca}
started developing a DAB multiplexer. This effort evolved through the years, and
-was published later\sidenote{when?} as \mbox{CRC-DabMux} under the GPL
+was published in September 2009 as \mbox{CRC-DabMux} under the GPL
open-source licence.
CRC also developed a DAB modulator, called \mbox{CRC-DABMOD}, which could create
baseband I/Q samples from an ETI file. This I/Q data could then be set to
a hardware device using another tool. For the Ettus USRPs, a ``wave player''
script was necessary to interface to GNURadio. Only DAB Transmission Mode 2 was
-supported. \mbox{CRC-DABMOD} was also released under the GPL\sidenote{when?}.
+supported. \mbox{CRC-DABMOD} was also released under the GPL in early 2010.
As encoders, toolame could be used for DAB, and CRC developed a closed-source
\mbox{CRC-DABPLUS} \dabplus encoder.
@@ -52,7 +52,7 @@ part of the \mbox{CRC-mmbTools}. These tools made it possible to set up the
first DAB transmission experiments.
In 2012, these tools received experimental support for single-frequency
-networks, a functionality that has been developed by Matthias P. Braendli during
+networks, a functionality that has been developed by Matthias P. Brändli during
his Master's thesis\footnote{The corresponding report is available at
\url{http://mpb.li/report.pdf}}.
Because SFNs only make sense in TM 1, CRC subsequently released a patch to
@@ -62,9 +62,9 @@ At that point, involvement from CRC started to decline. The SFN patch was
finally never included in the \mbox{CRC-mmbTools}, and as time passed by, the
de-facto fork on \url{http://mpb.li} was receiving more and more features.
Having two different programs with the same name made things complicated, and
-the tools were officially forked with the approval of CRC in Feb 2014, and given
-the new name \mbox{ODR-mmbTools}. They are now developed by the Opendigitalradio
-association.
+the tools were officially forked with the approval of CRC in February 2014, and
+given the new name \mbox{ODR-mmbTools}. They are now developed by the
+Opendigitalradio association.
In April 2014, the official \mbox{CRC-mmbTools} website went offline, and it has
become very difficult, if not impossible to acquire licences for the
@@ -110,7 +110,8 @@ graphical analysis (spectrum) is to be done.
\subsubsection{toolame-dab}
TooLAME is a MPEG-1 Layer II audio encoder that is used to encode audio for the
DAB standard. The original project has been unmaintained since 2003, but the
-twolame fork that pursues the development removed the DAB framing.
+twolame fork that pursues the development removed the DAB framing. Because of
+this, twolame is not suitable for DAB.
The toolame-dab fork includes the ZeroMQ output and PAD insertion support, but
the audio coder is the same as the one in tooLAME.
diff --git a/mmbtools.tex b/mmbtools.tex
index 7354251..d451a5e 100644
--- a/mmbtools.tex
+++ b/mmbtools.tex
@@ -68,6 +68,8 @@
\newcommand{\captionwidth}{0.9\textwidth}
\newcommand{\mmbtools}{\mbox{ODR-mmbTools}\xspace}
+\newcommand{\filename}[1]{\texttt{#1}}
+
% index stuff
\usepackage{tocbibind} % Index in TOC
%\usepackage{makeidx}
@@ -151,6 +153,7 @@ clock_config_t},
\centering
\parbox{2.2in}{\includegraphics[width=16em]{figures/dab-pour-chats.jpg}}
\qquad
+ \caption{Okay, maybe put a real logo here\ldots}
\end{figure}
\vspace*{1cm}