📄 introduction.tex
字号:
\part{Introduction}\chapter{How to read this document}Before going into details about what is a software-radio, and what itcan be used for, I will give an overview of this document, so that youknow where to start first.This document is separated into six parts:\begin{itemize}\item {Introduction} - this is what you're reading right now. It givessome basic definitions and ideas about the signal-processing part aswell as the chosen implementation.\item {Architecture} - here you'll learn more about the design ofthe different aspects of the software-radio\item {Reference Manual} - when you need to know about a certain functionhow to use it or what it does, this is the place to go. Usually you'llneed the knowledge from the \emph{Technical Documents} to knoweverything.\item {How-to} - a more practical approach, this could also be called\emph{tutorial}, as you learn how to use the software-radiostep-by-step, without an explanation for the gory details.\item {Tipsntricks} - a collection of common pitfalls and how to avoidthem, plus some help on how to do more unusual things.\item {Future Thoughts} - lots of things I wanted to do with thesoftware-radio, both technically and experimentally, but that I didn'thave any time left. Wanna go for it?\end{itemize}At the beginning of each part, you will find a short overview of thedifferent chapters and what they talk about.\section{Overview of this part}\begin{itemize}\item Motivation - why we want to have a software-radio\item System Overview - the basic building blocks of the software-radio\item Usage - what we are doing with it right now\item Outlook - possible future enhancements\end{itemize} \chapter{Motivation}This introduction describes our motivation for building a transceiverbased on software-radio, hereafter called \emph{software-radio testbed,}and gives an overview of the general philosophy.\section{Why Software-Radio?}\index{Software-radio!Definition}\begin{quote}We talk about Software Radio when the map between the data (sendingand receiving) and the data-carrying antenna signal are completely(within hardware limits) specified by the software. Any map that conformswith the hardware limitations (power, bandwith, hardware imperfections)may be implemented by means of an appropriate code. (B.Rimoldi, 2003)\end{quote}If you like the idea of a flexible transceiver and are not too concernedwith size and energy consumption, then you want your transceiver tobe software-radio based. For instance, let us say that you have asoftware radio mobile phone. This mobile phone is a general purposecommunication device with a piece of software that makes it behavelike a mobile phone. You can turn your mobile phone into a GPS receiver,or a TV receiver, or a Wi-Fi interface, just by down-loading a pieceof software (assuming there is a server that has the software youneed).For the technically oriented person: in a software-based transmitter,the software creates the samples corresponding to the signal to betransmitted. A general purpose hardware converts these samples intothe signal that will be sent to the antenna. Similarly, in a software-basedreceiver, the general purpose hardware takes the signal captured bythe antenna and produces the corresponding samples. The software doesthe rest. The hardware is not aware of the standard you are using:it just converts back and forth between samples and waveforms.Fig.\ref{cap:Intelligent-hardware-vs.} shows the two main componentsof a software-defined transceiver. The hardware implements a two-waymapping between waveforms and samples. Except for the possibilityof controlling the power of the transmitted signal, the amplificationof the received signal, as well as some other parameters that arenot relevant for this discussion, this mapper performs the same operationregardless of the standard implemented by the transceiver.%\begin{figure}\begin{center}\includegraphics[% width=60mm, keepaspectratio]{figures/dumb_hardware}\end{center}\caption{\label{cap:fig_dumb_hardware}Dumb hardware andintelligent software}\end{figure}\chapter{System Overview}\index{Simulation mode!Overview}\index{Real-time mode!Overview}The software-radio helps to make it possible to implementa signal-processing algorithm which works on samples that aretransmitted and received over the air.Because the debugging is an important part of the implementation of asignal-processing algorithm, the software-radio can be run in either\emph{simulation mode} or in \emph{real-time mode}. Fig. \ref{fig:simulation_real-time} shows the software-radio in both modes.\begin{figure} \centering\includegraphics[scale=1]{figures/simulation_real-time} \caption{Structure of the software-radio in both modes} \label{fig:simulation_real-time}\end{figure}\index{Visualize!Overview}The \emph{Graphical User Interface} (GUI) is the only visible part ofthe software-radio and allows the user to visualize the state of thedifferent \emph{Modules} as well as to change their configuration. The\emph{Channel} is a general interface that represents either a\emph{Simulation} or has access to the \emph{Hardware}.\section{Simulation Mode}In simulation mode no hardware is used, and the whole transmission issimulated in software, including Gaussian noise and multi-path fading.There are no real-time constraints which makes it very easy to debugthe algorithm to be implemented.Of course, if you don't have access to the right hardware, this is theonly possibility to use the software-radio. However, the\emph{channel-server} which links multiple channels together, iswritten to simulate a real channel with high enough accuracy to testand verify signal-processing algorithms.\section{Real-Time Mode}In real-time mode only the Graphical User Interface runs on Linux,while the rest of the software-radio runs in Real-Time mode, madeavailable through the use of RTLinux. This is necessary, as thetransmission and reception of the samples has to meet time-constraintsthat are not possible to meet in simple Linux.As of spring 2004, there exists two hardware-platform that allow thesoftware-radio to do actual transception of samples over the air. Theolder one, produced by STMicroelectronics, offers a simpleSISO-interface, that is, one antenna at each end of the transmission.The newer interface, produced by ICS-Ltd, allows the software-radio totake advantage of a MIMO-channel, with up to four antennas at each endof a transmission. A MIMO-channel is defined as a channel that has morethan one transmitting antenna and more than one receiving antenna.These channels have very interesting properties, mainly the possibilityto multiply the available channel-capacity by a function of theavailable antennas.\section{Communication}\index{Channel-server!Overview}The software-radio is built to have a two-way communication. So, if youhave more than one instance of a software-radio running, they cancommunicate together. If the software-radio is run in real-time mode,only one instance of a software-radio can run on a computer. So if youwant to communicate in real-time, you need at least two computers. In simulation mode, the number of instances per computer is onlylimited by its calculation-power (and the patience of the user ;). A\emph{Channel-Server} connects all channels of all instances of thesoftware-radio together and makes it possible that everybody can listento what the other radios are sending.% This should go somewhere in the \part{architecture}% For this%reason we implemented a frame-based, slotted Time Division Duplex (TDD)%approach. This means, that at each given moment in time, the%software-radio is either transmitting or receiving. A number of%samples are taken together to form \emph{slots}. Several slots together%form a \emph{frame}, which is the largest entity in the software-radio.\chapter{\label{chap:Usage}Usage}At EPFL, the Federal Institute of Technology in Lausanne, Switzerland,we use the software-radio both in class and for research purposes.This chapter gives an overview of what we did with the software-radiountil the end of 2003, what we are doing now in winter/spring 2004, andwhat we are planning to do during the rest of this year.\section{Past} In class, it has been used to demonstrate the different parts of aradio-transmission, such as modulation, spreading, coding and matchedfiltering. For research, we used it succesfully to demonstrate the usability ofLDPC-codes over the air and to verify their theoretical performance.\section{Present} We are looking in the challenges arising from MIMO transmission thatis coded with LDPC-codes. There are timing constraints to be solved, aswell as theoretical challenges with regard to the MIMO channel to bemet.\section{Future} Different projects for the software-radio are in preparation. Theseinclude a better matched filter (channel estimation), ZigBeeimplementation and the obligatory GPS-decoder.\chapter{Outlook} For the time being, the software-radio is taking a direction towardspoint-to-point communications in MIMO-channels. We would very much liketo study the implications of multi-point to multi-point communications,as well as low-tech implementations of a communication.\section{Multi-point to Multi-point} Point-to-point communications are quite well known. In fact, everycommercially available transmission technology today only works in apoint-to-point configuration, usually surrounded with a method to besure that only one person is sending at the same time on the samefrequency. Different theories describe the possiblity of having more than onesender at the same time and being able to reconstruct the signal at theother end. It would be very interesting to study these theories in areal environment in order to give a feed-back about problems arisingwhen implementing such theories.\section{Low-Tech Communication} The current hardware in use is capable taking advantage of several MHzof spectrum to transmit and receive. HAM-radios only have a couple ofkHz of spectrum available for the transcpetion. It would be interestingto study transmission using a sound-card and a HAM-radio, perhaps topropose a better and faster transmission than AX.25.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -