Hardware: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
m (→‎Commercially Available SDR Platforms: updated adalm fpga/cpu)
Line 36: Line 36:
| RF chipset || LMS7002M || LMS7002M || AD9364 or AD9361 || LMS6002M || LMS7002M || LMS7002M || R820T2 || E4000 || AD9363
| RF chipset || LMS7002M || LMS7002M || AD9364 or AD9361 || LMS6002M || LMS7002M || LMS7002M || R820T2 || E4000 || AD9363
|-
|-
| FPGA || Xilinx Artix7 35T || Xilinx Artix7 50T || Xilinx XC6SLX75 || Altera 40KLE/115KLE || Altera 40KLE || Altera MAX 10 || none || None ||  
| FPGA || Xilinx Artix7 35T || Xilinx Artix7 50T || Xilinx XC6SLX75 || Altera 40KLE/115KLE || Altera 40KLE || Altera MAX 10 || none || None || Xilinx Zynq 7000
|-  
|-  
| FPGA Gates, DSP slices || 33k, 90 DSP || 52k, 120 DPS || 75k, 132 DSP || 40K, 58 DSP opt 115k || 40K, 58 DSP || 16k, 45 mult || 0, 0 || 0, 0 ||  
| FPGA Gates, DSP slices || 33k, 90 DSP || 52k, 120 DPS || 75k, 132 DSP || 40K, 58 DSP opt 115k || 40K, 58 DSP || 16k, 45 mult || 0, 0 || 0, 0 || 28k
|-  
|-  
| Industrial temperature range || no || yes || no || Optional || no || no || no || no || 10-40C
| Industrial temperature range || no || yes || no || Optional || no || no || no || no || 10-40C
Line 52: Line 52:
| Bus/interface || PCIe, opt USB 3 adapter $85 || PCIe, opt USB 3 adapter $85 || USB 3 || USB 3 || USB 3 || USB 3 || USB 2 || USB 2 || USB 2.0 OTG
| Bus/interface || PCIe, opt USB 3 adapter $85 || PCIe, opt USB 3 adapter $85 || USB 3 || USB 3 || USB 3 || USB 3 || USB 2 || USB 2 || USB 2.0 OTG
|-  
|-  
| CPU/Bus Interface || || || || || CY3014 || || RTL2832U || RTL2832U || A9,667MHz,
| CPU/Bus Interface || || || || || CY3014 || || RTL2832U || RTL2832U || Dual A9,667MHz,
|-
|-
| Raw bus bandwidth || 10 Gbit/s || 10 Gbit/s || 5 Gbit/s || 5 Gbit/s || 5 Gbit/s || 5 Gbit/s || 480 Mbit/s || 480 Mbit/s || 4800 Mbits/s
| Raw bus bandwidth || 10 Gbit/s || 10 Gbit/s || 5 Gbit/s || 5 Gbit/s || 5 Gbit/s || 5 Gbit/s || 480 Mbit/s || 480 Mbit/s || 4800 Mbits/s

Revision as of 20:07, 18 June 2020

A Quick Guide to Hardware and GNU Radio

Can't Buy Hardware? No problem!

GNU Radio can be used on its own, without any hardware, as a simulation & development environment. GNU Radio has several blocks that can generate data or read/write files in different formats, such as binary complex values or even WAV-files. A lot of prerecorded examples exist that can be used to develop applications without the need for hardware. If you are looking for a particular waveform to develop with and don't have a capture, ask on the mailing list and someone can likely help!

Additionally, GNU Radio is a powerful tool for hardware simulation. You can simulate complete transmitter and receiver chains, including RF, analog, and other relevant impairments that you would encounter in 'real-world' operation.

A very low cost (US $10.00+) receive only hardware option is an RTL-SDR described below.

Commercially Available SDR Platforms

If you want to use real hardware, you have a number of options. The list of hardware vendors that provide GNU Radio support for their products is growing quickly. Hardware ranges from very expensive measurement-quality systems, to very cheap receiver hardware that you can get for less than $50.

This is not a complete list, but rather provides a rundown of some of the more common options.

XTRX CS XTRX Pro USRP B2x0 bladeRF LimeSDR LimeSDR Mini RTL-SDR R820T2 RTL-SDR E4000 ADALM-Pluto
Tuning range 30 MHz - 3.7 GHz 30 MHz - 3.7 GHz 70 MHz - 6 GHz 300 MHz - 3.8 GHz 30 MHz - 3.8 GHz 10 MHz - 3.5 GHz 22 MHz - 2.2 GHz 65 MHz - 2300 MHz, gap@1100 MHz 325 MHz - 3800 MHz
Duplex Full MIMO Full MIMO Full MIMO Full SISO Full MIMO Full SISO RX only Rx only Full SISO
ADC/DAC resolution 12-bit 12-bit 12-bit 12-bit 12-bit 12-bit 8-bit 8-bit 12-bit
Max RF bandwidth 120 MHz 120 MHz 56 MHz 28 MHz 61.44 MHz 30.72 MHz 3.2 Mhz 20 MHz
Rx Noise Figure dB <3.5
Channels 2 2 1 (2 for B210) 1 2 1 1 Rx only 1 Rx only 1
Transmit power 0 to 10dBm 0 to 10dBm 10dBm+ 6dBm 0 to 10dBm 0 to 10dBm none none 7 dBm
RF chipset LMS7002M LMS7002M AD9364 or AD9361 LMS6002M LMS7002M LMS7002M R820T2 E4000 AD9363
FPGA Xilinx Artix7 35T Xilinx Artix7 50T Xilinx XC6SLX75 Altera 40KLE/115KLE Altera 40KLE Altera MAX 10 none None Xilinx Zynq 7000
FPGA Gates, DSP slices 33k, 90 DSP 52k, 120 DPS 75k, 132 DSP 40K, 58 DSP opt 115k 40K, 58 DSP 16k, 45 mult 0, 0 0, 0 28k
Industrial temperature range no yes no Optional no no no no 10-40C
Temperature sensors yes yes no no yes no no No
Frequency stability ±0.5 w/o <±0.01 ppm w/GPS ±0.1 w/o <±0.01 ppm w/GPS ±2 ppm ±1 ppm ±2.5 ppm ±2.5 ppm ±0.5-25 ppm options ±0.5-25 ppm options ± 25 ppm
TCXO VCTCXO Optional Optional
GPS synchronization on board on board Addon (+$636) no no no no no No
Bus/interface PCIe, opt USB 3 adapter $85 PCIe, opt USB 3 adapter $85 USB 3 USB 3 USB 3 USB 3 USB 2 USB 2 USB 2.0 OTG
CPU/Bus Interface CY3014 RTL2832U RTL2832U Dual A9,667MHz,
Raw bus bandwidth 10 Gbit/s 10 Gbit/s 5 Gbit/s 5 Gbit/s 5 Gbit/s 5 Gbit/s 480 Mbit/s 480 Mbit/s 4800 Mbits/s
Dimensions 30 × 51 mm 30 × 51 mm 97 x 155 mm 87 x 131 mm 100 x 60 mm 69 x 31.4 mm 40 x 60 mm typical 40 x 60 mm typical 117 x 79 mm
Extra features GPIO, GPS, SIM card GPIO, GPS, SIM card GPIO GPIO GPIO GPIO SMA optional SMA optional
Sample Clock Sync Yes Yes Yes Yes Yes, In/Out Yes, In No No
Time stamp Sync Yes Yes Yes Yes No No No No
Bias T No No No Yes No No Optional Optional
ANT/CLK Connectors 10 U.FL 2 SMA, 1 U.FL Clk Chip optional SMA Chip optional SMA SMA x 2
Price $260 $490 $686 - $1,119 $415 $299 $139 $10 - $40 $10 - $40 $249

''This list is in alphabetical order. Please maintain that order if you add new devices.''

Analog Device ADALM-PLUTO

Analog Device's ADALM-PLUTO AD9363 single channel based SDR with a range of 325-3200 MHz and a Zynq Z-7010 FPGA.

Analog Devices FMCOMMS2/3/4/5 FMC cards + Xilinx Zynq carrier cards.

The Analog Devices boards should not be regarded as stand alone SDR products, but as platforms that are used to either build commercial hardware products, or understand things at the lowest level. If you want to just experiment/use GNURadio, you are better off ignoring these boards, and going to Ettus section. There are commercial systems which are based on Analog Devices's chips, that may be better supported in GNURadio, like the B200 or B210 from Ettus, or the ASRP4 from Agile Solutions.

Analog Devices makes an AD9364 based platform, which is on a evaluation board. The AD9364 is a 1Rx / 1Tx high performance, highly integrated RF Agile Transceiver™. Its programmability and wideband capability make it ideal for a broad range of transceiver applications. The device combines an RF front end with a flexible mixed-signal baseband section and integrated frequency synthesizers, simplifying design-in by providing a configurable digital interface to a processor. The AD9364 operates in the 70 MHz to 6.0 GHz range, covering most licensed and unlicensed bands. Channel bandwidths from less than 200 kHz to 56 MHz are supported.

  • AD-FMCOMMS4-EBZ : The AD-FMCOMMS4-EBZ board is a comes specifically tuned and optimized to 2.4 GHz and due to the limitations of the on-board discrete external components (baluns), it may exhibit diminished RF performance on some other programmed configurations.

Analog Devices makes an AD9361 based platform, which is on a few different evaluation boards. The AD9361 chip is ideal for a broad range of MIMO (2Rx, 2Tx)transceiver applications. Otherwise it is identical to the AD9364 (70 MHz to 6.0 GHz tuning range, 200 kHz to 56 MHz RF bandwidth). It can be found on:

  • AD-FMCOMMS2-EBZ : The AD-FMCOMMS2-EBZ board is a comes specifically tuned and optimized to 2.4 GHz and due to the limitations of the on-board discrete external components (baluns), it may exhibit diminished RF performance on some other programmed configurations.
  • AD-FMCOMMS3-EBZ : The AD-FMCOMMS3-EBZ provides software developers and system architect who want a single platform to operates over a wider tuning range than the AD-FMCOMMS2-EBZ. RF performance expectations of this board must be tempered with the very wide band front end. It does meet the datasheet specifications at 2.4 GHz, but does not over the entire RF tuning range that the board supports. This board is primarily intended for system investigation and bringing up various waveforms from a software team before custom hardware is complete.
  • AD-FMCOMMS5-EBZ : The AD-FMCOMMS5-EBZ is a high-speed analog module designed to showcase how to sync two AD9361 in multiple-input, multiple-output (4 Rx, 4 Tx MIMO) applications. The AD-FMCOMMS5-EBZ board has both wideband channels covering the full 6 GHz range, as well as narrowband channels matched to 2.4GHz. The AD-FMCOMMS5-EBZ also contains a calibration matrix between the two AD9361s. This switch matrix hardware, combined with the Analog Devices supplied API software, allow for a full digital and RF synchronization between the two AD9361s.

Those boards do not work by themselves, and do require a some sort of FPGA platform. There are HDL designs for a few different Xilinx carriers : The ZedBoard, Xilinx ZC702, Xilinx ZC706 and Avnet's mini-itx, which are all based on Xilinx's Zynq. All of these use an externally built GNURadio block.

These platforms are built on Linux in kernel drivers using the IIO subsystems, which was reviewed with an SDR usecase at FOSDEM 2015

Ettus Research USRP™ Devices

The Ettus Research USRP™ platform is designed for RF applications from DC to 6 GHz, and provides a wide range of devices. The USRP™ product line spans from affordable hobbyist SDRs to high-end high-bandwidth radios. There are also options for GPS-disciplined synchronization, MIMO configurations, and embedded / headless devices.

For information regarding the USRP™ product line, see the Ettus Research website.

All USRPs use the USRP Hardware Driver (UHD™) software to provide device drivers, which can be used in GNU Radio through the `gr-uhd` component. The UHD source code is available on GitHub.

Fairwaves XTRA

Fairwaves offers the small form-factor dual channel XTRA that has a sample rate of up to 120 MSPS SISO / 90 MSPS MIMO and a tuning range of 30 MHz - 3.8 GHz with a PCIe interface and optional PCIe to USB interface for development. Based on the Lime Microsystems LMS7002M with a Xilinx Artix 7 35T/50T FPGA. Also offered is a pro version with a larger fpga and extended temperature range.

Fairwaves UmTRX

UmTRX is an open hardware dual-channel wideband transceiver that covers 300MHz to 3.8GHz. It includes a TCXO and GPS for frequency stability, and is designed for use with mobile base stations, but can easily be used with many other applications.

Host connection is via gigabit Ethernet and a special version of UHD provides a host driver, along with FPGA and ZPU firmware. An alternate version of the firmware, 4xDDC, can be used to provide double the number of receive signal paths (4), for receive-only applications.

Expansion via mezzanine cards is possible and the UmSEL daughter board can be used for improved performance with GSM use.

Funcube Pro+ Dongle

The Funcube Pro+ Dongle is a small and inexpensive device for reception only. It covers a frequency range from 150kHz to 240MHz and 420MHz to 1.9GHz. and plugs into a USB port. There are special blocks available on CGRAN.

KerberosSDR

The KerberosSDR 4 Channel Coherent RTL-SDR For Direction Finding & Passive Radar is [ https://othernet.is/products/kerberossdr-4x-coherent-rtl-sdr based on four R820T2 RF ICs]. Status if GnuRadio drives is unknown.

Great Scott Gadgets HackRF

HackRF One, designed and manufactured by Great Scott Gadgets, is an open source hardware platform for Software Defined Radio. Operating from 1 MHz to 6 GHz, HackRF One is a half-duplex transceiver peripheral with a Hi-Speed USB 2.0 connection. It is bus-powered, portable, and has a maximum quadrature sample rate of 20 Msps. GNU Radio integration is provided via gr-osmosdr.

Lime SDR

Lime Micro offers a one and two channel versions (1x1 and 2x2) of their USB powered SDR that has a sampling bandwidth of 61 MHz and a frequency range of 100 kHz to 3800 MHz. It is available from Crowd Supply

Microtelecom Perseus

The Microtelecom Perseus is a USB 2.0-connected receiver targeted for amateur radio SDR, with a frequency range of 10 kHz to 40 MHz and appropriate preselect filters. See http://www.microtelecom.it/perseus/ for more information.
Andrea Montefusco wrote GNU Radio integration that is provided via gr-microtelecom.

Novena + Myriad-RF module

The Novena open hardware computing platform plus the companion Myriad-RF SDR module together provide a system with a quad-core ARM SoC, GPU, FPGA, dual-Ethernet and wideband transceiver that covers from 380MHz to 3.8GHz. This can be used "headless", with a HDMI monitor, or configured as an all-in-one desktop or a laptop with a flat panel display.

GNU Radio applications are supported via the SoapySDR API and gr-osmosdr blocks, and also via the UHD API and blocks thanks to a SoapySDR module for this.

Nuand BladeRF

BladeRF is a wideband transceiver that covers 300MHz to 3.8GHz, with coverage down to 10MHz made possible with the addition of a block up/down-converter.

Host connection is via USB 3.0 and Nuand support use with Linux, Windows and Mac OS X. GNU Radio integration is provided via gr-osmosdr.

rtl-sdr TV tuners

These are receive-only USB dongles based on the Realtek RTL2832, E4000 or FC0012 chips which are designed for DAB/DVB/FM. They can be used as SDR receivers over a frequency range that extends beyond popular television frequencies. Further information is available from osmocom. GNU Radio integration is provided via gr-osmosdr or gr-baz. These USB dongles are sold from many vendors on the internet including on Amazon and E-Bay starting at around $10, new. There are some models with improved specification versions such as those from Nooelectric and [RTL-SDR.COM that cost up to about $40+. Performance, quality and features can widely vary between different manufactures and unit to unit. Usable performance at higher frequencies may require models with heatsinks, metal cases, etc. Options include RF frequency-range/performance, bias-T, xtal tolerance, TCXO, heatsink, ESD protection, case, ANT as SMA/U.FL/On-board-chip, etc. There are three RF chipsets commonly used in these dongles, the most common is based on the R820T2 with a frequency range of upto 25 MHz ~ 1750 MHz and is often used for ADS-B monitoring. While the less common E4000 based has an extended range of 55 MHz - 2300 MHz, but the E4000 has a dead spot around 1100 MHZ and thus CAN NOT be used for ADS-B. The least common RF chip is the FC0013 with an RF range of 22 MHz - 2200 MHz. There is a small ecosystem of low-cost add-on Filters, LNAs(bias-T may be required), antennas, books, videos, tutorials, bundled kits, etc that are available from multiple vendors on the Internet.

SDRplay RSP family of SDR receivers

These are 12/14bit SDRs giving up to 10MHz spectrum visibility from VLF (1kHz) up to 2GHz with no need for an upconverter. Further information is available from www.sdrplay.com. GNU Radio integration is provided via source blocks developed by HB9FXQ - these are available by following this flow: https://www.sdrplay.com/docs/gr-sdrplay-workflow.pdf

Softrock-like Radio frequency interfaces

Stemming from the amateur radio Softrock (Digital) Direct Conversion devices a family of radio front-ends evolved. The common principle is a direct conversion device that complex mixes the RF signal to base band (a.k.a. audio frequency), using a standard stereo audio interface for input and output. The I and Q channel are mapped to stereo left and right. Advanced devices offer a interface for frequency control and other parameters.


YARD Stick One

A sub 1 GHz half duplex [ https://www.nooelec.com/store/sdr/sdr-receivers/sdr-receivers/yard-stick-one.html Transceiver]. Status of GnuRadio drivers is unknown.

Using your Sound Card with GNU Radio

Most computers nowadays are shipped with a built-in sound interface or sound card. Modern systems universally support input and output with 16 bit resolution at 48 ksps on two channels. Virtually every operating system supports this hardware out of the box, and it's sufficient for a lot of DIY and hobby applications. Additionally, high quality sound interfaces (professional digital audio recording equipment) are available with more than a dozen channels, up to 24bit resolution and 192 ksps.

GNU Radio can use a sound card for both input and output. One way you can use this capability is to create audio interfaces. Do you remember the wonderful screeching and squawking of modems? You could use GNU Radio to experiment with similar communication techniques over audio.

Another way to take advantage of GNU Radio's audio capability is to use a hardware device that converts between audio and RF. Platforms such as SoftRock can be used, in conjunction with GNU Radio and a sound card, to implement a complete radio.

Building your Own Hardware

Several designs are available for electronics enthusiasts interested in assembling their own SDR hardware. Open Source Hardware designs known to work with GNU Radio include:

Other options

Comedi

comedi support is dropped as of GNU Radio 3.8.

The comedi project aims to offer drivers for many different data acquisition devices. GNU Radio includes a component that uses this library, which enables GNU Radio to use all devices support by comedi. Comedi is based on Linux kernel drivers, which results in good real time capabilities, but binds comedi to the Linux platform.

The Catch-All Clause

Every device that can be accessed from your operating system can be supported by GNU Radio. You can write your own drivers by creating source and sink blocks for your specific hardware.

A very comprehensive and structured list about Software Defined Radio and Software Radio by Christophe F4DAN can be found at http://f4dan.free.fr/sdr_eng.html

If you cannot find support for your favourite device, ask at the mailing list for help. Maybe someone already got a working solution or wrote a block, or at least you can get tips and encouraging words for building a block for this hardware.