Project

General

Profile

Rtl-sdr » History » Version 29

horiz0n, 02/19/2016 10:51 PM

1 1 steve-m
[[PageOutline]]
2
= rtl-sdr =
3
4 11 steve-m
DVB-T sticks based on the Realtek RTL2832U can be used as a cheap SDR, since the chip allows transferring the raw I/Q samples to the host, which is officially used for DAB/DAB+/FM demodulation. The possibility of this has been discovered by the V4L/DVB kernel developer [http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/44461/focus=44461 Antti Palosaari].
5 1 steve-m
6
== Specifications ==
7
8 2 steve-m
The RTL2832U outputs 8-bit I/Q-samples, and the highest theoretically possible sample-rate is 3.2 MS/s, however, the highest sample-rate without lost samples that has been tested so far is 2.8 MS/s. The frequency range is highly dependent of the used tuner, sticks that use the Elonics E4000 offer the best range (64 - 1700 MHz).
9 1 steve-m
10
== Supported Hardware ==
11
12
So far, the following devices are supported:
13
14 8 steve-m
 * ezcap EzTV668 USB 2.0 DVB-T/DAB/FM stick (Elonics E4000 tuner) (sources: [http://www.aliexpress.com/product-gs/486876635-DVB-T-Digital-TV-USB-Dongle-Stick-With-FM-DAB-DAB--wholesalers.html AliExpress], [https://www.dealextreme.com/p/dvb-t-digital-tv-usb-dongle-stick-with-fm-dab-dab-44326 Dealextreme])
15 15 steve-m
 * ezcap EzTV666 USB 2.0 DVB-T/DAB/FM stick (Elonics E4000 tuner, [attachment:EZTV666.JPG picture])
16 14 steve-m
 * Hama nano DVB-T stick (Elonics E4000 tuner)
17 1 steve-m
 * Terratec NOXON DAB/DAB+ USB-Stick (Fitipower FC0013 tuner)
18 14 steve-m
19
People over at reddit [http://www.reddit.com/r/RTLSDR/comments/rbqfz/rtlsdr_compatibility_list_work_in_progress_please/ are collecting a list] of other devices that are compatible.
20 2 steve-m
21 1 steve-m
Other sticks based on the RTL2832U might be added in the future as well.
22 5 steve-m
23
This is the PCB of the ezcap-stick:[[br]][[br]]
24
[[Image(ezcap_top.jpg,50%)]][[br]]
25
More pictures can be found [http://www.steve-m.de/pictures/rtl-sdr/ here].
26 2 steve-m
27
== Software ==
28
29
rtl-sdr is a commandline tool that can initialize the RTL2832, tune to a given frequency, and record the I/Q-samples to a file.
30
31
The code can be checked out with:
32
{{{
33
git clone git://git.osmocom.org/rtl-sdr.git
34
}}}
35
36
It can also be browsed on http://cgit.osmocom.org/cgit/rtl-sdr/
37
38 13 steve-m
=== Progress ===
39
40 26 horiz0n
 * A [http://cgit.osmocom.org/cgit/gr-osmosdr/ GNU Radio source block] for [http://sdr.osmocom.org/trac/ OsmoSDR] and rtlsdr is being created. '''Please install a recent gnuradio (>= v3.5.3) to use it.'''
41 19 steve-m
 * Current progress: Rework to a library, support for multiple devices, tuner autodetection, FC0012 support
42 1 steve-m
43
=== Building the software ===
44
45 27 horiz0n
==== rtlsdr library & capture tool ====
46 1 steve-m
47 29 horiz0n
'''You have to install development packages for libusb1.0''' and can either use cmake or autotools to build the software.
48 27 horiz0n
49
Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version.
50
51 19 steve-m
Building with cmake:
52
{{{
53 1 steve-m
cd rtl-sdr/
54 20 horiz0n
mkdir build
55
cd build
56
cmake ../
57 19 steve-m
make
58
}}}
59
60
Building with autotools:
61
{{{
62
cd rtl-sdr/
63
autoreconf -i
64
./configure
65
make
66
}}}
67
68 1 steve-m
The build executable (rtl_sdr) can be found in rtl-sdr/src/.
69 27 horiz0n
70 1 steve-m
==== Gnuradio Source ====
71 27 horiz0n
72 29 horiz0n
'''The gnuradio source requires the rtl-sdr package and a recent gnuradio (>= v3.5.3) to be installed.'''
73 27 horiz0n
74
Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version.
75
76
Building with cmake:
77
{{{
78
git clone git://git.osmocom.org/gr-osmosdr
79
cd gr-osmosdr/
80
mkdir build
81
cd build/
82
cmake ../
83
make
84
make install
85
ldconfig
86
}}}
87
88
==== Automated installation ====
89
90 28 horiz0n
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.
91 2 steve-m
92
=== Usage ===
93
94 1 steve-m
Example: To tune to 392.0 MHz, and set the sample-rate to 1.8 MS/s, use:
95 2 steve-m
96
{{{
97 20 horiz0n
./rtl-sdr /tmp/out.bin -s 1.8e6 -f 392e6
98 2 steve-m
}}}
99
100
If the device can't be opened, make sure you have the appropriate rights to access the device (udev-rules, or running it as root).
101
102
=== Known problems ===
103
104
 * If the samples are written to a harddrive, and not a ramdisk, samples may get dropped. An improved version with proper buffering and asynchronous usage of libusb is in the works.
105
106
== Using the data ==
107
108 3 steve-m
To convert the data to a standard cfile, following GNU Radio Block can be used:[[br]]
109
[[br]][[Image(rtl2832-cfile.png)]][[br]][[br]]
110 2 steve-m
The GNU Radio Companion flowgraph (rtl2832-cfile.grc) is attached to this page. It is based on the FM demodulation flowgraph posted by Alistair Buxton [http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/44461/focus=44525 on this thread].
111 6 steve-m
112 22 horiz0n
Please note: for realtime operation you may use fifos (mkfifo) to forward the iq data from the capture utility to the GRC flowgraph.
113
114 24 horiz0n
What has been successfully tested so far is the reception of FM/AM radio, [http://tetra.osmocom.org/ TETRA], [http://gmr.osmocom.org/ GMR], [http://svn.berlin.ccc.de/projects/airprobe/ GSM], [https://github.com/bistromath/gr-air-modes ADS-B] and [https://github.com/smunaut/osmo-pocsag POCSAG].
115 6 steve-m
[[br]][[br]]
116
[[Image(rtl-sdr-gmr.png)]][[br]]
117
Multiple GMR-carriers can be seen in a spectrum view with the full 3.2 MHz bandwidth (at 3.2 MS/s).
Add picture from clipboard (Maximum size: 48.8 MB)