aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Alexander <robin.alexander@netplus.ch>2022-08-24 10:13:00 +0200
committerRobin Alexander <robin.alexander@netplus.ch>2022-08-24 10:13:00 +0200
commit53518d6bf1b476de4bc8cf5dc649183ab670f103 (patch)
tree14a8347e665dc6f108f1413ddd16b5c23cdd0334
parentc4a3c291ea070944cf4713bd5e626abea1e85838 (diff)
downloadmmbtools-doc-53518d6bf1b476de4bc8cf5dc649183ab670f103.tar.gz
mmbtools-doc-53518d6bf1b476de4bc8cf5dc649183ab670f103.tar.bz2
mmbtools-doc-53518d6bf1b476de4bc8cf5dc649183ab670f103.zip
Minor changes
-rw-r--r--interfaces.tex28
-rw-r--r--introduction.tex8
-rw-r--r--mmbtools.tex1
-rw-r--r--production.tex35
-rw-r--r--scenarios.tex6
5 files changed, 43 insertions, 35 deletions
diff --git a/interfaces.tex b/interfaces.tex
index b5a117c..958e37c 100644
--- a/interfaces.tex
+++ b/interfaces.tex
@@ -1,6 +1,6 @@
% LICENSE: see LICENCE
\section{Interfacing the Tools}
-\subsection{Files}
+\subsection{Using 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
@@ -103,14 +103,14 @@ 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}
+\subsection{Using the Network}
In a real-time scenario, where the audio sources produce data continuously and
the tools have to run at the native rate, it is not possible to use files
anymore to interconnect the tools. For this usage, a network interconnection is
available between the tools.
-The standard protocol to carry both contribution (From audio encoder to
-multiplexer) and distribution (from multiplexer to modulators) is
+The standard protocol to carry both contribution (from audio encoder to
+multiplexer) and distribution (from multiplexer to modulator) is
EDI, specified by ETSI~\cite{etsits102693}
EDI can be carried over UDP or other unreliable links, and offers a protection
@@ -136,13 +136,15 @@ The multiplexer cannot easily derive the audio level from the encoded bitstream
without decoding it, so it makes more sense to calculate this in the encoder and
carry it along the encoded data.
-The first step is to encode the 2 audio programs with the output set for EDI:
+The first step is to encode the 2 audio programs with the output set for EDI.
+Assuming that both encoders and multiplexer run on the same host:
\begin{lstlisting}
odr-audioenc --dab -i prog1.wav -b 128 -e tcp://localhost:9001
odr-audioenc -i prog2.wav -b 88 -e tcp://localhost:9002
\end{lstlisting}
-On the multiplexer, the subchannel must be configured for EDI as follows:
+On the multiplexer configuration file, the subchannel must be configured for
+EDI as follows:
\begin{lstlisting}
subchannels {
sub-p1 {
@@ -177,13 +179,16 @@ subchannel that uses a file input. The options are:
\item \texttt{buffer-management}: Two buffer management approaches are
possible with EDI:
- The other option \texttt{timestamped} will take
- into account the timestamps carried in EDI, inserting the audio into the
- ETI frame associated to that same time stamp.
- \texttt{prebuffering} ignores timestamps and
+ \begin{itemize}
+ \item \texttt{prebuffering} ignores timestamps and
pre-buffers some data before it starts streaming. This allows to
compensate for network jitter.
+ \item \texttt{timestamped} takes
+ into account the timestamps carried in EDI, inserting the audio into the
+ ETI frame associated to that same time stamp.
+ \end{itemize}
+
\item \texttt{buffer}: (Both buffer management settings)
The input contains an internal buffer for
incoming data. The maximum buffer size is given by this option, the
@@ -246,7 +251,8 @@ Complete examples of such a setup are given in the scenarios.
The EDI protocol can also carry data of a complete ensemble from ODR-DabMux to
one or more instanced of ODR-DabMod.
-On the multiplexer, the output must be configured for EDI as follows:
+On the multiplexer configuration file, the output must be configured for EDI
+as follows:
\begin{lstlisting}
outputs {
edi {
diff --git a/introduction.tex b/introduction.tex
index 3fa2062..4b6627c 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -1,5 +1,5 @@
% LICENSE: see LICENCE
-\section{Introductions}
+\section{Introduction}
This is the official documentation for the \mmbtools. These tools can be used to
experiment with digital audio broadcasting (DAB) modulation, to learn the
techniques behind it, and to set up a DAB or \dabplus transmitter.
@@ -177,7 +177,8 @@ Additionally, it can output statistics in YAML format, which is useful in
combination with an RTLSDR receiver and the \verb+dab2eti+ tool to monitor
transmissions.
-\section{Installation of the Tools}
+\clearpage
+\section{Installing the Tools}
There are 3 ways to install the tools.
\subsection{Debian Binary Packages}
@@ -220,7 +221,8 @@ Apply the following steps:
\paragraph{Remarks}
The installation script will compile the tools with all the possible features
in order to give you the greatest configuration flexibility. It will also
-install and configure the \texttt{supervisord} package with the sample configuration files.
+install the \texttt{supervisord} package with the configuration files for
+a live broadcasting of 2 dab+ programs.
\subsection{Manual Compilation}
If you wish to compile and install some tools only and reduce disk usage by
diff --git a/mmbtools.tex b/mmbtools.tex
index 94f35ff..6ff8924 100644
--- a/mmbtools.tex
+++ b/mmbtools.tex
@@ -168,6 +168,7 @@ clock_config_t},
\pagestyle{fancy}
\tableofcontents
+\clearpage
\section*{Acronyms}
\markboth{Acronyms}{}
\addcontentsline{toc}{section}{Acronyms}
diff --git a/production.tex b/production.tex
index af0a073..c849e37 100644
--- a/production.tex
+++ b/production.tex
@@ -37,7 +37,7 @@ functional and reliable broadcast setup.
\subsection{Setup steps}
-\paragraph{Choice of computer}
+\paragraph{Select a computer}
First, a suitable computer has to be chosen for running the tools. As this needs
to be as reliable as possible, it is preferable to chose a server designed for
reliability. Because we are driving a USRP over USB, it is essential to have a
@@ -46,7 +46,7 @@ this besides actually testing it. See section~\ref{usrp_b200} for more details.
Redundant power supplies and the ability to use two hard drives in a RAID are
also useful to have.
-\paragraph{Operating System}
+\paragraph{Install the OS}
The operating system needs to be installed next. All the dependencies for the
tools need to be installed, as well as the additional tools needed for the
system: supervisord for process supervision, Munin for monitoring, logging and
@@ -55,18 +55,17 @@ additional topics discussed in section~\ref{systemenvironment}.
If you need to prepare remote encoders, this has to be done for all the machines
you will use.
-\paragraph{Installation of the Tools}
-The tools themselves need to be installed, according to instructions in the
-\texttt{README} and \texttt{INSTALL} files of the repositories. Then you need to
-prepare the configuration for the tools, using the examples and this guide.
-For every programme, create a folder for the slideshow images and gather the
-slides, and prepare the interfaces for DLS text.
-Write the supervisord configuration files that are used to launch all
+\paragraph{Install the tools}
+The tools themselves need to be installed, as discussed previously. Then you need
+to prepare the configuration files. If you used the dab-script installation
+tool, then you will need to adapt them. Otherwise, for every programme, create a
+folder for the slideshow images and gather the slides, and prepare the interfaces
+for DLS text. Write the supervisord configuration files that are used to launch all
ODR-AudioEnc and ODR-PadEnc processes. Write the multiplex configuration, with
all the entries for your programmes and an appropriate supervisor configuration.
Setup ODR-DabMux munin monitoring as desired.
-\paragraph{Verification of Multiplexer}
+\paragraph{Verify the Multiplexer}
At this point you should already be able to launch the configured tools and
verify that they start, connect properly and stay running.
You can simulate process failures by killing any of the tools; the supervisor
@@ -80,15 +79,15 @@ See \url{http://github.com/Opendigitalradio/dablin} for information about
dablin.}
Also check that logging and munin monitoring works.
-\paragraph{ODR-DabMod Configuration}
+\paragraph{Configure the modulator}
Next configure ODR-DabMod. For improved spectrum performance, configure it with
FIR filter enabled, OFDM symbol windowing enabled (if available), with the
-frequency given in your license, and start with a digital gain of $0.5$ and a TX
-gain of $60$dB. If you have a disciplined 10MHz clock reference or a GPSDO,
-configure accordingly. This will ensure the modulator runs at the same rate as
-the rest of the transmission chain whose rate is in turn related to NTP.
+frequency given in your license, and start with a digital gain of $0.5$ and a low
+TX gain, based on your HF device. If you have a disciplined 10MHz clock reference
+or a GPSDO, configure accordingly. This will ensure the modulator runs at the same
+rate as the rest of the transmission chain whose rate is in turn related to NTP.
-\paragraph{Generate Exciter Signal}
+\paragraph{Generate an Exciter Signal}
Prepare the ODR-DabMod supervisor configuration. Connect the USRP to a spectrum
analyser and launch the modulator. Before connecting the power amplifier, make
sure to have a good spectrum at the USRP TX port, and use the remote control
@@ -100,8 +99,8 @@ Ideally, let this setup run for a couple of days and check for the absence of
underruns. This step proves you can generate a valid exciter signal with good
characteristics.
-\paragraph{Connect Power Amplifier}
-After stopping the transmission, connect the USRP to a Band III
+\paragraph{Connect a Power Amplifier}
+After stopping the transmission, connect the HF device to a Band III
filter\footnote{For example, a filter with similar characteristics as the
Mini-Circuits RBP-220W+.} to suppress harmonics, connect to the power amplifier.
Using suitable attenuation, connect the amplifier output to your spectrum
diff --git a/scenarios.tex b/scenarios.tex
index d7a53eb..379025a 100644
--- a/scenarios.tex
+++ b/scenarios.tex
@@ -6,7 +6,7 @@ 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
+The ETI file generated before can then be used with ODR-DabMod to produce 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
@@ -143,7 +143,7 @@ The txgain setting has another range, it is best to start at $0$dB, and increase
it in steps of $3$dB or smaller while measuring the output signal, until the
correct power is reached.
-\subsubsection{Other Hardware with SoapySDR}
+\subsubsection{SoapySDR}
\label{otherhardware}
ODR-DabMod supports other radio interfaces using the
SoapySDR\footnote{\url{https://github.com/pothosware/SoapySDR/wiki}}
@@ -224,7 +224,7 @@ For other SoapySDR hardware, the available device-driver, sampling rates, the
TX gain range and the antenna selection can be discovered using the
\texttt{SoapySDRUtil --probe} command.
-\subsubsection{HackRF Through Stdout Pipe}
+\subsubsection{Other hardware}
For devices that are not offering a SoapySDR device driver, the last resort is
to use standard output or a fifo to carry the IQ data from ODR-DabMod to a tool
that can drive the device.