Electronics project notes / Radio and SDR notes
Receivers, and some transcievers
The discovery that many DVB-T TV receiver USB dongles are actually Software Defined Radios (SDRs), covering both (digital) radio and (digital) TV, which lies in the range of ~80MHz to ~800MHz, these have to be relatively wide-range and tunable.
For example, the common RTL2832U sticks seem reasonable at 64MHz through 1.7GHz, which makes them great DIYer's toys, receiveing everything in that range, for as little as EUR15 or so.
That range also includes 315/433/868/915MHz signals, a whole bunch of amateur and commercial radio, and more. It stops short of 2.4GHz communication, though.
(Also, antennas matter to anything to a lot of uses)
SDRs in general are a niche devices (so rare and/or expensive),
the reason DVB-T is so much cheaper is both the fairly specific and smallish frequency range, and mass production),
and note its performance outside its designed range:
in that Radio/TV dongles tend have filters designed for the frequencies their products are aimed at,
and care less about the others.
Given the wide range, this may not affect you too much(verify), but it is a limitation.
This is why some variants of the RTL2832 may work better than others for only ten bucks more.
Also, there are better-designed, better-behaved,
more capable variants on the same theme for on the order of EUR150-300,
and more capable variants that easily cost upwards of EUR1000
including but certainly not limited to
- HackRF (~10MHz..6GHz, 20MHz bandwidth, transceiver)(verify), and see also portapack variant
- BladeRF (~50MHz..3.8GHz, 60MHz bandwidth, transceiver)(verify)
- USRP B200 (70MHz..6GHz, ~50MHz bandwidth, transceiver)(verify)
The bandwidth is the amount of spectrum you can sample at one time.
One of the reasons that of the three above mentioned, the last two are much more expensive, is that they have multiples more bandwidth (RTL-SDR has 2.4 MHz bandwidth).
Which is already more than you need for most hobbyist uses. But it can be a rabbit hole of a hobby.
See also:
RTL-SDR
Getting started
- plug it in
- windows: fiddle with driver stuff
- optional: do a RTL-SDR benchmark to make sure it does what you think it does
- run a tuner program and have fun
http://www.thepowerbase.com/2012/06/getting-started-with-rtl-sdr/
*nix
Software:
- Gqrx [1]
- gnuradio
- rtl-sdr tools
- SDR# apparently works under Mono
http://www.instructables.com/id/rtl-sdr-on-Ubuntu/
Windows
http://rtlsdr.org/softwarewindows
The below focuses on having a Realtek dongle, meaning RTL-SDR via USB.
- Drivers
Windows tries to be automatic about drivers, meaning it will probably install either generic drivers or the ones intended to do only video capture (as the product is intended for).
We want our own control of the tuner, and for it to just hand the raw samples to us. (the realtek chip is mostly just used as an ADC).
You probably want to use Zadig to replace the driver.
For the realtek, the process is proably:
- Run Zadig
- Click Options → List All Devices'
- The device you want is probably called "Bulk-In, Interface (Interface 0)". To be certain, look at the current driver name and/or check that the VID/PID are your device's (against its Properties in Device Management, or against a known list)
- You usually want the "WinUSB" driver (not libusb or libusbk?), and that should be default
- click "Replace Driver" / "Reinstall Driver". It may ask you to reboot.
https://github.com/pbatard/libwdi/wiki/Zadig http://wiki.spench.net/wiki/USRP_Zadig
- Software
- SDR# - a GUI
- The RTLSDR-via-USB support is not in the current stable version. There is a plugin for what is currently the nightly build, but it takes a bunch of steps to figure out manually.
- The easiest way is to find something called "sdr-install.zip", which contains a script that fetches the nightly, the plugin, some more supporting files, and does everything for you.
- If you already had a SDR# setup and added plugins to its config, then you probably do want to things manually. (TODO: mention details here)
- "RTL-SDR / USB is either not connected or its driver is not working properly" seems to happen when you use a USB3 port. Use a USB2 port instead.
- The RTLSDR-via-USB support is not in the current stable version. There is a plugin for what is currently the nightly build, but it takes a bunch of steps to figure out manually.
- Winrad and its forks, HDSDR and WRplus
- HDSDR picks up on .dll files in its directory. If you have none, it will only offer sound card input and output
- Zadig - replaces USB drivers. Initially for USRP, also for RTL2832 and a few others
- gnuradio (windows build)
- BorIP
- the idea is that it allows you to connect to a remote reveiver via the network, so you don't have to be right next to your reveiver / antenna (gives you remote control, you receive baseband data)(verify)
- programs don't have to have to know how to talk to specific hardware, just to BorIP (...so it's also useful on the same host)
- Made for USRP (v1) hardware, also supports others
- for RTL2832U you'll need RTL for the device hint, and sometimes further options
- for the Funcube your'll need to hint FCD
- http://wiki.spench.net/wiki/BorIP
- ExtIO are plugins for Winrad and its forks, HDSDR and WRplus
- ExtIO_USRP connects to a local USRP, or a BorIP server - effectively using whatever that supports
- UHD - USRP Hardware Driver, the new-style driver for USRP. The old one is often referred to as Legacy
- USRP - Universal Software Radio Peripheral, describing a few products from Ettus