Project

General

Profile

GettingStarted » History » Revision 15

Revision 14 (horiz0n, 02/19/2016 10:50 PM) → Revision 15/22 (tnt, 01/04/2017 03:44 PM)

{{>toc}} 

 

 h1. Getting Started 



 



 h2. Prerequisites 


 


 You must first prepare your system by installing the required development packages. 

 For debian/ubuntu: 

 <pre> 
 
 apt-get install build-essential libtool autoconf git-core pkg-config libfftw3-dev talloc-dev libpcsclite-dev 
 </pre> 

 

 If you want to capture samples off the air, you'll also need gnuradio and uhd. Installing those is outside the scope of this page, refer to the GNURadio / Ettus documentation. 


 


 h2. Compiling the software 



 



 h3. libosmocore 


 


 You obviously need to install our main utility library: 

 <pre> 
 
 git clone git://git.osmocom.org/libosmocore 
 cd libosmocore 
 autoreconf -i -f 
 ./configure 
 make 
 sudo make install 
 cd .. 
 </pre> 


 


 h3. libosmo-dsp 


 


 Then you need to install our new Software Defined Radio helper library: 

 <pre> 
 
 git clone git://git.osmocom.org/libosmo-dsp 
 cd libosmo-dsp 
 autoreconf -i -f 
 ./configure 
 make 
 sudo make install 
 cd .. 
 </pre> 


 


 h3. osmo-gmr 


 


 And finally compile the main Osmocom GMR software stack: 

 <pre> 
 
 git clone git://git.osmocom.org/osmo-gmr 
 cd osmo-gmr 
 autoreconf -i -f 
 ./configure 
 make 
 cd .. 
 </pre> 


 


 h3. Capture tool 


 


 The current version of the capture tool is not integrated with the main autotool process yet and has to be built separately: 

 <pre> 
 
 cd osmo-gmr/utils/gmr_multi_rx 
 make TARGET=uhd 
 cd ../../.. 
 </pre> 

 

 There are several possible targets depending on your hardware: 
 * usrp: To use the libusrp drivers for the USRP1 hardware (gnuradio has to be compiled with gr-usrp enabled) 
 * uhd: For using any ettus hardware (see "UHD Wiki":http://code.ettus.com/redmine/ettus/projects/uhd/wiki for build instructions) 
 * fcd: To use the specific Fun Cube Dongle Pro drivers ("gr-fcd":https://github.com/csete/gr-fcd has to be installed) 


 


 h3. Wireshark 


 


 <pre> 

 

 <pre> 

 

 <pre> 
 
 git clone git://git.osmocom.org/wireshark 
 cd wireshark 
 git checkout sylvain/gmr 
 ./autogen.sh 
 ./configure 
 make 
 sudo make install 
 cd .. 
 </pre> 


 


 h2. Running the software 



 



 h3. Capturing samples 


 


 You need to capture samples off the air and of course "there's an app for that". 
 For a first try the easier is to lookup a beam that match your geographic area by looking at "Thuraya_Beams":http://gmr.osmocom.org/trac/wiki/Thuraya_Beams and the associated map. 

 <pre> 

 

 This example will capture ARFCN 941 and 942 for 10 second using the 'B' side daughterboard and the RX2 input : 

 <pre> 
 
 ./gmr_multi_rx --gmr1-dl 941 942 -a RX2 -S B:0 -T 10 
 </pre> 

 

 The given channels will be frequency shifted, filtered, resampled and finally written to files with the given --prefix (/tmp/ by default). The file names will be autogenerated based on ARFCN and final sample rate. 

 A few notes concerning multi ARFCN capture: 
 * All the ARFCN need to fit within the bandwidth of your device (so you can't get ARFCN1 and 1007 at once for example) 
 * It can be pretty CPU intensive depending on the # of ARFCNs and how much they're spaced. 


 


 h4. "FunCube Dongle":http://tetra.osmocom.org/trac/wiki/Funcube_Dongle Build 

 

 <pre> 
 
 ./gmr_multi_rx --gain 30 --gmr1-dl 941 942 943 
 </pre> 

 

 * when receiving 3 consecutive channels, the middle channel will be distorted by the center peak caused by dc offset / iq imbalance 
 * when receiving 2 channels, each channel will have a small contribution of the center peak on the right or left side. 
 * best results may be achieved when receiving only one channel. 


 


 h4. Default USRP clock 


 


 <pre> 
 
 ./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 
 </pre> 

 

 Only 75% of the master output rate will be used on the usrp/uhd builds, because of insufficient attenuation of the fpga channelizer at filter edges. 


 


 h4. Modified USRP clocks 


 


 * use --mcr to tell custom fpga frequency in Hz 

 <pre> 
 
 ./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 --mcr 52e6 
 </pre> 

 

 * mcr of 59.904e6 Hz is gmr1-friendly, thus allowing to save on interpolation stage 

 <pre> 
 
 ./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 --mcr 59.904e6 
 </pre> 


 


 h4. RTL SDR dongles 


 


 The attached gnuradio flowgraph has been tested and works well for ARFCN 1007. A decent LNA might be required to be able to receive Thuraya signals. It is essential to adjust "corr_ppm" according to your dongle's frequency error. For recording, set the "arfcn" value and enable the file sink before launching the flowgraph. 


 


 h3. Analyzing them 


 


 * Launch wireshark and listen to the lo interface 
 ** Make sure to use the proper version (see above) 
 ** Also make sure you have the rights to capture on lo 
 <pre> 
 
 <pre> 
 
 * View packets in wireshark using gmr1_bcch.* filters 

Add picture from clipboard (Maximum size: 48.8 MB)