aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--interfaces.tex20
-rw-r--r--scenarios.tex87
2 files changed, 104 insertions, 3 deletions
diff --git a/interfaces.tex b/interfaces.tex
index a008819..ef8fb71 100644
--- a/interfaces.tex
+++ b/interfaces.tex
@@ -1,5 +1,6 @@
\section{Interfacing the Tools}
\subsection{Files}
+\label{sec-files}
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.
@@ -111,6 +112,10 @@ This network connection is based on ZeroMQ, a library that permits the creation
connection with automatic connection management (connection, disconnection, error handling).
ZeroMQ uses a TCP/IP connection, and can therefore be used over any kind of IP networks.
+This connection makes it possible to put the different tools on different 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}
Between fdk-aac-dabplus and ODR-DabMux, the ZeroMQ connection transmits AAC superframes, with
@@ -121,8 +126,6 @@ makes more sense to calculate this in the encoder.
The toolame-dab encoder also can send MPEG frames over ZeroMQ, but is not yet able to calculate and
transmit audio level metadata yet.
-\sidenote{Add configuration example for encoders}
-
On the multiplexer, the subchannel must be configured for ZeroMQ as follows:
\begin{lstlisting}
sub-fb {
@@ -186,7 +189,7 @@ available in fdk-aac-dabplus, which insures that the encoder outputs the AAC bit
nominal rate, aligned to the NTP-synchronised system time, and not to the sound card clock. The
sound card clock error is compensated for inside the encoder.
-
+Complete examples of such a setup are given in the Scenarios.
\subsubsection{Authentication Support}
In order to be able to use the Internet as contribution network, some form of protection has to be
@@ -207,4 +210,15 @@ to set up keys and to distribute them to the encoder and the multiplexer.
\subsubsection{Between Multiplexer and Modulator}
+The ZeroMQ connection can also be used to connect ODR-DabMux to one or more instances of ODR-DabMod.
+One ZeroMQ frame contains four ETI frames, which guarantees that the modulator always assembles the
+transmission frame in a correct way, even in Transmission Mode I, where four ETI frames are used
+together.
+
\subsection{Pipes}
+
+Pipes are an older real-time method to connect several encoders to one multiplexer on the same
+machine. It uses the same configuration as the file input but instead of using files, FIFOs, also
+called ``named pipes'' are created first using \texttt{mkfifo}.
+
+This setup is deprecated in favour of the ZeroMQ interface.
diff --git a/scenarios.tex b/scenarios.tex
index 108d5a0..9362551 100644
--- a/scenarios.tex
+++ b/scenarios.tex
@@ -1,10 +1,97 @@
\section{Usage Scenarios}
\subsection{Experimentation}
\subsubsection{Creation of Non-Realtime Multiplex}
+The creation of a ETI file containing two programmes, one DAB and one \dabplus{} is covered in
+section \ref{sec-files}.
+
\subsubsection{Modulation of ETI for Offline Processing}
+The ETI file generated before can then be used with ODR-DabMod to generate a file containing I/Q
+samples. Here, we must chose between using the command line or the configuration file. For a very
+simple example, using the command line makes sense, but for more advanced features it is preferable
+to use a configuration file. For illustration, we will present both.
+
+To modulate the file \texttt{myfirst.eti} into \texttt{myfirst.iq}, with the default options, the
+command is simply
+
+\begin{lstlisting}
+odr-dabmod myfirst.eti -f myfirst.iq
+\end{lstlisting}
+
+This will create a file containing 16-bit interleaved I/Q at $2048000$ samples per second. The
+transmission mode is defined by the ETI file.
+
+The equivalent configuration file would be
+\begin{lstlisting}
+[input]
+transport=file
+source=myfirst.eti
+
+[output]
+output=file
+
+[fileoutput]
+filename=myfirst.iq
+\end{lstlisting}
+
+This is a very minimal file that defines only the necessary settings equivalent to the above command
+line options. The configuration file however supports more options that the command line, and
+becomes easier to manager once the set becomes more complex. It is best to use the example
+configuration availble in the \texttt{doc/} folder.
\subsection{Interfacing Hardware Devices}
\subsubsection{Ettus USRP}
+ODR-DabMod integrates support for the UHD library that can interface with all USRP devices from
+Ettus. The following configuration file illustrates how to send the \texttt{myfirst.eti} over a USRP
+B200 on channel 13C:
+
+\begin{lstlisting}
+[remotecontrol]
+telnet=1
+telnetport=2121
+
+[input]
+transport=file
+source=myfirst.eti
+loop=1
+
+[modulator]
+gainmode=2
+digital_gain=0.8
+
+[firfilter]
+enabled=1
+filtertapsfile=simple_taps.txt
+
+[output]
+output=uhd
+
+[uhdoutput]
+master_clock_rate=32768000
+type=b200
+txgain=40
+channel=13C
+\end{lstlisting}
+
+This example also shows more options that the example for the file output:
+
+\begin{itemize}
+ \item \texttt{remotecontrol telnet=1} enables the Telnet server that can be used to set
+ parameters while the modulator is running.
+ \item \texttt{loop=1} rewinds the input file when the end is reached. The same ETI file will be
+ transmitted over and over.
+ \item \texttt{gainmode=2} sets the GainMode to VAR, which reduces overshoots in the output.
+ \item \texttt{digital\_gain=0.8} reduces the output sample deviation, to reduce compression in
+ the USRP.
+ \item \texttt{firfilter enabled=1} enables an additional FIR filter to improve the spectrum
+ mask.
+ \item \texttt{master\_clock\_rate=32768000} sets the USRP internal clock to a multiple of
+ $2048000$, which is required if we want to use the native DAB sample rate.
+ \item \texttt{txgain=40} Sets the analog transmit gain of the USRP to 40dB, which is specific to
+ the B200.
+\end{itemize}
+
+Some of these options are not necessary for the system to work, but they improve the performance.
+
\subsubsection{Other Hardware}
\subsection{Audio sources}