Archive | SDR RSS feed for this section

GNURadio Tricks

20 Apr

Dynamic recording of files
Create a QT GUI Check Box with ID “Record” and set type to Boolean, and Default Value to False.

Create a variable with ID “file_name” and set Value to:
'data.bin' if Record==True else '/dev/null'

Create a File Sink with file “file_name”

USRP N210 and HDSDR Setup

10 Feb

Notes on setup of HDSDR software with the USRP N210 via the ExtIO interface

Instructions here

Click to access application_note_usrp_and_hdsdr_spectrum_monitoring.pdf

Configuration as of 7/23/2013
Window 7 64-bit
Ettus USRP N210 Rev 4
UHD 003.005.003 for Windows
UHD 003.005.000 for USRP
HDSDR 2.63
ExtIO USRP 1.5.1

Install UHD driver for Windows
Install uhd_003.005.003-release_Win64.exe from:
http://code.ettus.com/redmine/ettus/projects/uhd/wiki/UHD_Windows
This will place utility file in C:\Program Files (x86)\UHD\share\uhd\utils\

Install ExtIO compatible UHD for USRP
As of 7/23/2013 must use UHD 003.005.000 from:
http://files.ettus.com/binaries/master_images

Unzip and copy usrp_n210_fw.bin and usrp_n210_r4_fpga.bin to C:\Program Files (x86)\UHD\share\uhd\utils\

Open up a shell and cd to C:\Program Files (x86)\UHD\share\uhd\utils\

Run the following:
usrp_n2xx_simple_net_burner --addr 192.168.1.13 --fw usrp_n210_fw.bin --fpga usrp_n210_r4_fpga.bin

Install HDSDR
http://www.hdsdr.de/download/HDSDR_install.exe

Install ExtIO
http://spench.net/drupal/files/ExtIO_USRP+FCD+BorIP_Setup.zip

Update USRP firmware before returning to GNU Radio
Running usrp_n2xx_simple_net_burner.exe will download and update USRP with the the latest firmware

Windows shortcut
Install USRP ExtIO Firmware
"C:\Program Files (x86)\UHD\share\uhd\utils\usrp_n2xx_simple_net_burner.exe" --addr "192.168.1.13" --fw "usrp_n210_fw.bin" --fpga "usrp_n210_r4_fpga.bin"

Windows shortcut
Restore USRP Latest Firmware
"C:\Program Files (x86)\UHD\share\uhd\utils\usrp_n2xx_simple_net_burner.exe" --addr "192.168.1.13"

Setting up the Ettus USRP N210

8 Feb

https://files.ettus.com/manual/page_usrp2.html

Changing the IP Address
The USRP N210 comes with a default IP address of 192.168.10.2 which may be changed (e.g. 192.168.1.11):
./usrp_burn_mb_eeprom --args="addr=192.168.10.2" --values="ip-addr=192.168.1.11"

Increase Socket BUffers
sudo vi /etc/sysctl.conf
# Increase buffers for USRP
net.core.wmem_max=50000000
net.core.rmem_max=50000000
net.core.wmem_default=50000000
net.core.rmem_default=50000000

Realtime Priority
sudo vi /etc/security/limits.conf
# Add for USRP realtime priority
myusername - rtprio 99

Will require re-login

Updating N210 Firmware and FPGA
sudo /usr/local/lib64/uhd/utils/uhd_images_downloader.py
cd /usr/local/lib64/uhd/utils
uhd_image_loader --args="type=usrp2,addr=192.168.1.11"

Cycle power on the USRP

Probe
uhd_usrp_probe --args "addr=192.168.1.11"

Benchmark
cd /usr/local/lib64/uhd/examples
./benchmark_rate --rx_rate 25E6 --tx_rate 25E6 --args "addr=192.168.1.11"

GNU Radio and Ettus UHD Build Notes

8 Feb

Fedora 36 x86_64 with Python 3.10
Instructions at http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide

Dependencies
Dependencies listed at http://gnuradio.org/doc/doxygen/build_guide.html

Add to .profile
export PYTHONPATH=/usr/local/lib64/python3.10/site-packages:/usr/local/lib/python3.10/dist-packages
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig

Dependencies for UHD 3.14
sudo dnf install
git
cmake
gcc-c++
boost-devel
ncurses-devel
dpdk-devel
libusb-devel
python-devel
doxygen

Build UHD
cd /usr/local/src/
git clone https://github.com/EttusResearch/uhd.git
cd uhd/host/
mkdir build
cd build
cmake ../
make
make test
sudo make install

Files will be installed in:
/usr/local/bin
/usr/local/include/uhd
/usr/local/lib64

pygccxml
sudo dnf install castxml
pip install pygccxml

Additional dependencies for GNU Radio 3.9
pybind11-devel
volk-devel
gmp-devel
mathjax
spdlog-devel
thrift-devel
python3-thrift
libunwind-devel
libsndfile-devel
fftw-devel
zeromq-devel
python3-zmq
cppzmq-devel
SDL-devel
gsl-devel
codec2-devel
gsm-devel
python3-click-plugins
portaudio-devel
qwt-qt5-devel
python3-qt5-devel
python3-pyqtgraph
python3-scipy
libiio-devel
python3-pytest
SoapySDR-devel
python3-jsonschem

Build GNU Radio
cd /usr/local/src
git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
mkdir build
cd build
cmake ../
make
make test
sudo make install

Update and rebuild
cd build
sudo make uninstall
cd ..
rm -rf build
git pull --recurse-submodules=on
git submodule update
mkdir build
cd build
make
make test
sudo make install