Compare commits
No commits in common. "9cbb9716af6468de1274529fb4d031601c7b8fbb" and "0b595e19e8753d46d4584b7450f6e70ba34507a3" have entirely different histories.
9cbb9716af
...
0b595e19e8
10
README.md
10
README.md
|
|
@ -40,13 +40,15 @@ RIA Toolkit OSS is the open-source version of the RIA Toolkit, providing the fun
|
||||||
|
|
||||||
- Fundamental recording augmentations and impairments for radio ML dataset preparation.
|
- Fundamental recording augmentations and impairments for radio ML dataset preparation.
|
||||||
|
|
||||||
- A unified interface for interacting with software-defined radios, including [USRP](https://www.ettus.com/products/), [BladeRF](https://www.nuand.com/), [PlutoSDR](https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html), and [bladeRF](https://www.nuand.com/bladerf-1/). (Support for [RTL-SDR](https://www.rtl-sdr.com/), [HackRF](https://greatscottgadgets.com/hackrf/), and [thinkRF](https://thinkrf.com/) coming soon!).
|
- (Coming soon) A unified interface for interacting with software-defined radios, including [USRP](https://www.ettus.com/products/), [BladeRF](https://www.nuand.com/), [PlutoSDR](https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html), [RTL-SDR](https://www.rtl-sdr.com/), [HackRF](https://greatscottgadgets.com/hackrf/), and [thinkRF](https://thinkrf.com/).
|
||||||
|
|
||||||
|
- (Coming soon) Basic model training and testing utilities.
|
||||||
|
|
||||||
## 💡 Want More RIA?
|
## 💡 Want More RIA?
|
||||||
|
|
||||||
- **[RIA Toolkit](https://qoherent.ai/riatoolkit/)**: The full, unthrottled set of tools for developing, testing, and deploying radio intelligence applications.
|
- **[RIA Toolkit](https://qoherent.ai/riatoolkit/)**: The full, unthrottled set of tools for developing, testing, and deploying radio intelligence applications.
|
||||||
|
|
||||||
- **[RIA Hub](https://qoherent.ai/riahub/)**: Wield the RIA Toolkit, plus purpose-built automations, directly in your browser without the need to write code or set up infrastructure. Additionally, unlock access to Qoherent's rich IP library as well as community projects.
|
- **[RIA Hub](https://qoherent.ai/riahub/)**: Wield the RIA Toolkit, plus purpose-built automations, directly in your browser, without the need to write code or set up infrastructure. Additionally, unlock access to Qoherent's rich IP library as well as community projects.
|
||||||
|
|
||||||
- **[RIA RAN](https://qoherent.ai/intelligent-5g-ran/)**: Radio intelligence solutions engineered to seamlessly integrate with existing RAN environments, including ORAN-compliant networks.
|
- **[RIA RAN](https://qoherent.ai/intelligent-5g-ran/)**: Radio intelligence solutions engineered to seamlessly integrate with existing RAN environments, including ORAN-compliant networks.
|
||||||
|
|
||||||
|
|
@ -54,13 +56,11 @@ RIA Toolkit OSS is the open-source version of the RIA Toolkit, providing the fun
|
||||||
|
|
||||||
RIA Hub Toolkit OSS can be installed either as a Conda package or as a standard Python package.
|
RIA Hub Toolkit OSS can be installed either as a Conda package or as a standard Python package.
|
||||||
|
|
||||||
Please note that SDR drivers must be installed separately. Refer to the relevant guide in the project documentation for setup instructions: [SDR Guides](https://ria-toolkit-oss.readthedocs.io/en/latest/sdr_guides/).
|
|
||||||
|
|
||||||
### Installation with Conda (recommended)
|
### Installation with Conda (recommended)
|
||||||
|
|
||||||
Conda package for RIA Toolkit OSS are available on RIA Hub: [RIA Hub Conda Package Registry: `ria-toolkit-oss`](https://riahub.ai/qoherent/-/packages/conda/ria-toolkit-oss).
|
Conda package for RIA Toolkit OSS are available on RIA Hub: [RIA Hub Conda Package Registry: `ria-toolkit-oss`](https://riahub.ai/qoherent/-/packages/conda/ria-toolkit-oss).
|
||||||
|
|
||||||
RIA Toolkit OSS can be installed into any Conda environment. However, it is recommended to install within the base environment of [Radioconda](https://github.com/radioconda/radioconda-installer), which includes [GNU Radio](https://www.gnuradio.org/) and several pre-configured libraries for common SDR devices.
|
RIA Toolkit OSS can be installed into any Conda environment. However, it is recommended to install within the base environment of [Radioconda](https://github.com/radioconda/radioconda-installer), which includes [GNU Radio](https://www.gnuradio.org/) and several pre-configured libraries for common SDR devices. Detailed instructions for installing and setting up Radioconda are available in the project README.
|
||||||
|
|
||||||
Please follow the steps below to install RIA Toolkit OSS using Conda:
|
Please follow the steps below to install RIA Toolkit OSS using Conda:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,4 +4,4 @@ Getting Started
|
||||||
.. todo::
|
.. todo::
|
||||||
|
|
||||||
Getting started instructions are coming soon! In the meantime, feel free
|
Getting started instructions are coming soon! In the meantime, feel free
|
||||||
to explore the project documentation. Many components include usage examples.
|
to explore the project documentation, where many components include usage examples.
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,6 @@ Installation
|
||||||
|
|
||||||
RIA Hub Toolkit OSS can be installed either as a Conda package or as a standard Python package.
|
RIA Hub Toolkit OSS can be installed either as a Conda package or as a standard Python package.
|
||||||
|
|
||||||
Please note that SDR drivers must be installed separately. Refer to the relevant guide in the
|
|
||||||
:ref:`SDR Guides <sdr_guides>` section of the documentation for addition setup instructions.
|
|
||||||
|
|
||||||
We want your experience with RIA Toolkit OSS to be as smooth and frictionless as possible. If you run into any
|
We want your experience with RIA Toolkit OSS to be as smooth and frictionless as possible. If you run into any
|
||||||
issues during installation, please reach out to our support team: ``support@qoherent.ai``.
|
issues during installation, please reach out to our support team: ``support@qoherent.ai``.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,17 +41,17 @@ Limitations
|
||||||
transfer rates.
|
transfer rates.
|
||||||
|
|
||||||
Set up instructions (Linux, Radioconda)
|
Set up instructions (Linux, Radioconda)
|
||||||
---------------------------------------
|
---------------------------
|
||||||
|
|
||||||
1. Activate your Radioconda environment.
|
Step 1: Activate your Radioconda environment.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
conda activate <your-env-name>
|
conda activate <your-env-name>
|
||||||
|
|
||||||
2. Install the base dependencies and drivers (*Easy method*):
|
Step 2: Install the base dependencies and drivers ('Easy method')
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo add-apt-repository ppa:nuandllc/bladerf
|
sudo add-apt-repository ppa:nuandllc/bladerf
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
|
@ -59,9 +59,9 @@ Set up instructions (Linux, Radioconda)
|
||||||
sudo apt-get install libbladerf-dev
|
sudo apt-get install libbladerf-dev
|
||||||
sudo apt-get install bladerf-fpga-hostedxa4 # Necessary for installation of bladeRF 2.0 Micro A4.
|
sudo apt-get install bladerf-fpga-hostedxa4 # Necessary for installation of bladeRF 2.0 Micro A4.
|
||||||
|
|
||||||
3. Install a ``udev`` rule by creating a link into your Radioconda installation:
|
Step 3: Install a udev rule by creating a link into your radioconda installation.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf1.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf1.rules
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf1.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf1.rules
|
||||||
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf2.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf2.rules
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf2.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf2.rules
|
||||||
|
|
@ -72,6 +72,6 @@ Set up instructions (Linux, Radioconda)
|
||||||
Further Information
|
Further Information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- `Official BladeRF Website <https://www.nuand.com/>`_
|
- `Official Website <https://www.nuand.com/>`_
|
||||||
- `BladeRF GitHub Repository <https://github.com/Nuand/bladeRF>`_
|
- `BladeRF GitHub Repository <https://github.com/Nuand/bladeRF>`_
|
||||||
- `BladeRF Setup with Radioconda <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#bladerf>`_
|
- `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#bladerf>`
|
||||||
|
|
|
||||||
|
|
@ -40,44 +40,46 @@ Limitations
|
||||||
- USB 2.0 connectivity might limit data transfer rates compared to USB 3.0 or Ethernet-based SDRs.
|
- USB 2.0 connectivity might limit data transfer rates compared to USB 3.0 or Ethernet-based SDRs.
|
||||||
|
|
||||||
Set up instructions (Linux, Radioconda)
|
Set up instructions (Linux, Radioconda)
|
||||||
---------------------------------------
|
---------------------------
|
||||||
|
|
||||||
1. Activate your Radioconda environment:
|
Step 1: Activate your Radioconda environment.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
conda activate <your-env-name>
|
conda activate <your-env-name>
|
||||||
|
|
||||||
2. Install the System Package (Ubuntu / Debian):
|
Step 2: Install the System Package (Ubuntu / Debian)
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install hackrf
|
sudo apt-get install hackrf
|
||||||
|
|
||||||
3. Install a ``udev`` rule by creating a link into your Radioconda installation:
|
Step 3: Install a udev rule by creating a link into your radioconda installation.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/53-hackrf.rules /etc/udev/rules.d/53-radioconda-hackrf.rules
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/53-hackrf.rules /etc/udev/rules.d/53-radioconda-hackrf.rules
|
||||||
sudo udevadm control --reload
|
sudo udevadm control --reload
|
||||||
sudo udevadm trigger
|
sudo udevadm trigger
|
||||||
|
|
||||||
Make sure your user account belongs to the plugdev group in order to access your device:
|
Make sure your user account belongs to the plugdev group in order to access your device:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo usermod -a -G plugdev <user>
|
sudo usermod -a -G plugdev <user>
|
||||||
|
|
||||||
.. note::
|
You may have to restart for this change to take effect.
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
`HackRF Software Installation Guide <https://hackrf.readthedocs.io/en/latest/installing_hackrf_software.html>`_
|
||||||
|
|
||||||
You may have to restart your system for changes to take effect.
|
|
||||||
|
|
||||||
Further information
|
Further information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- `Official HackRF Website <https://greatscottgadgets.com/hackrf/>`_
|
- `Official Website <https://greatscottgadgets.com/hackrf/>`_
|
||||||
- `HackRF Project Documentation <https://hackrf.readthedocs.io/en/latest/>`_
|
- `Project Documentation <https://hackrf.readthedocs.io/en/latest/>`_
|
||||||
- `HackRF Software Installation Guide <https://hackrf.readthedocs.io/en/latest/installing_hackrf_software.html>`_
|
|
||||||
- `HackRF GitHub Repository <https://github.com/greatscottgadgets/hackrf>`_
|
- `HackRF GitHub Repository <https://github.com/greatscottgadgets/hackrf>`_
|
||||||
- `HackRF Setup with Radioconda <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#hackrf>`_
|
- `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#hackrf>`
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,13 @@ SDR Guides
|
||||||
##########
|
##########
|
||||||
|
|
||||||
This section contains guides for the various SDR devices supported by the toolkit. Each guide details the supported models,
|
This section contains guides for the various SDR devices supported by the toolkit. Each guide details the supported models,
|
||||||
their key capabilities and limitations, as well as additional information needed for setup and configuration.
|
their key capabilities and limitations, and any additional information needed for setup and configuration.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
USRP <usrp>
|
|
||||||
BladeRF <blade>
|
BladeRF <blade>
|
||||||
PlutoSDR <pluto>
|
|
||||||
HackRF <hackrf>
|
HackRF <hackrf>
|
||||||
|
PlutoSDR <pluto>
|
||||||
|
USRP <usrp>
|
||||||
|
RTL-SDR <rtl>
|
||||||
|
|
|
||||||
|
|
@ -44,17 +44,17 @@ Limitations
|
||||||
- USB 2.0 connectivity might limit data transfer rates compared to USB 3.0 or Ethernet-based SDRs.
|
- USB 2.0 connectivity might limit data transfer rates compared to USB 3.0 or Ethernet-based SDRs.
|
||||||
|
|
||||||
Set up instructions (Linux, Radioconda)
|
Set up instructions (Linux, Radioconda)
|
||||||
---------------------------------------
|
---------------------------
|
||||||
|
|
||||||
1. Activate your Radioconda environment:
|
Step 1: Activate your Radioconda environment.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
conda activate <your-env-name>
|
conda activate <your-env-name>
|
||||||
|
|
||||||
2. Install system dependencies:
|
Step 2: Install system dependancies.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y \
|
sudo apt-get install -y \
|
||||||
|
|
@ -70,23 +70,24 @@ Set up instructions (Linux, Radioconda)
|
||||||
libavahi-common-dev \
|
libavahi-common-dev \
|
||||||
libaio-dev
|
libaio-dev
|
||||||
|
|
||||||
3. Install a ``udev`` rule by creating a link into your Radioconda installation:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
Step 3: Install a udev rule by creating a link into your radioconda installation.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/90-libiio.rules /etc/udev/rules.d/90-radioconda-libiio.rules
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/90-libiio.rules /etc/udev/rules.d/90-radioconda-libiio.rules
|
||||||
sudo udevadm control --reload
|
sudo udevadm control --reload
|
||||||
sudo udevadm trigger
|
sudo udevadm trigger
|
||||||
|
|
||||||
Once you can talk to the hardware, you may want to perform the post-install steps detailed on the `PlutoSDR Documentation <https://wiki.analog.com/university/tools/pluto>`_.
|
Once you can talk to the hardware, you may want to perform the post-install steps detailed on the PlutoSDR documentation below.
|
||||||
|
|
||||||
4. (Optional) Building ``libiio`` or ``libad9361-iio`` from source:
|
Step 4 (Optional): Building libiio or libad9361-iio from source.
|
||||||
|
|
||||||
This step is only required if you want the latest version of these libraries not provided in Radioconda.
|
Only needed if you want the very latest version of the libraries not provided in Radioconda:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# Build libiio from source
|
# Clone and build libiio
|
||||||
cd ~
|
cd ~
|
||||||
git clone --branch v0.23 https://github.com/analogdevicesinc/libiio.git
|
git clone --branch v0.23 https://github.com/analogdevicesinc/libiio.git
|
||||||
cd libiio
|
cd libiio
|
||||||
|
|
@ -97,9 +98,7 @@ Set up instructions (Linux, Radioconda)
|
||||||
sudo make install
|
sudo make install
|
||||||
sudo ldconfig
|
sudo ldconfig
|
||||||
|
|
||||||
.. code-block:: bash
|
# Clone and build libad9361-iio
|
||||||
|
|
||||||
# Build libad9361-iio from source
|
|
||||||
cd ~
|
cd ~
|
||||||
git clone https://github.com/analogdevicesinc/libad9361-iio.git
|
git clone https://github.com/analogdevicesinc/libad9361-iio.git
|
||||||
cd libad9361-iio
|
cd libad9361-iio
|
||||||
|
|
@ -113,4 +112,4 @@ Further information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- `PlutoSDR Documentation <https://wiki.analog.com/university/tools/pluto>`_
|
- `PlutoSDR Documentation <https://wiki.analog.com/university/tools/pluto>`_
|
||||||
- `PlutoSDR Setup with Radioconda <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#iio-pluto-sdr>`_
|
- `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#iio-pluto-sdr>`
|
||||||
|
|
@ -42,51 +42,52 @@ Limitations
|
||||||
- Price range can be a consideration, especially for high-end models.
|
- Price range can be a consideration, especially for high-end models.
|
||||||
|
|
||||||
Set up instructions (Linux, Radioconda)
|
Set up instructions (Linux, Radioconda)
|
||||||
---------------------------------------
|
---------------------------
|
||||||
|
|
||||||
1. Activate your Radioconda environment:
|
Step 1: Activate your Radioconda environment.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
conda activate <your-env-name>
|
conda activate <your-env-name>
|
||||||
|
|
||||||
2. Install UHD and Python bindings:
|
Step 2: Install UHD and Python Bindings.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
conda install conda-forge::uhd
|
conda install conda-forge::uhd
|
||||||
|
|
||||||
3. Download UHD images:
|
Step 3: Download UHD images.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
uhd_images_downloader
|
uhd_images_downloader
|
||||||
|
|
||||||
4. Verify access to your device:
|
Step 4: Verify Installation.
|
||||||
|
|
||||||
.. code-block:: bash
|
To verify access to your device:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
uhd_find_devices
|
uhd_find_devices
|
||||||
|
|
||||||
For USB devices only (e.g. B series), install a ``udev`` rule by creating a link into your Radioconda installation.
|
For USB devices only (e.g. B series), install a udev rule by creating a link into your radioconda installation.
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
sudo ln -s $CONDA_PREFIX/lib/uhd/utils/uhd-usrp.rules /etc/udev/rules.d/radioconda-uhd-usrp.rules
|
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 control --reload
|
||||||
sudo udevadm trigger
|
sudo udevadm trigger
|
||||||
|
|
||||||
5. (Optional) Update firmware/FPGA images:
|
Step 5: (optional): Update Firmware/FPGA images
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
uhd_usrp_probe
|
uhd_usrp_probe
|
||||||
|
|
||||||
This will ensure your device is running the latest firmware and FPGA versions.
|
This will ensure your device is running the latest firmware and FPGA versions.
|
||||||
|
|
||||||
Further information
|
Further information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- `Official USRP Website <https://www.ettus.com/>`_
|
- `Official Website <https://www.ettus.com/>`_
|
||||||
- `USRP Documentation <https://kb.ettus.com/USRP_Hardware_Driver_and_Interfaces>`_
|
- `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>`_
|
- `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#uhd-ettus-usrp>`_
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ authors = [
|
||||||
{ name = "Qoherent Inc.", email = "info@qoherent.ai" },
|
{ name = "Qoherent Inc.", email = "info@qoherent.ai" },
|
||||||
]
|
]
|
||||||
maintainers = [
|
maintainers = [
|
||||||
|
{ name = "Michael Luciuk", email = "michael@qoherent.ai" },
|
||||||
{ name = "Benjamin Chinnery", email = "ben@qoherent.ai" },
|
{ name = "Benjamin Chinnery", email = "ben@qoherent.ai" },
|
||||||
{ name = "Ashkan Beigi", email = "ash@qoherent.ai" },
|
{ name = "Ashkan Beigi", email = "ash@qoherent.ai" },
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user