Rtl-sdr » History » Version 28
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 | * the librtlsdr-branch has been merged to master |
||
43 | 1 | steve-m | |
44 | === Building the software === |
||
45 | |||
46 | 27 | horiz0n | ==== rtlsdr library & capture tool ==== |
47 | |||
48 | You have to install development packages for libusb1.0 and can either use cmake or autotools to build the software. |
||
49 | |||
50 | Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version. |
||
51 | |||
52 | 19 | steve-m | Building with cmake: |
53 | {{{ |
||
54 | 1 | steve-m | cd rtl-sdr/ |
55 | 20 | horiz0n | mkdir build |
56 | cd build |
||
57 | cmake ../ |
||
58 | 19 | steve-m | make |
59 | }}} |
||
60 | |||
61 | Building with autotools: |
||
62 | {{{ |
||
63 | cd rtl-sdr/ |
||
64 | autoreconf -i |
||
65 | ./configure |
||
66 | make |
||
67 | }}} |
||
68 | |||
69 | 1 | steve-m | The build executable (rtl_sdr) can be found in rtl-sdr/src/. |
70 | 27 | horiz0n | |
71 | ==== Gnuradio Source ==== |
||
72 | |||
73 | The gnuradio source requires the rtl-sdr package and a recent gnuradio (>= v3.5.3) to be installed. |
||
74 | |||
75 | Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version. |
||
76 | |||
77 | Building with cmake: |
||
78 | {{{ |
||
79 | git clone git://git.osmocom.org/gr-osmosdr |
||
80 | cd gr-osmosdr/ |
||
81 | mkdir build |
||
82 | cd build/ |
||
83 | cmake ../ |
||
84 | make |
||
85 | make install |
||
86 | ldconfig |
||
87 | }}} |
||
88 | |||
89 | ==== Automated installation ==== |
||
90 | |||
91 | 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. |
92 | 2 | steve-m | |
93 | === Usage === |
||
94 | |||
95 | 1 | steve-m | Example: To tune to 392.0 MHz, and set the sample-rate to 1.8 MS/s, use: |
96 | 2 | steve-m | |
97 | {{{ |
||
98 | 20 | horiz0n | ./rtl-sdr /tmp/out.bin -s 1.8e6 -f 392e6 |
99 | 2 | steve-m | }}} |
100 | |||
101 | 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). |
||
102 | |||
103 | === Known problems === |
||
104 | |||
105 | * 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. |
||
106 | |||
107 | == Using the data == |
||
108 | |||
109 | 3 | steve-m | To convert the data to a standard cfile, following GNU Radio Block can be used:[[br]] |
110 | [[br]][[Image(rtl2832-cfile.png)]][[br]][[br]] |
||
111 | 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]. |
112 | 6 | steve-m | |
113 | 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. |
114 | |||
115 | 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]. |
116 | 6 | steve-m | [[br]][[br]] |
117 | [[Image(rtl-sdr-gmr.png)]][[br]] |
||
118 | Multiple GMR-carriers can be seen in a spectrum view with the full 3.2 MHz bandwidth (at 3.2 MS/s). |