RTL-SDR

DVB-T dongles 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 Antti Palosaari

Specifications

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, dongles that use the Elonics E4000 offer the widest possible range (64 - 1700 MHz).

Supported Hardware

The following devices are known to work fine with RTLSDR software:

VID PIDTunerDevice Name
0x0bda0x2832
all of them
Generic RTL2832U (e.g. hama nano)
0x0bda0x2838E4000 ezcap USB 2.0 DVB-T/DAB/FM dongle 
0x0ccd 0x00a9 FC0012Terratec Cinergy T Stick Black (rev 1) 
0x0ccd0x00b3FC0013Terratec NOXON DAB/DAB+ USB dongle (rev 1)  
0x0ccd0x00d3E4000Terratec Cinergy T Stick RC (Rev.3)
0x0ccd0x00e0E4000Terratec NOXON DAB/DAB+ USB dongle (rev 2) 
0x185b 0x0620 E4000 Compro Videomate U620F
0x185b0x0650E4000Compro Videomate U650F
0x1f4d0xb803FC0012GTek T803
0x1f4d0x1f4dFC0012Lifeview LV5TDeluxe
0x1b800xd3a4 FC0013Twintech UT-40
0x1d190x1101FC2580Dexatek DK DVB-T Dongle (Logilink VG0002A)
0x1d190x1102 ?Dexatek DK DVB-T Dongle (MSI DigiVox? mini II V3.0)
0x1d190x1103FC2580Dexatek Technology Ltd. DK 5217 DVB-T Dongle
0x04580x0458Genius TVGo DVB-T03 USB dongle (Ver. B)
0x1b800xd3930xd3930xd393
0x1b800xd394?DIKOM USB-DVBT HD
0x1b800xd395FC0012Peak 102569AGPK
0x1b800xd39dFC0012SVEON STV20 DVB-T USB & FM

If you don't know where to buy one or if you are just looking for a trustworthy source, try http://shop.sysmocom.de/products/eztv668-bulk

People over at reddit are collecting a list (v2) of other devices that are compatible.

Other dongles based on the RTL2832U might be added in the future as well.

This is the PCB of the ezcap-stick:

More pictures can be found here.

Software

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.

The code can be checked out with:

git clone git://git.osmocom.org/rtl-sdr.git

If you are going to "fork it on github" and enhance it, please contribute back and submit your patches to: osmocom-sdr at lists.osmocom.org

A GNU Radio source block for OsmoSDR and rtlsdr is available. Please install a recent gnuradio (>= v3.5.3) in order to be able to use it.

Building the software

rtlsdr library & capture tool

You have to install development packages for libusb1.0 and can either use cmake or autotools to build the software.

Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version.

Building with cmake:

cd rtl-sdr/ 
mkdir build 
cd build 
cmake ../ 
make 
sudo make install

Building with autotools:

cd rtl-sdr/ 
autoreconf -i 
./configure 
make 
sudo make install

The build executable (rtl_sdr) can be found in rtl-sdr/src/.

pre-built Windows version  using libusb 1.0.9 and pthreads-win32 cvs

Gnuradio Source

The gnuradio source requires the rtl-sdr package and a recent gnuradio (>= v3.5.3) to be installed.

The source supports direct device operation as well as a tcp client mode when using the rtl_tcp utility as a spectrum server.

Please note: prior pulling a new version from git and compiling it, please do a "make uninstall" first to properly remove the previous version.

Building with cmake:

git clone git://git.osmocom.org/gr-osmosdr 
cd gr-osmosdr/ 
mkdir build 
cd build/ 
cmake ../ -Wno-dev 
make 
sudo make install 
sudo ldconfig

NOTE: The source block will appear under 'OsmoSDR' category in GRC menu.

Automated installation

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.

Usage

Example: To tune to 392.0 MHz, and set the sample-rate to 1.8 MS/s, use:

./rtl_sdr /tmp/capture.bin -s 1.8e6 -f 392e6

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).

Known problems

  • 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.

Using the data

To convert the data to a standard cfile, following GNU Radio Block can be used:

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  on this thread.

Please note: for realtime operation you may use fifos (mkfifo) to forward the iq data from the capture utility to the GRC flowgraph.

What has been successfully tested so far is the reception of  Broadcast FM and air traffic AM radio,  TETRA GMR GSM ADS-B and  POCSAG.

Tell us your success story with other wireless protocols in ##rtlsdr channel on freenode IRC network.

Multiple GMR-carriers can be seen in a spectrum view with the full 3.2 MHz bandwidth (at 3.2 MS/s).






注:Project: RTL-SDR(原文出处,翻译整理仅供参考!