多个SDR平台的频谱分析仪(基于PyqtGraph的图形用户界面,用于Soapy_Power、Rx_Power、RTL_Power、HackRF_Sweep和其他后端)
QSpectrumAnalyzer的Python项目详细描述
用于多个SDR平台的频谱分析仪(Soapy_u Power的基于PyqtGraph的图形用户界面, RX电源、RTL电源、HackRF扫描和其他后端)
屏幕截图
要求
- python>;=3.3
- pyqt4/pyqt5/pyside/pyside2
- qt.py(https://github.com/mottosso/Qt.py)
- PyqtGraph(http://www.pyqtgraph.org)
- 苏比力量(https://github.com/xmikos/soapy_power)
- 可选:RX U TOOLS/RTL SDR/RTL U POWER U FFTW/HACKRF
后端
通用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后端
- rtl嫒u电源(https://github.com/keenerd/rtl-sdr)
你应该使用Keenerds fork of rtl-sdr (最新的git版本),因为rtl_power在原始rtl sdr包中(来自osmocom.org) 破损的(特别是与修剪一起使用时)。
- rtl_电源fftw(https://github.com/AD-Vega/rtl-power-fftw)
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历史记录(允许将大型瀑布图保存到文件中)
- 自动峰值检测/突出显示
- 显示平均噪声级
- 带有注释的频率标记/书签(甚至可以使用 预定义频道等)