Project

General

Profile

GrOsmoSDR » History » Version 30

horiz0n, 02/19/2016 10:50 PM

1 1 horiz0n
[[PageOutline]]
2
3 20 horiz0n
= OSMOCOM Gnuradio Source =
4 1 horiz0n
5 20 horiz0n
While primarily being developed for the OsmoSDR hardware, this block as well supports:
6 1 horiz0n
7 20 horiz0n
 * [http://tetra.osmocom.org/trac/wiki/Funcube_Dongle FunCube Dongle] through libgnuradio-fcd
8
 * [http://sdr.osmocom.org/trac/ OSMOCOM OsmoSDR] Devices through [http://cgit.osmocom.org/osmo-sdr/ libosmosdr]
9
 * [http://greatscottgadgets.com/hackrf/ Great Scott Gadgets HackRF] through [https://github.com/mossmann/hackrf libhackrf]
10 22 horiz0n
 * [https://www.ettus.com/product Ettus USRP] Devices through [http://files.ettus.com/uhd_docs/manual/html/build.html Ettus UHD library]
11 20 horiz0n
 * RTL2832U based DVB-T dongles through [http://sdr.osmocom.org/trac/wiki/rtl-sdr librtlsdr]
12
 * RTL-TCP spectrum server (see librtlsdr project)
13
 * MSi2500 based DVB-T dongles through [http://cgit.osmocom.org/libmirisdr/ libmirisdr]
14
 * gnuradio .cfile input through libgnuradio-core
15
16
By using the OsmoSDR block you can take advantage of a common software api in your application(s) independent of the underlying radio hardware.
17
18 1 horiz0n
== Build process ==
19
20
'''The gnuradio source requires a recent gnuradio (>= v3.6.4.1) to be installed.'''
21 20 horiz0n
22
Before building the source you have to make sure that all the dependencies (see list of supported devices above) you are intend to work with are properly installed. The build system of gr-osmosdr will recognize them and enable specific source/sink components thereafter.
23 1 horiz0n
24
Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version.
25
26
Building with cmake:
27 30 horiz0n
28 1 horiz0n
{{{
29
git clone git://git.osmocom.org/gr-osmosdr
30
cd gr-osmosdr/
31
mkdir build
32
cd build/
33 14 horiz0n
cmake ../
34 30 horiz0n
}}}
35
36
Now cmake should print a summary of enabled/disabled components. You may disable certain ccomponents by following guidelines printed out by cmake. Make sure the device of your interest is listed here. Check your dependencies otherwise.
37
{{{
38
-- ######################################################
39
-- # gr-osmosdr enabled components                         
40
-- ######################################################
41
--   * Python support
42
--   * Osmocom IQ Imbalance Correction
43
--   * sysmocom OsmoSDR
44
--   * FunCube Dongle
45
--   * IQ File Source
46
--   * Osmocom RTLSDR
47
--   * RTLSDR TCP Client
48
--   * Ettus USRP Devices
49
--   * Osmocom MiriSDR
50
--   * HackRF Jawbreaker
51
-- 
52
-- ######################################################
53
-- # gr-osmosdr disabled components                        
54
-- ######################################################
55
-- 
56
-- Building for version: 4c101ea4 / 0.0.1git
57
-- Using install prefix: /usr/local
58
}}}
59
60
Now build & install
61
{{{
62 1 horiz0n
make
63
sudo make install
64
sudo ldconfig
65
}}}
66
67 17 horiz0n
NOTE: The OSMOCOM source block will appear under 'Sources' category in GRC menu.
68 1 horiz0n
69 10 horiz0n
To build the API documentation:
70
{{{
71
cd build/
72 14 horiz0n
cmake ../ -DENABLE_DOXYGEN=1
73 10 horiz0n
make -C docs
74
}}}
75
76 1 horiz0n
== Automated installation ==
77
78
Marcus D. Leech has kindly integrated the forementioned build steps into his gnuradio installation script at [http://www.sbrac.org/files/build-gnuradio]. This is the most user-friendly option so far.
79 7 horiz0n
80 11 horiz0n
== Device specification ==
81
You can specify the source or sink device using a comma separated string of argument=value pairs.
82
83 19 horiz0n
The always-up-to-date block documentation is available [http://cgit.osmocom.org/gr-osmosdr/tree/grc/gen_osmosdr_blocks.py#n100 right here].
84
85 18 horiz0n
=== FCD Source ===
86
||Argument||Notes||
87 28 horiz0n
||fcd=<device-index>|| 0-based device identifier||
88 18 horiz0n
89 1 horiz0n
=== OsmoSDR Source ===
90 28 horiz0n
||Argument||Notes||
91
||osmosdr=<device-index>|| 0-based device identifier||
92 1 horiz0n
||buffers=<number-of-buffers>|| Default is 32||
93 28 horiz0n
||buflen=<length-of-buffer>|| Default is 256kB, must be multiple of 512||
94 1 horiz0n
95 11 horiz0n
=== RTL-SDR Source ===
96 28 horiz0n
||Argument||Notes||
97
||rtl=<device-index>|| 0-based device identifier OR serial number||
98
||rtl_xtal=<frequency>|| Frequency (Hz) used for the RTL chip, accepts eng notation||
99
||tuner_xtal=<frequency>|| Frequency (Hz) used for the tuner chip, accepts eng notation||
100 1 horiz0n
||buffers=<number-of-buffers>|| Default is 32||
101 28 horiz0n
||buflen=<length-of-buffer>|| Default is 256kB, must be multiple of 512||
102 29 horiz0n
||direct_samp=0|1|2|| Enable direct sampling mode on the RTL chip. 0: Disable, 1: use I channel, 2: use Q channel||
103
||offset_tune=0|1|| Enable offset tune mode for E4000 tuners||
104 28 horiz0n
105
NOTE: use rtl_eeprom -s to program your own serial number to the device
106 11 horiz0n
NOTE: if you don't specify rtl_xtal/tuner_xtal, the underlying driver will use 28.0MHz
107 1 horiz0n
108
=== RTL-SDR TCP Source ===
109 28 horiz0n
||Argument||Notes||
110 1 horiz0n
||rtl_tcp=<hostname>:<port>|| hostname defaults to "localhost", port to "1234"||
111
||psize=<payload-size>|| Default is 16384 bytes||
112 29 horiz0n
||direct_samp=0|1|2|| Enable direct sampling mode on the RTL chip 0=Off, 1=I-ADC input enabled, 2=Q-ADC input enabled||
113
||offset_tune=0|1|| Enable offset tune mode for E4000 tuners||
114 1 horiz0n
115 28 horiz0n
=== Miri Source ===
116
||Argument||Notes||
117
||miri=<device-index>|| 0-based device identifier||
118
||buffers=<number-of-buffers>|| Default is 32||
119
120
NOTE: if you don't specify rtl_xtal/tuner_xtal, the underlying driver will use 28.0MHz
121
122 1 horiz0n
=== UHD Source / Sink ===
123 28 horiz0n
||Argument||Notes||
124
||uhd|| Use this argument without a value||
125
||nchan=<channel-count>|| For multichannel USRP configurations use the subdev parameter to specify stream mapping||
126
||subdev=<subdev-spec>|| Examples: "A:0", "B:0", "A:0 B:0" when nchan=2. Refer original ettus documentation on this||
127
||lo_offset=<frequency>|| Offset frequency in Hz, must be within daughterboard bandwidth. Accepts eng notation||
128 1 horiz0n
129
Additional argument/value pairs will be passed to the underlying driver, for more information see
130
[http://files.ettus.com/uhd_docs/manual/html/general.html#specifying-the-subdevice-to-use specifying the subdevice] and 
131
[http://files.ettus.com/uhd_docs/manual/html/identification.html#common-device-identifiers common device identifiers] in the Ettus documentation.
132
133
=== HackRF Source / Sink ===
134 28 horiz0n
||Argument||Notes||
135
||hackrf|| Use this argument without a value||
136 24 horiz0n
||buffers=<number-of-buffers>|| Default is 32||
137
138 28 horiz0n
Only the first device found may be used at the moment because of libhackrf limitation.
139
140 24 horiz0n
=== IQ File Source ===
141 28 horiz0n
||Argument||Notes||
142 24 horiz0n
||file=<path-to-file-name>||||
143 28 horiz0n
||freq=<frequency>|| Center frequency in Hz, accepts eng notation||
144
||rate=<sampling-rate>|| Mandatory, in samples/s||
145 7 horiz0n
||repeat=true|false|| Default is true||
146 28 horiz0n
||throttle=true|false|| Throttle flow of samples, default is true||
147 7 horiz0n
148
== Known Apps ==
149
150
The following 3rd party applications are successfully using gr-osmosdr:
151
152
||'''Name'''||'''Type'''||'''Author'''||'''URL'''||
153
||gr-pocsag||GRC Flowgraph||Marcus Leech||[https://www.cgran.org/browser/projects/gr-pocsag/trunk]||
154 15 horiz0n
||multimode RX||GRC Flowgraph||Marcus Leech||[https://www.cgran.org/browser/projects/multimode/trunk]||
155 8 horiz0n
||simple_fm_rvc||GRC Flowgraph||Marcus Leech||[https://www.cgran.org/browser/projects/simple_fm_rcv/trunk]||
156 16 horiz0n
||Wireless Temp. Sensor RX||Gnuradio App||Kevin Mehall||[https://github.com/kevinmehall/rtlsdr-433m-sensor]||
157 1 horiz0n
||gqrx||SDR GUI||Alexandru Csete||[https://github.com/csete/gqrx]||
158
||tetra_demod_fft||Trunking RX||osmocom team||[http://cgit.osmocom.org/cgit/osmo-tetra/tree/src/demod/python/osmosdr-tetra_demod_fft.py osmosdr-tetra_demod_fft.py] and the [http://tetra.osmocom.org/trac/wiki/osmo-tetra#Quickexample HOWTO] ||
159
||airprobe||GSM sniffer||osmocom team et al||[http://git.gnumonks.org/cgi-bin/gitweb.cgi?p=airprobe.git]||
160
||gr-smartnet (WIP)||Trunking RX||Nick Foster||[http://www.reddit.com/r/RTLSDR/comments/us3yo/rtlsdr_smartnet/][[br]][http://www.reddit.com/r/RTLSDR/comments/vbxl0/attention_grsmartnet_users_or_attempted_users/ Notes from the author]||
161
||gr-air-modes||ADS-B RX||Nick Foster||[https://www.cgran.org/wiki/gr-air-modes] call with --rtlsdr option||
162 16 horiz0n
||gr-ais (fork)||AIS RX||Nick Foster[[br]]Antoine Sirinelli[[br]]Christian Gagneraud||[https://github.com/chgans/gr-ais]||
163
||GNSS-SDR ||GPS RX (Realtime!)||Centre Tecnològic de[[br]]Telecomunicacions de Catalunya||[http://www.gnss-sdr.org/documentation/gnss-sdr-operation-realtek-rtl2832u-usb-dongle-dvb-t-receiver Documentation] and [http://www.gnss-sdr.org]||
164 15 horiz0n
||gr-scan ||Scanner||techmeology||[http://www.techmeology.co.uk/gr-scan/]||
165
||pocsag-mrt||Multichannel Realtime[[br]]Decoder||iZsh||[https://github.com/iZsh/pocsag-mrt]||
166
||osmo-gmr-rtl||GMR1 RX||Dimitri Stolnikov||[http://gmr.osmocom.org/trac/wiki/GettingStarted#RTLSDRdongles]||
167
||simple_ra '''(NEW)'''||Radio Astronomy App||Marcus Leech||[https://cgran.org/wiki/simple_ra]||
168
||FS20_decode '''(NEW)'''||FS20 Decoder||Thomas Frisch||[https://github.com/eT0M/rtl_sdr_FS20_decoder]||
169
||OpenLTE '''(NEW)'''||LTE Toolkit||Ben Wojtowicz||[http://sourceforge.net/p/openlte/home/Home/]||
170 28 horiz0n
171
172
== Credits ==
173
174
gr-osmosdr is developed by Dimitri Stolnikov with contributions from Hoernchen and Steve Markgraf.
Add picture from clipboard (Maximum size: 48.8 MB)