Installation Guide of GNU RADIO On Ubuntu
Installation Guide of GNU RADIO On Ubuntu
On Ubuntu
By,
Sathya S.
Tushar A.
Kiran K.
Veera B.
SOFTWARE RADIO
A software (defined) radio is a radio that includes a transmitter
in which the operating parameters of the transmitter, including
the frequency range, modulation type or maximum radiated or
conducted output power can be altered by making a change in
software without making any hardware changes.
A technique for moving digital signal processing as close as
possible to the antenna.
Replacing rigid Hardware with flexible software based solutions.
What is GNU radio
Free software toolkit for:
Building and deploying software radios
Creating new kinds of radios, modulations,
protocols, development environments...
GNU Radio is a free software toolkit for
learning about, building, and
deploying software-defined radio systems.
Framework
An open source software toolkit
Supports, Linux, Mac OS and Windows
Creating signal processing applications
Defining waveforms in software
Processing waveforms in software
A hardware platform
USRP,
USRP 2
Free Software
All the software are free (Python and C++ source code/Linux
environment)
In most condition, no need expensive RF test machine.
Only a development board needed (Universal Software Radio
Peripheral 2)
Flexible
Software:
Reconfigurable for many other modulation methods for
both standardize radio or self-defined radio.
Hardware:
Rx and Tx are selectable .
Intermediate frequency is controllable.
Extensive Knowledge Involved
Software and Environment:
Python/Numeric python library/wxPython
C++/boost C++ libraries
Linux environment and lots of support packages:
FFTW/cppunit/SWIG/SDCC/
GNU Radio architecture
Communications and RF:
DSP
Digital communications
Wireless communications theory
FPGA and Assemble language may be used
STEPS INVOLVED IN INSTALLATION
AND SETUP OF GNURADIO
Step: 1- Upgrading Ubuntu 9.04 (Jaunty Version)
# aptget update
Step: 2- Install Required Packages
sudo apt-get -y install swig g++ automake1.9 libtool python2.5-dev
fftw3-dev \ libcppunit-dev libboost1.35-dev sdcc-nf libusb-dev \
libsdl1.2-dev python-wxgtk2.8 subversion git guile-1.8-dev \
libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
python-cheetah python-lxml doxygen qt4-dev-tools \
libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools
8
Step: 3- Installing Boost (required for lower
versions)
# cd boost_1_36_0
# BOOST_PREFIX=/usr/bin/boost
# ./configure --prefix=/usr/bin/boost --with-libraries=thread,
date_time
# make
# make install
9
Step: 4- Downloading & Compiling GNU Radio
10
Ref. [2]
Install GNU Radio either from:
-SVN svn co http://gnuradio.org/svn/gnuradio/trunk
gnuradio
or from git:
-git clone http://gnuradio.org/git/gnuradio.git cd
gnuradio
-export LD_LIBRARY_PATH=$BOOST_PREFIX/lib # As per the
instructions for installing Boost
-./bootstrap
-./configure --with-boost=$BOOST_PREFIX # As per the
instructions for installing Boost
-make
-make check
-sudo make install
Step 5:Logging in as root
Why as Root?
- Its easy to access secured files when as root.
-Also we can access hardware components and drivers easily.
How to do so?
- Under the home directory of terminal command su will let us into the
root directory which will thereby prompt us the root password which is set
under our discretion.
- To exit the root use ctrl + d
Step: 6- Testing
#find_usrps
# cd gnuradio-examples/python/usrp
# ./usrp_benchmark_usb.py
When in root:
Verify if the USRP2 is avaliable to Ubuntu:
12
Verify if GNU Radio works with the USRP:
Python interface to USRP
C++ interface to USRP
# cd usrp/host/apps
# ./test_usrp_standard_tx
# ./test_usrp_standard_rx
00:50:c2:85:32:95 hw_rev = 0xo400
If USRP2 is connected the following result is displayed:
Error correction on linking phase
1) Make a copy from the current ld.so.conf file
and save it in a temp folder:
2) Add /usr/local/lib path to it :
3) If you installed Boost (version 1_37_0 for
example) manually, then add its library path to
the file:
4) Delete the original ld.so.conf file and put the
modified file instead:
5) Do ldconfig:
cp /etc/ld.so.conf /tmp/ld.so.conf
echo /usr/local/lib >> /tmp/ld.so.conf
echo /opt/boost_1_37_0/lib >> /tmp/ld.so.conf
sudo mv /tmp/ld.so.conf /etc/ld.so.conf
sudo ldconfig
Demonstrations
Experiment: 1
# cd gnuradio-3.2.2/gnuradio-examples/python/usrp2
#./usrp2_fft.py -R B -d 250 f 2.4G g 10
15
Fast Fourier Transform
References
http://gnuradio.org/download
http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall
http://www.wu.ece.ufl.edu/projects/softwareRadio/documents/L
ibrary_20061129.doc.
THANK YOU