ria-toolkit-oss/docs/source/sdr_guides/usrp.rst

93 lines
3.2 KiB
ReStructuredText
Raw Permalink Normal View History

2025-09-12 14:51:45 -04:00
.. _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, Radioconda)
---------------------------------------
2025-09-12 14:51:45 -04:00
1. Activate your Radioconda environment:
2025-09-12 14:51:45 -04:00
.. code-block:: bash
2025-09-12 14:51:45 -04:00
conda activate <your-env-name>
2. Install UHD and Python bindings:
2025-09-12 14:51:45 -04:00
.. code-block:: bash
2025-09-12 14:51:45 -04:00
conda install conda-forge::uhd
3. Download UHD images:
.. code-block:: bash
2025-09-12 14:51:45 -04:00
uhd_images_downloader
2025-09-12 14:51:45 -04:00
4. Verify access to your device:
.. code-block:: bash
2025-09-12 14:51:45 -04:00
uhd_find_devices
2025-09-12 14:51:45 -04:00
For USB devices only (e.g. B series), install a ``udev`` rule by creating a link into your Radioconda installation.
.. code-block:: bash
sudo ln -s $CONDA_PREFIX/lib/uhd/utils/uhd-usrp.rules /etc/udev/rules.d/radioconda-uhd-usrp.rules
sudo udevadm control --reload
sudo udevadm trigger
5. (Optional) Update firmware/FPGA images:
.. code-block:: bash
uhd_usrp_probe
This will ensure your device is running the latest firmware and FPGA versions.
2025-09-12 14:51:45 -04:00
Further information
-------------------
- `Official USRP Website <https://www.ettus.com/>`_
2025-09-12 14:51:45 -04:00
- `USRP Documentation <https://kb.ettus.com/USRP_Hardware_Driver_and_Interfaces>`_
- `USRP Setup with Radioconda <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#uhd-ettus-usrp>`_