rtl-sdr
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 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, sticks that use the Elonics E4000 offer the best range (64 - 1700 MHz).
Supported Hardware
So far, the following devices are supported:
- ezcap EzTV668 USB 2.0 DVB-T/DAB/FM stick (Elonics E4000 tuner) (sources: AliExpress, Dealextreme)
- ezcap EzTV666 USB 2.0 DVB-T/DAB/FM stick (Elonics E4000 tuner, picture )
- Hama nano DVB-T stick (Elonics E4000 tuner)
- Terratec NOXON DAB/DAB+ USB-Stick (Fitipower FC0013 tuner)
People over at reddit are collecting a list of other devices that are compatible.
Other sticks 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
It can also be browsed on http://cgit.osmocom.org/cgit/rtl-sdr/
Progress
- A GNU Radio source block is being created
Building the software
To build it, simply run 'make' in the src/-directory and make sure you have libusb1.0-0-dev installed.
Usage
Example: To tune to 392.0 MHz, and set the sample-rate to 1.8 MS/s, use:
./rtl-sdr /tmp/out.bin -s 1800000 -f 392000000
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.
What has been successfully tested so far is the reception of TETRA, GMR and GSM.
Multiple GMR-carriers can be seen in a spectrum view with the full 3.2 MHz bandwidth (at 3.2 MS/s).
Attachments
- rtl2832-cfile.png (23.8 KB) - added by steve-m 2 weeks ago.
- ezcap_top.jpg (177.7 KB) - added by steve-m 2 weeks ago.
top view of the ezcap PCB
- rtl2832-cfile.grc (8.6 KB) - added by steve-m 2 weeks ago.
GRC flowgraph for the RTL2832 file format
- rtl-sdr-gmr.png (42.4 KB) - added by steve-m 2 weeks ago.
spectrum view of GMR carriers
- EZTV666.JPG (163.3 KB) - added by laforge 5 days ago.
Similar but smaller EZTV 666 receiver