81 lines
3.0 KiB
ReStructuredText
81 lines
3.0 KiB
ReStructuredText
|
.. _usrp:
|
||
|
|
||
|
USRP
|
||
|
====
|
||
|
|
||
|
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.
|
||
|
|
||
|
Set up instructions (Linux)
|
||
|
---------------------------
|
||
|
|
||
|
1. Install the required system packages via APT:
|
||
|
|
||
|
.. code-block:: bash
|
||
|
|
||
|
sudo apt-get install libuhd-dev uhd-host python3-uhd
|
||
|
|
||
|
2. Build and install UHD from source:
|
||
|
|
||
|
.. 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
|
||
|
|
||
|
|
||
|
3. 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'
|
||
|
|
||
|
Further information
|
||
|
-------------------
|
||
|
|
||
|
- `Official Website <https://www.ettus.com/>`_
|
||
|
- `USRP Documentation <https://kb.ettus.com/USRP_Hardware_Driver_and_Interfaces>`_
|