ubuntu22.04编译安装sdrangel

SDRangel 是一个基于QT5/ OpenGL 3.0+的SDR与信号分析软件,开源且支持多种硬件。
项目地址是 SDRangel-github仓库


一、SDRangel 是什么?

SDRangel是什么,或者能干什么,相信接触过SDR软件无线电的朋友都知道,SDR最流行、最强大、应用最广泛的软件是GNUradio。虽然GNUradio功能很多,但是对我来说大部分用不上,且gnuradio的模块开发有些麻烦。
另一方面,学习各种开源软件对于SDR的学习来说也是一种较为高校的方法。
最近接触了几个跨平台开源sdr软件,包括sdr++,sigdigger,SDRangel。其中,sdr++是小而美,功能简洁好用,用来观测信号很好用,缺点诚如作者提到过,sdr++类似一个频谱仪,而非作为信号分析仪。sigdigger基于pyqt,功能较为强大,相当于频谱仪+信号分析仪,但是算法是封装的api(个人了解的),且我用了几次感觉有些臃肿~。
SDRangel不臃肿,功能多,支持各种硬件,主要还是个人喜欢他的界面。

二、安装过程

SDRangel有编译好的安装包,但是不支持soapysdr扩展。还是自己编译安装一下吧。系统最好是ubuntu22.04,其他版本没试过。提一下我用的软无模块是usrpb210,国产仿板。
官方安装文档点这里

1.各种依赖的安装

作者推荐安装到特定目录而不是系统目录。

sudo mkdir -p /opt/build
sudo chown $USER:users /opt/build
sudo mkdir -p /opt/install
sudo chown $USER:users /opt/install

安装各种依赖

sudo apt-get update && sudo apt-get -y install \
git cmake g++ pkg-config autoconf automake libtool libfftw3-dev libusb-1.0-0-dev libusb-dev libhidapi-dev libopengl-dev \
qtbase5-dev qtchooser libqt5multimedia5-plugins qtmultimedia5-dev libqt5websockets5-dev \
qttools5-dev qttools5-dev-tools libqt5opengl5-dev libqt5quick5 libqt5charts5-dev \
qml-module-qtlocation  qml-module-qtpositioning qml-module-qtquick-window2 \
qml-module-qtquick-dialogs qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts \
libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev libqt5texttospeech5-dev \
qtwebengine5-dev qtbase5-private-dev \
libfaad-dev zlib1g-dev libboost-all-dev libasound2-dev pulseaudio libopencv-dev libxml2-dev bison flex \
ffmpeg libavcodec-dev libavformat-dev libopus-dev doxygen graphviz

从第三方安装依赖
APT

# Optionally: sudo apt-get install libsndfile-dev
cd /opt/build
git clone https://github.com/srcejon/aptdec.git
cd aptdec
git checkout libaptdec
git submodule update --init --recursive
mkdir build; cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/aptdec ..
make -j $(nproc) install

CM265cc

cd /opt/build
git clone https://github.com/f4exb/cm256cc.git
cd cm256cc
git reset --hard c0e92b92aca3d1d36c990b642b937c64d363c559
mkdir build; cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/cm256cc ..
make -j $(nproc) install

LibDAB

cd /opt/build
git clone https://github.com/srcejon/dab-cmdline
cd dab-cmdline/library
git checkout msvc
mkdir build; cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/libdab ..
make -j $(nproc) install

SerialDV

cd /opt/build
git clone https://github.com/f4exb/serialDV.git
cd serialDV
git reset --hard "v1.1.4"
mkdir build; cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/serialdv ..
make -j $(nproc) install

DSDcc

cd /opt/build
git clone https://github.com/f4exb/dsdcc.git
cd dsdcc
git reset --hard "v1.9.3"
mkdir build; cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/dsdcc -DUSE_MBELIB=ON -DLIBMBE_INCLUDE_DIR=/opt/install/mbelib/include -DLIBMBE_LIBRARY=/opt/install/mbelib/lib/libmbe.so -DLIBSERIALDV_INCLUDE_DIR=/opt/install/serialdv/include/serialdv -DLIBSERIALDV_LIBRARY=/opt/install/serialdv/lib/libserialdv.so ..
make -j $(nproc) install

Codec2/FreeDV

sudo apt-get -y install libspeexdsp-dev libsamplerate0-dev
cd /opt/build
git clone https://github.com/drowe67/codec2.git
cd codec2
git reset --hard 76a20416d715ee06f8b36a9953506876689a3bd2
mkdir build_linux; cd build_linux
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/codec2 ..
make -j $(nproc) install

SGP4

cd /opt/build
git clone https://github.com/dnwrnr/sgp4.git
cd sgp4
mkdir build; cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/sgp4 ..
make -j $(nproc) install

LibSigMF

cd /opt/build
git clone https://github.com/f4exb/libsigmf.git
cd libsigmf
git checkout "new-namespaces"
mkdir build; cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/libsigmf .. 
make -j $(nproc) install

2.安装硬件依赖

我用的usrp-b210,可以装usrp官方的uhd依赖,也可以装soapyuhd第三方依赖,我这里都装了,soapyuhd调用接口很方便,可以快速进行开发。
UHD

sudo apt install libboost-all-dev libusb-1.0-0-dev python3-mako doxygen python3-docutils cmake build-essential
cd /opt/build
git clone https://github.com/EttusResearch/uhd.git
git reset --hard v4.3.0.0
cd uhd/host
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/uhd ../
make -j $(nproc)
make install
/opt/install/uhd/lib/uhd/utils/uhd_images_downloader.py
# The following aren't required if installed to /
echo /opt/install/uhd/lib | sudo dd of=/etc/ld.so.conf.d/uhd.conf
sudo ldconfig
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/install/uhd/lib/pkgconfig
# Enable USB access from user accounts
cd /opt/install/uhd/lib/uhd/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

soapyuhd
先安装soapysdr

cd /opt/build
git clone https://github.com/pothosware/SoapySDR.git
cd SoapySDR
git reset --hard "soapy-sdr-0.7.1"
mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/SoapySDR ..
make -j $(nproc) install

前面已经安装了uhd,这里直接安装soapyuhd,否则还需要安装uhd

cd /opt/build
git clone https://github.com/pothosware/SoapyUHD.git
cd SoapyUHD
mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/SoapySDR ..
make
make install

2.安装sdrangel主体

除了uhd和soapy之外的我就没装了

cd /opt/build
git clone https://github.com/f4exb/sdrangel.git
cd sdrangel
mkdir build; cd build
cmake -Wno-dev -DDEBUG_OUTPUT=ON -DRX_SAMPLE_24BIT=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DSOAPYSDR_DIR=/opt/install/SoapySDR \
-DUHD_DIR=/opt/install/uhd \
-DAPT_DIR=/opt/install/aptdec \
-DCM256CC_DIR=/opt/install/cm256cc \
-DDSDCC_DIR=/opt/install/dsdcc \
-DSERIALDV_DIR=/opt/install/serialdv \
-DMBE_DIR=/opt/install/mbelib \
-DCODEC2_DIR=/opt/install/codec2 \
-DSGP4_DIR=/opt/install/sgp4 \
-DLIBSIGMF_DIR=/opt/install/libsigmf \
-DDAB_DIR=/opt/install/libdab \
-DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel ..
make -j $(nproc) install

到了这一步如果没有错误就安装完成了!

打开sdrangel试一下吧!

在安装目录使用命令打开,或者加个快捷方式

命令:

cd /opt/install/sdrangel/bin
./sdrangel 

如果插件列表找不到soapysdr,可以使用命令

cd /opt/install/sdrangel/bin
./sdrangel --soapy

界面展示

瀑布图展示
硬件列表
OK,如果有小伙伴刚好也在做软无相关的工作,不妨一起交流学习。
对于sdrangel的安装遇到什么问题也可以在评论区提出一起交流解决。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 可以通过以下步骤在Ubuntu22.04编译内核: 1. 首先,下载Linux内核源代码。可以从https://www.kernel.org/ 上下载最新版本的内核源代码。 2. 安装所需的编译工具。在终端中运行以下命令: ``` sudo apt-get update sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev ``` 3. 解压内核源代码,进入源代码目录。在终端中运行以下命令: ``` tar xvf linux-x.y.z.tar.gz cd linux-x.y.z ``` 其中,"x.y.z"是内核版本号。 4. 配置内核。可以使用默认配置或自定义配置。运行以下命令启动配置: ``` make menuconfig ``` 在此过程中,您可以选择需要的内核选项。完成后保存配置并退出。 5. 编译内核。在终端中运行以下命令: ``` make -j $(nproc) ``` "nproc"将使用所有可用的CPU核心进行编译编译时间可能会很长。 6. 安装内核。在终端中运行以下命令: ``` sudo make modules_install install ``` 此命令将安装内核及其模块。 7. 重启计算机以使用新内核。在终端中运行以下命令: ``` sudo reboot ``` 注意:编译安装内核是一个高级任务,需要一定的Linux和编译知识。请确保您了解您正在进行的操作,并备份您的数据。 ### 回答2: Ubuntu 22.04 是一个基于Linux内核的操作系统,要编译内核,需要进行以下步骤: 1. 准备编译环境:安装必要的软件包和工具,包括gcc、make、libncurses-dev和git等。通过终端输入命令`sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev`来安装这些软件包。 2. 下载内核源代码:从官方网站或镜像网站上下载最新的Ubuntu内核源代码。通过终端进入下载目录,输入命令`git clone git://kernel.ubuntu.com/ubuntu/ubuntu-<version>.git`来下载源代码(`<version>`是对应的Ubuntu版本号)。 3. 配置内核:进入源代码目录,通过命令`make menuconfig`来打开配置界面。在这里可以根据需要进行内核功能的添加、删除或修改,然后保存退出。 4. 编译内核:通过命令`make -jX`进行内核的编译,其中X表示并行编译的线程数,可以根据机器的配置来设定。编译时间可能较长,请耐心等待。 5. 安装内核:编译完成后,可以通过命令`sudo make modules_install install`来安装编译好的内核到系统中。然后重启计算机,选择新编译的内核启动。 6. 验证内核:启动后,在终端输入命令`uname -sr`来查看当前正在使用的内核版本号,确认是否成功安装了自己编译的内核。 编译内核需要一定的技术和时间投入,如果没有特殊需求或专业知识,建议使用官方发布的Ubuntu内核,以确保系统的稳定性和兼容性。 ### 回答3: 编译Ubuntu 22.04内核需要以下步骤: 1. 下载源代码:首先,从Ubuntu的官方网站或GitHub上下载Ubuntu 22.04的内核源代码。可以使用wget命令或者浏览器下载源代码压缩包。 2. 解压源代码:将下载的源代码压缩包解压到一个指定的目录下,可以使用tar命令解压压缩包。 3. 安装必要的编译工具:在编译内核之前,需要先安装一些必要的工具和依赖项。可以使用以下命令安装: ``` sudo apt update sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev ``` 4. 配置内核:进入源代码目录,使用make命令生成Makefile,并使用make menuconfig命令来配置内核。在配置界面中,根据需求选择所需的内核选项和驱动程序,并保存配置。 5. 编译内核:使用make命令开始编译内核。这个过程可能需要一些时间,取决于计算机的性能和编译选项。 6. 安装编译好的内核:编译完成后,使用sudo make install命令将编译好的内核安装到系统中。 7. 更新GRUB引导:更新GRUB引导以添加新安装的内核。使用sudo update-grub命令更新引导。 8. 重启系统:完成以上步骤后,可以重新启动计算机并选择新编译的内核进行启动。 请注意,在编译内核之前,确保了解正在进行的操作,备份重要文件,并且具备一定的Linux系统和编译知识。编译内核可能会对系统产生一些影响,如果遇到任何问题,可以通过恢复备份或者重新安装系统来解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值