多个SDR平台的频谱分析仪(基于PyqtGraph的图形用户界面,用于Soapy_Power、Rx_Power、RTL_Power、HackRF_Sweep和其他后端)

QSpectrumAnalyzer的Python项目详细描述


用于多个SDR平台的频谱分析仪(Soapy_u Power的基于PyqtGraph的图形用户界面, RX电源、RTL电源、HackRF扫描和其他后端)

屏幕截图

https://xmikos.github.io/qspectrumanalyzer/qspectrumanalyzer_screenshot.pnghttps://xmikos.github.io/qspectrumanalyzer/qspectrumanalyzer_screenshot2.png

要求

后端

通用sdr后端

soapy_power是qspectrumanalyzer中默认推荐的通用后端。 它基于SoapySDR和支持 几乎所有的SDR平台(RTL-SDR,HackRF,AirSpy,SDRPlay,Limesdr,Bladerf, USRP和其他一些SDR设备)。

rx_power(是rx_tools的一部分)也基于soapysdr,因此 支持几乎所有的sdr平台,但它比soapy_u power慢得多,不支持 近实时连续测量(最小间隔为1秒,与rtl_power相同) 是一辆小车。

RTL-SDR后端

你应该使用Keenerds fork of rtl-sdr (最新的git版本),因为rtl_power在原始rtl sdr包中(来自osmocom.org) 破损的(特别是与修剪一起使用时)。

RTL-SDR的另一种选择是 rtl_power_fftw有各种 收益超过rtl_power。例如,更好的fft性能(感谢 使用fftwlibrary)和可能使用更短的获取时间 用于更实时的连续测量(原始数据中的最小间隔 rtl_power是1秒,但在rtl_power_fftw中,您的时间有限 按跳频次数)。

hackrf后端

hackrf_sweep后端通过快速重新调谐无线电来启用宽带频谱监视 不需要主机的个别调整请求。这使得 每秒8千兆赫的扫描速率。

用法

运行qspectrumanalyzer启动qspectrumanalyzer。

您可以选择要在file->;settings (或Mac OS X上的application menu->;preferences),默认值为 soapy_power。采样率、后端可执行文件的路径和其他 后端参数也可以在那里手动指定。你也可以 设置瀑布图历史大小。默认为100行,请注意 真正大的清扫(有很多垃圾箱)需要很多系统 内存,所以不要把这个数字太大。

控制应该是直观的,但是如果你想要一致的结果,你应该 关闭自动增益控制(将增益设置为某个固定数字),并设置 收割到20%或更多。为了找出你的rtl sdr的ppm修正系数 棍子,用kalibrate-rtl

可以使用鼠标移动和缩放绘图、更改绘图设置或导出绘图 从右键单击菜单。瀑布图黑白级别和颜色查找 表格可以在迷你直方图小部件中更改(在levels选项卡上)。

安装

Arch Linux:

稳定版本:

git clone https://aur.archlinux.org/qspectrumanalyzer.git
cd qspectrumanalyzer
makepkg -sri

Git主分支:

git clone https://aur.archlinux.org/qspectrumanalyzer-git.git
cd qspectrumanalyzer-git
makepkg -sri

或者简单地使用pacaur(或任何其他aur助手) 它还将自动安装所有qspectrumanalyzer依赖项:

pacaur -S qspectrumanalyzer
pacaur -S qspectrumanalyzer-git

ubuntu:

# Add SoapySDR PPA to your system
sudo add-apt-repository -y ppa:myriadrf/drivers

# Update list of packages
sudo apt-get update

# Install basic dependencies
sudo apt-get install python3-pip python3-pyqt5 python3-numpy python3-scipy soapysdr python3-soapysdr

# Install SoapySDR drivers for your hardware (e.g. RTL-SDR, Airspy, HackRF, LimeSDR, etc.)
sudo apt-get install soapysdr-module-rtlsdr soapysdr-module-airspy soapysdr-module-hackrf soapysdr-module-lms7

# Install QSpectrumAnalyzer
sudo pip3 install qspectrumanalyzer

警告!pip默认情况下将在系统范围内安装软件包,但是 应始终使用分发包管理器进行此操作。

您只能通过运行以下命令(不带sudo)在本地为当前用户安装:

pip3 install --user qspectrumanalyzer

可执行文件将被放置在~/.local/bin目录中,您可以将其添加到 路径位于~/.bashrc

如果要直接从git master分支安装qspectrumanalyzer,可以使用以下过程:

git clone https://github.com/xmikos/qspectrumanalyzer.git
cd qspectrumanalyzer
pip3 install --user .

待办事项:

  • 显示扫描进度
  • 允许设置LNB低频
  • 保存并加载fft历史记录(允许将大型瀑布图保存到文件中)
  • 自动峰值检测/突出显示
  • 显示平均噪声级
  • 带有注释的频率标记/书签(甚至可以使用 预定义频道等)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Selenium Web驱动程序。负载策略不稳定   JAVAsql。SQLException:没有合适的驱动程序无法创建“oracle”类的JDBC驱动程序。jdbc。驾驶员用于连接URL的OracleDriver   java谷歌地图“优化路径点”如何解决旅行推销员的问题?   java这段代码可能会造成潜在的内存泄漏吗?   java更改JCombobox的高度   java如何清除jtable中的数据   JavaHadoop:错误安全性。UserGroupInformation:MapReduce程序中的PriviledgedActionException   java如何将sonarlint添加到gradle任务中?   性能为什么Java排序优于原语计数排序   java Spring属性PlaceHolderConfigure从数据库加载   java从泛型获取类不起作用   java Spring@Transactional传播属性   java试图拥有主菜单和子菜单类   XSL的java后处理步骤   java第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心   switch语句在Java中的下一个出发点   java 安卓如何在OnBackpress()时设置viewpager的特定项目位置?