diff options
-rw-r--r-- | interfaces.tex | 28 | ||||
-rw-r--r-- | introduction.tex | 8 | ||||
-rw-r--r-- | mmbtools.tex | 1 | ||||
-rw-r--r-- | production.tex | 35 | ||||
-rw-r--r-- | scenarios.tex | 6 |
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. |