diff --git a/docs/source/sdr_guides/index.rst b/docs/source/sdr_guides/index.rst index 552b9b3..ba3852d 100644 --- a/docs/source/sdr_guides/index.rst +++ b/docs/source/sdr_guides/index.rst @@ -10,7 +10,9 @@ their key capabilities and limitations, as well as additional information needed .. toctree:: :maxdepth: 2 - USRP BladeRF - PlutoSDR HackRF + PlutoSDR + RTL-SDR + ThinkRF + USRP diff --git a/docs/source/sdr_guides/rtlsdr.rst b/docs/source/sdr_guides/rtlsdr.rst new file mode 100644 index 0000000..92d80e0 --- /dev/null +++ b/docs/source/sdr_guides/rtlsdr.rst @@ -0,0 +1,87 @@ +.. _rtl: + +RTLSDR +====== + +RTL-SDR (RTL2832U Software Defined Radio) is a low-cost USB dongle originally designed for digital TV reception +that has been repurposed as a wideband software-defined radio. RTL-SDR devices are popular for hobbyist use due to +their affordability and wide range of applications. + +The RTL-SDR is based on the Realtek RTL2832U chipset, which features direct sampling and demodulation of RF +signals. These devices are commonly used for tasks such as listening to FM radio, monitoring aircraft traffic +(ADS-B), receiving weather satellite images, and more. + +Supported Models +---------------- + - Generic RTL-SDR Dongle: The most common variant, usually featuring an R820T or R820T2 tuner. + - RTL-SDR Blog V3: An enhanced version with additional features like direct sampling mode and a bias tee for + powering external devices. + +Key Features +------------ + - Frequency Range: Typically from 24 MHz to 1.7 GHz, depending on the tuner chip. + - Bandwidth: Limited to about 2.4 MHz, making it suitable for narrowband applications. + - Connectivity: USB 2.0 interface, plug-and-play on most platforms. + - Software Support: Compatible with SDR software like SDR#, GQRX, and GNU Radio. + +Limitations +----------- + - Narrow bandwidth compared to more expensive SDRs, which may limit some applications. + - Sensitivity and performance can vary depending on the specific model and components. + - Requires external software for signal processing and analysis. + +Set up instructions (Linux, Radioconda) +--------------------------------------- + +1. Activate your Radioconda environment: + + .. code-block:: bash + + conda activate + +2. Purge drivers: + +If you already have other drivers installed, purge them from your system. + + .. code-block:: bash + + sudo apt purge ^librtlsdr + sudo rm -rvf /usr/lib/librtlsdr* + sudo rm -rvf /usr/include/rtl-sdr* + sudo rm -rvf /usr/local/lib/librtlsdr* + sudo rm -rvf /usr/local/include/rtl-sdr* + sudo rm -rvf /usr/local/include/rtl_* + sudo rm -rvf /usr/local/bin/rtl_* + +3. Install RTL-SDR Blog drivers: + + .. code-block:: bash + + sudo apt-get install libusb-1.0-0-dev git cmake pkg-config build-essential + git clone https://github.com/osmocom/rtl-sdr + cd rtl-sdr + mkdir build + cd build + cmake ../ -DINSTALL_UDEV_RULES=ON + make + sudo make install + sudo cp ../rtl-sdr.rules /etc/udev/rules.d/ + sudo ldconfig + +4. Blacklist the DVB-T modules that would otherwise claim the device: + + .. code-block:: bash + sudo ln -s $CONDA_PREFIX/etc/modprobe.d/rtl-sdr-blacklist.conf /etc/modprobe.d/radioconda-rtl-sdr-blacklist.conf + sudo modprobe -r $(cat $CONDA_PREFIX/etc/modprobe.d/rtl-sdr-blacklist.conf | sed -n -e 's/^blacklist //p') + +5. Install a udev rule by creating a link into your radioconda installation: + + .. code-block:: bash + sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/rtl-sdr.rules /etc/udev/rules.d/radioconda-rtl-sdr.rules + sudo udevadm control --reload + sudo udevadm trigger + +Further Information +------------------- + - `RTL-SDR Official Website `_ + - `RTL-SDR Documentation `_ \ No newline at end of file diff --git a/docs/source/sdr_guides/thinkrf.rst b/docs/source/sdr_guides/thinkrf.rst new file mode 100644 index 0000000..83e5779 --- /dev/null +++ b/docs/source/sdr_guides/thinkrf.rst @@ -0,0 +1,59 @@ +.. _thinkrf: + +ThinkRF +==================== + +The ThinkRF series of spectrum analyzers and software-defined radio platforms are designed for advanced +RF signal monitoring, analysis, and wireless research. These devices +combine high-performance RF front ends with flexible software interfaces for a wide range of applications, +including spectrum monitoring, signal intelligence, and wireless testing. + +ThinkRF devices offer wide frequency coverage, deep dynamic range, and real-time analysis capabilities. +They are built for professional and research-grade environments, offering Ethernet-based connectivity and +software APIs for remote control and integration into automated systems. + +Supported Models +---------------- + - **ThinkRF R5550**: A real-time spectrum analyzer with frequency coverage from 9 kHz to 27 GHz, 160 MHz real-time bandwidth, + and 100 MHz instantaneous FFT bandwidth. + +Key Features +------------ + - Frequency Range: 9 kHz to 27 GHz (depending on model). + - Bandwidth: Up to 160 MHz real-time bandwidth. + - Connectivity: Gigabit Ethernet interface for high-throughput streaming and remote control. + - Software Support: Compatible with ThinkRF APIs, GNU Radio, MATLAB, and third-party spectrum analysis software. + - Real-Time Analysis: + - Enables full-band, real-time spectral visibility for dynamic signal environments. + - Supports trigger-based capture and event-driven recording. + - Remote Operation: + - Designed for distributed deployments and networked operation through Ethernet. + - Can be integrated into automated RF monitoring systems or deployed for field data collection. + +Limitations +----------- + - Requires external host for processing (no onboard CPU for user applications). + - Dependent on ThinkRF software drivers and API for device control. + - High data rate operation may require optimized network settings or storage systems. + +Set up instructions (Linux) +--------------------------------- + +Install PyRF + + .. code-block:: bash + + pip install 'pyrf>=2.8.0' + +Convert PyRF scripts to Python 3 + + .. code-block:: bash + + cd ../scripts + ./convert_pyrf_to_python3.sh + +Further Information +------------------- + - `ThinkRF Documentation `_ + - `ThinkRF Product Page `_ + - `Pyrf Github Page `_