用于多个 SDR 平台的频谱分析器(基于 PyQtGraph 的 GUI,用于 soapy_power、rx_power、rtl_power、hackrf_sweep 和其他后端)
项目描述
用于多个 SDR 平台的频谱分析器(基于 PyQtGraph 的 GUI,用于 soapy_power、rx_power、rtl_power、hackrf_sweep 和其他后端)
截图
要求
蟒蛇> = 3.3
PyQt4 / PyQt5 / PySide / PySide2
Qt.py ( https://github.com/mottosso/Qt.py )
PyQtGraph ( http://www.pyqtgraph.org )
soapy_power ( https://github.com/xmikos/soapy_power )
可选:rx_tools / rtl-sdr / rtl_power_fftw / hackrf
后端
通用 SDR 后端
soapy_power ( https://github.com/xmikos/soapy_power )
soapy_power是 QSpectrumAnalyzer 中默认推荐的通用后端。它基于SoapySDR,支持几乎所有的 SDR 平台(RTL-SDR、HackRF、Airspy、SDRplay、LimeSDR、bladeRF、USRP 和其他一些 SDR 设备)。
rx_power ( https://github.com/rxseger/rx_tools )
rx_power(rx_tools 的一部分)也基于 SoapySDR,因此支持几乎所有 SDR 平台,但它比 soapy_power 慢得多,不支持近实时连续测量(最小间隔为 1 秒,与rtl_power相同)并且是小车。
RTL-SDR 后端
rtl_power ( https://github.com/keenerd/rtl-sdr )
您应该使用rtl-sdr (最新的 Git 修订版)的 Keenerds fork,因为原始rtl-sdr 包(来自 osmocom.org)中的 rtl_power 已损坏(尤其是在与裁剪一起使用时)。
rtl_power_fftw ( https://github.com/AD-Vega/rtl-power-fftw )
RTL-SDR 的另一个替代方案是 rtl_power_fftw ,它比rtl_power具有多种优势。例如,更好的 FFT 性能(感谢使用fftw库)以及使用更短的采集时间进行更实时的连续测量的可能性(原始 rtl_power的最小间隔为 1 秒,但在rtl_power_fftw中,您仅受跳频数的限制) .
HackRF 后端
hackrf_sweep ( https://github.com/mossmann/hackrf )
hackrf_sweep后端通过快速重新调谐无线电来启用宽带频谱监控,而无需来自主机的单独调谐请求。这允许前所未有的每秒 8 GHz 的扫描速率。
用法
通过运行 qspectrumanalyzer 启动QSpectrumAnalyzer。
您可以在文件->设置 (或Mac OS X 上的应用程序菜单->首选项)中选择要使用的后端,默认为 soapy_power。也可以在此处手动指定采样率、后端可执行文件的路径和其他后端参数。您还可以设置瀑布图历史大小。默认为 100 行,请注意,真正大的扫描(有很多 bin)需要大量系统内存,所以不要让这个数字太大。
控件应该是直观的,但如果您想要一致的结果,您应该关闭自动增益控制(将增益设置为某个固定数字)并将裁剪设置为 20% 或更多。要找出 rtl-sdr 棒的 ppm 校正因子,请使用kalibrate-rtl。
您可以使用鼠标移动和缩放绘图、更改绘图设置或从右键菜单导出绘图。瀑布图黑色/白色级别和颜色查找表可以在迷你直方图小部件中更改(在级别选项卡上)。
安装
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中的 PATH 中。
如果你想直接从 Git 主分支安装 QSpectrumAnalyzer,你可以使用这个过程:
git clone https://github.com/xmikos/qspectrumanalyzer.git cd qspectrumanalyzer pip3 install --user .
去做:
显示扫描进度
允许设置 LNB LO 频率
保存和加载 FFT 历史记录(允许将大瀑布图保存到文件中)
自动峰值检测/突出显示
显示平均噪音水平
频率标记/带有注释的书签(甚至导入/导出带有预定义频道的 .csv 文件等)
项目详情
QSpectrumAnalyzer -2.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c042dc2530ee96052ff54a883c4dd4c59fb553dfd1d3a84a2a639f4fee4714ae |
|
MD5 | 3bed0be4d4609d27613331d0fb85e8dd |
|
布莱克2-256 | b674cda53cf28eb5325b8fb63f0e5f0ce77945ea276836e40f65cceed55ea4f9 |