84 lines
3.3 KiB
ReStructuredText
84 lines
3.3 KiB
ReStructuredText
.. _usrp:
|
|
|
|
Intro to the USRP family
|
|
========================
|
|
|
|
The USRP (Universal Software Radio Peripheral) product line is a series of software-defined radios (SDRs)
|
|
developed by Ettus Research. These devices are widely used in academia, industry, and research for various
|
|
wireless communication applications, ranging from simple experimentation to complex signal processing tasks.
|
|
|
|
USRP devices offer a flexible platform that can be used with various software frameworks, including GNU Radio
|
|
and the USRP Hardware Driver (UHD). The product line includes both entry-level models for hobbyists and
|
|
advanced models for professional and research use.
|
|
|
|
Supported Models
|
|
----------------
|
|
- USRP B200/B210: Compact, single-board, full-duplex, with a wide frequency range.
|
|
- USRP N200/N210: High-performance models with increased bandwidth and connectivity options.
|
|
- USRP X300/X310: High-end models featuring large bandwidth, multiple MIMO channels, and support for GPSDO.
|
|
- USRP E310/E320: Embedded devices with onboard processing capabilities.
|
|
- USRP B200mini: Ultra-compact model for portable and embedded applications.
|
|
|
|
Key Features
|
|
------------
|
|
- Frequency Range: Typically covers from DC to 6 GHz, depending on the model and daughter boards used.
|
|
- Bandwidth: Varies by model, up to 160 MHz in some high-end versions.
|
|
- Connectivity: Includes USB 3.0, Ethernet, and PCIe interfaces depending on the model.
|
|
- Software Support: Compatible with UHD, GNU Radio, and other SDR frameworks.
|
|
|
|
Hackability
|
|
-----------
|
|
- The UHD library is fully open source and can be modified to meet user untention.
|
|
- Certain USRP models have "RFNoC" which streamlines the inclusion of custom FPGA processing in a USRP.
|
|
|
|
Limitations
|
|
-----------
|
|
- Some models may have limited bandwidth or processing capabilities.
|
|
- Compatibility with certain software tools may vary depending on the version of the UHD.
|
|
- Price range can be a consideration, especially for high-end models.
|
|
|
|
Further Information
|
|
-------------------
|
|
- Official Website: https://www.ettus.com/
|
|
- Documentation: https://kb.ettus.com/USRP_Hardware_Driver_and_Interfaces
|
|
|
|
Installation Instructions (Linux)
|
|
---------------------------------
|
|
|
|
Simple apt installations (may not work for all targets):
|
|
|
|
.. code-block:: bash
|
|
|
|
sudo apt-get install libuhd-dev uhd-host python3-uhd
|
|
|
|
Simple build instructions:
|
|
|
|
.. code-block:: bash
|
|
|
|
sudo apt-get install git cmake libboost-all-dev libusb-1.0-0-dev python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools build-essential
|
|
cd ~
|
|
git clone https://github.com/EttusResearch/uhd.git
|
|
cd uhd/host
|
|
mkdir build
|
|
cd build
|
|
cmake -DENABLE_TESTS=OFF -DENABLE_C_API=OFF -DENABLE_MANUAL=OFF ..
|
|
make -j8
|
|
sudo make install
|
|
sudo ldconfig
|
|
|
|
|
|
Getting UHD working in a python virtual environment:
|
|
|
|
.. code-block:: bash
|
|
|
|
python3 -m venv venv
|
|
pip install -r requirements.txt # If relevant
|
|
source venv/bin/activate
|
|
|
|
Find your dist packages and add to `PYTHONPATH`. Example:
|
|
|
|
.. code-block:: bash
|
|
|
|
export PYTHONPATH='/usr/local/lib/python3.10/site-packages/'
|
|
export PYTHONPATH='/usr/local/lib/python3.10/dist-packages/:$PYTHONPATH'
|