jangan pernah menyerah walau seberat apapun

Sunday, March 17, 2013

GNU Radio


             
                GNU radio adalah perangkat software yang bisa digunakan untuk membuat sebuah software-defined radio. Jadi apa itu software defined radio? Software defined radio adalah radio yang bagian signal processingnya dijalankan secara software.
Jadi, secara garis besar ada tiga hardware yang dibutuhkan untuk menjalankan sebuah software-defined radio. Yang pertama adalah komputer host. Komputer ini digunakan untuk menjalankan software GNU radio dan seluruh signal processing dilakukan di komputer ini. Hardware kedua adalah USRP. Komputer akan mengirimkan data yang ingin dikirimkan ke USRP, dan USRP akan mengirimkan data yang diterimanya ke komputer. Dan, hardware yang ketiga tentu saja adalah antena (+penguat) untuk mengirimkan gelombang elektromagnetik ke udara.
IMO, GNU radio ini sangat powerful dan berguna terutama untuk kepentingan research ataupun pendidikan. Pasalnya, sejauh ini banyak aplikasi yang bisa dibuat dengan menggunakan GNU Radio. Dengan sedikit googling, bisa dilihat bahwa beberapa orang menggunakan GNU radio untuk berbagai hal, mulai dari akuisisi data GPS, transmitter DVB, komunikasi data, perancangan wimax, radar (buat gw), dan bahkan untuk membuat sebuah BTS. Singkat kata, semua aplikasi yang berkaitan dengan radio bisa dibuat dengan menggunakan perangkat ini. Jadi, buat anak telkom yang pengen belajar lebih coba saja izin ke Pak Andriyan kalau mau research tentang ini.
Buat yang tertarik menggunakan ini, gw sarankan menggunakan linux saja karena lebih simpel. Komponen yang perlu diinstall adalah:
  • GNU Radio
  • Universal Hardware Driver (UHD)


Memasang Boost

Proses memasang boost kurang lebih sebagai berikut :
* Dari terminal masukan perintah :
$ ./bootstrap.sh --show-libraries
$ ./bootstrap.sh --with-libraries=thread,date_time,program_options
$ ./bjam --prefix=/opt/boost_1_44_0
$ ./bjam --prefix=/opt/boost_1_44_0 install

Memasang SDCC dari kode sumber

Proses memasang SDCC sama seperti memasang perangkat lunak yang lain di Linux, menggunakan tiga jurus pamungkas, ./configure, make, sudo make install
* Dari terminal masukan perintah :
$ ./configure
$ make
$ sudo make install

Instalasi GSL dari kode sumber

Proses memasang GSL ini juga sama seperti ritual memasang perangkat lunak di Linux yang lain
* Dari terminal ketik perintah :
$ ./configure
$ make
$ sudo make install

Memasang kebutuhan pustaka dan perangkat lunak yang lain

Karena menggunakan debian, instalasi pustaka dan kebutuhan perangkat lunak pendukung yang lain bisa dilakukan melalui aptitude atau synaptic, dalam contoh ini kita menggunakan aptitude sebagai berikut :
$ sudo apt-get install python-numpy python-qt4 libqwt5-qt4-dev qt4-dev-tools python-qwt3d-qt4 \
libqwtplot3d-qt4-dev python-qt4-dev libxt-dev libaudio-dev libpng-dev libxi-dev libxrender-dev \
libxrandr-dev libfreetype6-dev libfontconfig-dev python-lxml python-cheetah oss-compat swig g++ \
automake1.9 libtool libusb-dev libsdl1.2-dev python-wxgtk2.8 guile-1.8-dev libqt4-dev \
python-opengl fftw3-dev

Memasang GNURadio

Perangkat lunak GNURadio ini sangat terkait dengan perangkat keras yang digunakan. Untuk itu perlu mengetahui clock pada perangkat USRP yang digunakan. Karena AirPutih menggunakan clock 64 Mhz, maka tidak perlu melakukan perubahan pada kode sumber GNURadio. Jika perangkat USRP yang digunakan menggunakan clock 52 Mhz, maka perlu melakukan perubahan pada kode sumber GNURadio. Instalasi GnuRadio kurang lebih seperti berikut ini :
  • Atur variabel LD_LIBRARY_PATH
$ export LD_LIBRARY_PATH=/opt/boost_1_44_0/lib:
Atau kalau mau supaya setiap masuk lingkungan desktop tidak perlu melakukan perintah diatas bisa ditambahkan ke berkas .bashrc :
export LD_LIBRARY_PATH=/opt/boost_1_44_0/lib:$LD_LIBRARY_PATH
  • Kemudian lakukan ritual pemasangan perangkat lunak di Linux seperti biasa, namun pada saat configure perlu mengatur komponen – komponen yang akan dipasang :
$ ./configure --with-boost=/opt/boost_1_44_0 --disable-all-components --enable-usrp \
--enable-omnithread --enable-mblock --enable-pmt --enable-gnuradio-examples --enable-docs \
--enable-doxygen --enable-gnuradio-core --enable-gr-wxgui --enable-gruel \
--enable-gr-utils --enable-gr-usrp
$ make
$ sudo make install
  • Tambahkan grup usrp, kemudian tambahkan pengguna yang akan digunakan untuk menjalankan OpenBTS kedalam grup usrp
$ sudo addgroup usrp
$ sudo adduser <user-yang-akan-digunakan-untuk-menjalankan-openbts> usrp
  • Tulis aturan udev Dari terminal ketik perintah :
$ sudo vim /etc/udev/rules.d/10-usrp.rules
Isi berkas tersebut seperti dibawah ini :
ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe",
SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"




No comments: