KrakenSDR 网页界面控制

一、概述

KrakenSDR 图形用户界面 (GUI) 可以通过任何接入同一网络的设备,在网页浏览器中访问:
http://IP_ADDR:8080
如果您使用的是我们提供的预配置镜像,并且所在网络支持主机名解析,也可以通过以下地址访问:
http://krakensdr:8080

该 GUI 可用于启动和停止 KrakenSDR 的数据采集,并控制与测向相关的各类参数,包括:频率、增益以及 VFO(可变频振荡器)通道设置

二、配置页面

2.1、射频接收机配置

中心频率(Centre Frequency)

处于有效带宽中心的频率。更改此频率并点击 Update(更新) 按钮后,将触发噪声源并启动相干校准过程。

接收机增益(Receiver Gain)

这是五个调谐器的通用增益设置。请在频谱图界面中检查 信噪比 (SNR),并调整增益以获得较高的信噪比,同时避免频谱过载。

注意(NOTE):
对中心频率或接收机增益所做的任何更改,只有在点击 “Update Receiver Parameters”(更新接收机参数) 按钮后才会生效。点击该按钮会启动一次校准流程,该流程可能需要几秒钟才能完成。

2.2、到达方向配置(DoA Configuration)

这些设置需要根据您所使用的天线阵列架构和个人需求进行配置。

阵列配置(Array Configuration)

选择您所使用的天线阵列类型,可以是线性阵列 ULA (Uniform Linear Array),或者是环形阵列 UCA (Uniform Circular Array)

天线半径 / 阵元间距(Antenna Radius / Interelement Spacing)

设置环形阵列的半径,或线性阵列的阵元间距(单位:米)。

波长倍数(Wavelength Multiplier)

(不可编辑)显示基于频率和阵列尺寸计算得到的间距倍数。该值应始终保持在 0.5 以下,并且理想情况下应 大于 0.2。该值越接近 0.5,角度分辨率越高。

启用 DoA 估计(Enable DoA Estimation)

启用测向算法的计算。

DoA 算法(DoA Algorithm)

在多种测向算法之间进行选择。在绝大多数情况下,推荐使用 MUSIC 算法

去相关(Decorrelation)

“相关信号”通常指 多径信号。多径反射会与真实信号相关联,可以通过特殊算法来减弱其影响。此下拉菜单中可选的算法能够帮助消除不需要的相关信号。

这些去相关算法是针对 ULA 阵列设计的。但如果使用的是 UCA 阵列,并且启用了去相关算法,则系统会基于 UCA 阵列几何结构计算一个实验性的 虚拟 ULA 阵列。通过这种方式,去相关算法也能用于 UCA 阵列。不过需要注意:

  • 这种虚拟化可能会引入误差;
  • 仅在 大半径阵列 且波长倍数接近该频率最大值 0.5 时有效。

您可以尝试不同的去相关方法。目前这些算法仍然是新的实验性功能,我们还没有足够的信息来判断在什么场景下、哪种算法的效果最佳。

ULA 输出方向(ULA Output Direction)

在使用 ULA 阵列时,无法判断目标位于阵列的前方还是后方。
但如果您有先验信息,能够确认目标一定在阵列前方或后方,那么可以通过此处的设置屏蔽掉其中一个方向。

阵列偏移(Array Offset)

如果天线阵列的朝向与载体(例如车辆)的运动轴不一致,可以在此处设置偏移量。
这在 线性阵列 上特别有用:因为对于线性阵列,0 度方向是与阵列正交的。如果阵列安装在车辆的前后方向上,则需要旋转 90 度,使其与车辆的运动轴对齐。

预期射频源数量(Expected number of RF sources)

如果您明确知道在同一频率上存在多个信号,可以在此处设置信号源的数量。
但是,如果设置的数量高于实际信号源数量,可能会导致结果不准确。

2.3、显示选项(Display options)

这些选项会影响 到达方向 (DoA) 图表 的显示。

DoA 图表类型(DoA Graph Type)

可在 线性图、极坐标图或罗盘式图 之间切换,用于显示 DoA 方位角。

  • 线性图和极坐标图 采用单位圆约定:90 度在 0 度的逆时针方向。
  • 罗盘式图 采用罗盘/地图约定:90 度在 0 度的顺时针方向。

未来版本中可能会统一改为 罗盘/地图约定,以避免混淆。

罗盘偏移(Compass Offset)

当使用罗盘式图时,可以设置一个罗盘偏移量,用来补偿天线阵列的指向方向。

2.4、VFO配置(VFO Configuration)

配置与 VFO(可变频振荡器)处理 相关的属性。
VFO 允许您在 2.4 MHz 有效带宽 内同时运行多个通道进行测向。

频谱计算(Spectrum Calculation)

可选择 单通道(Single Ch)所有通道(All Ch, 仅测试用)

  • 单通道模式:仅显示来自 CH-1 的射频信号;如果启用了 静噪(squelch) 功能,则必须使用该模式。
  • 所有通道模式:仅用于测试和故障排查,会显示所有通道的频谱图,但时间分辨率显著降低,因此容易漏掉短暂的间歇信号。

VFO 模式(VFO Mode)

可选择 标准模式(Standard)VFO-0 自动最大(VFO-0 Auto Max)

  • 标准模式:VFO 由用户手动控制,例如手动设置 VFO 的频率。
  • VFO-0 自动最大模式:仅启用 VFO-0,它会自动调谐到频谱中最强的信号。

活动 VFO 数量(Active VFOs)

最多可同时启用 16 个 VFO。如有需要可支持超过 16 个,请联系我们。

关于计算能力的注意事项:
在树莓派 4(Raspberry Pi 4)上,如果添加超过 3–4 个始终处于活跃状态的 VFO,处理速度可能会变慢,从而导致带有间歇信号的通道被遗漏。

  • 如果您不需要捕捉短暂的间歇信号,那么这种性能下降影响不大。
  • 如果所有通道都是间歇性的并且正确启用了静噪(squelch),则处理能力足够,因为被静噪的通道不会占用计算资源。

VFO 输出(Output VFO)

可以选择输出 所有 VFO(ALL)单个 VFO

  • ALL 模式 会将所有活跃 VFO 的数据输出为 DoA 数据格式。目前 ALL 仅适用于 Kraken App 和未来的 Kraken Pro App
  • 如果您使用的是其他 DoA 数据输出格式,则只能选择一个 VFO 通道进行输出。

DSP 端抽 decimation(DSP Side Decimation)

如果您只关心窄带信号,可以通过抽 decimation 将 2.4 MHz 的带宽缩小到更小的范围。
例如,抽 decimation 因子为 2 时,带宽减半为 1.2 MHz,依此类推。

优化短脉冲(Optimize Short Bursts)

如果您需要检测弱小的、非常窄带的 CW 信号突发(脉冲周期小于约 50 ms),启用此选项能提升检测效果,但会消耗更多计算资源。

2.5、站点信息(Station Information)

本部分用于配置与站点相关的设置,以及站点数据的输出方式。

站点 ID(Station ID)

此 KrakenSDR 站点的名称。用于在网络中区分多个不同的站点。

DoA 数据格式(DOA Data Format)

设置输出数据的格式。
例如:

  • KrakenSDR Android App 使用的输出格式与 DF Aggregator 不同。
  • Kraken App、Kerberos App 和 DF Aggregator 会将数据输出到网页:http://IP_ADDR:8081/DOA_value.html
  • Kraken Pro(本地和远程) 通过 nodeJS websocket 连接输出 JSON 数据。
  • RDF Mapper 会直接上传数据到 RDF Mapper PHP API 页面。

Kraken Pro 密钥(Kraken Pro Key)

如果您使用的是(尚未完成的)Kraken Pro Remote 系统,请在此处输入您的唯一密钥。

RDF Mapper 服务器地址(RDF Mapper Server URL)

如果您要上传数据到 RDF Mapper,请在此处输入 RDF Mapper 服务器地址。注意:地址末尾必须包含 /save.php

位置来源(Location Source)

如果您的 Raspberry Pi 4 上连接了一个 兼容 gpsd 的 USB GPS 设备,则可以将位置信息输出到所选的 DoA 数据格式中(前提是该格式支持 GPS 数据)。
如果您使用的是 Kraken App,则无需单独的 GPS 设备,因为 Kraken App 可以直接使用智能手机的 GPS。

经纬度 / 航向(Latitude / Longitude / Heading)

如果您将位置来源设置为 静态(Static),则可以在此手动输入站点的 纬度、经度天线阵列朝向

2.6、本地数据记录(Local Data Recording)

如果您没有网络连接,或没有连接到本地 Android 设备,您可以将 DoA 数据 直接记录到 SD 卡,以便日后分析。例如,这在无人机应用场景中会非常有用。

日志文件会被写入到目录:
~/krakensdr_doa/krakensdr_doa

文件名(Filename)
为您的 CSV 日志文件选择一个唯一的文件名。

数据格式(Data Format)
选择用于记录的数据格式。目前仅支持 Kraken App
这意味着您可以在 KrakenSDR Android App 中打开本地记录的 CSV 文件,用于绘图和三角定位分析。

写入间隔(Write Interval)
设置数据写入日志文件的频率。

  • 默认值为 1 秒,适合在少量通道下进行数小时的记录。
  • 如果需要长时间记录,或使用了多个 VFO,建议增加写入间隔,以避免日志文件过大。

在仅启用 一个 VFO 且写入间隔为 1 秒 时,日志文件的增长速度大约为 100 kB 每分钟

启用本地数据记录(Enable Local Data Recording)
开启或关闭本地日志功能。

文件大小(File Size, MB)
监控日志文件大小,确保文件不会过于庞大。

下载文件(Download File)
从 Web GUI 下载日志文件。
⚠️ 注意:该按钮在 KrakenSDR Android App 的内置浏览器 中存在 bug,无法使用。
请在 Android 设备上使用标准的 Chrome 浏览器 来下载文件。

2.7、VFO设置(VFO Settings)

对于每一个处于活动状态的 VFO 通道,都会有一个对应的 VFO 控制框
每个控制框用于单独设置该 VFO 的 频率(Frequency)、带宽(Bandwidth)和静噪(Squelch) 参数。

频率(Frequency)
该 VFO 通道的频率,必须位于 2.4 MHz 带宽范围内
您可以在 状态框(Status box) 中查看 VFO 范围 [MHz] 信息,其中会显示可用的最大和最小频率。

带宽(Bandwidth)
设置该 VFO 通道所监测信号的预期带宽。
带宽以 Hz 为单位。

静噪(Squelch)
将其设置为高于噪声底(noise floor)的值,以启用 静噪功能

  • 启用后,只有在存在有效信号时才会输出 DOA 值。
  • 这将防止在只有噪声、没有信号时输出随机的 DOA 值。
  • 同时也能在没有信号时节省计算资源。

⚠️ 最大静噪值为 0 dB

三、实时频谱图(Spectrum Page)

频谱页面(Spectrum Page)
频谱页面用于显示 实时频谱图瀑布图

它还会显示所有已设置 VFO 的 中心频率、带宽和静噪阈值
当某个 VFO 达到静噪阈值时,会显示为 绿色;未达到时则显示为 红色

点击调谐(Click to tune)
在频谱界面中,您可以通过用鼠标点击 VFO 的中心来选择一个 VFO。
被选中的 VFO 会显示为 边框加粗,表示当前处于选中状态。
(注意:可能需要点击多次才能成功选中,这是当前后端的一个已知 bug。)

选中后,您可以在频谱或瀑布图上的任意位置点击,以将该 VFO 移动到新的频率上。

四、到达方向估计(DOA Estimate Page)

该页面显示 到达方向 (DOA) 估计 的图表。
具体显示哪种图表,由 配置页面(Configuration Page) 中的 显示选项(Display Options) 配置框决定。

请注意:

  • 线性图(Linear)极坐标图(Polar) 使用 单位圆约定,即 90 度在 0 度的逆时针方向
  • 罗盘图(Compass) 使用 罗盘/地图约定,即 90 度在 0 度的顺时针方向

DOA 页面 主要用于快速检查图表是否显示正确,但在需要时也可以用于手动测向。
正常情况下,推荐的用法是通过 Android App 在地图上显示方位角图。

五、附加数据采集设置(Additional DAQ Settings)

软件分为两个部分:数据采集代码(DAQ)到达方向数字信号处理代码(DOA DSP)
DAQ 设置可以通过 GUI 进行修改,但除非您非常清楚自己在做什么,否则建议不要更改这些设置

以下是一些 DAQ 设置的说明,您可以通过点击 基础 DAQ 配置(Basic DAQ Configuration)高级自定义 DAQ 配置(Advanced Custom DAQ Configuration) 来进行调整。

5.1、射频接收机配置:基础数据采集设置(RF Receiver Configuration: Basic DAQ Settings)

DAQ 设置 也可以通过 网页界面 来控制。
然而,我们建议只有高级用户才去修改 DAQ 设置,哪怕是基础 DAQ 设置。

对基础或高级 DAQ 设置所做的更改,可以通过点击 “Reconfigure & Restart DAQ Chain”(重新配置并重启 DAQ 链) 按钮来应用。
⚠️ 此重启过程可能需要几分钟才能完成。

预配置 DAQ 文件(Preconfigured DAQ Files)
从预设选项中选择一个 DAQ 文件配置。主要用于在 Kraken旧版 Kerberos 设置 之间切换。

数据块长度(Data Block Length)
每个处理数据块的积分时间。

  • 较大的数据块可提供更高的处理增益(对弱信号有更高的信噪比),但会降低更新速率。
  • 默认值 436.9ms 是最佳选择,因为它对应于 2 的幂次 CPI 大小

重新校准间隔(Recalibration Interval)
系统在进行相干校准检查并在必要时重新校准前所等待的分钟数。
在正常情况下,校准不应丢失,但定期检查仍然是一个好习惯。

5.2、射频接收机配置:高级自定义 DAQ 配置(RF Receiver Configuration: Advanced Custom DAQ Configuration)

这些是与 DAQ 代码 相关的高级设置。
⚠️ 在正常情况下,除非有充分理由,否则不建议调整这些设置。

接收通道(RX Channel)
设置用于测向的接收通道数量。
适用于自定义系统,或希望在阵列中使用更少天线进行实验的场景。
如果您使用的是四通道的 KerberosSDR,建议使用 kerberos_default 预配置文件,而不是直接修改此项。

偏置供电控制(Bias Tee Control)
启用或禁用每个通道的 4.5V 偏置供电。仅当需要为外部设备(如 LNA)供电时才使用。
输入格式为逗号分隔的字符串:

  • 1,0,0,0,0 → 仅 CH-0 启用偏置供电。
  • 1,1,1,1,1 → 所有通道均启用。

DAQ 缓冲区大小(DAQ Buffer Size)
决定 rtl_daq 软件 在传递数据到下一个处理阶段前收集的缓冲区大小。
几乎所有情况下默认值 262144 最优。设置过大或过小都会导致 rtl_daq 线程负担过重或过轻。

采样率(Sample Rate)
设置 RTL-SDR 的硬件采样率。最大支持 2.4 MSPS

启用噪声源控制(Enable Noise Source Control)
允许系统控制噪声源以进行相干校准。若完全不使用相干功能,可以关闭。

CPI 大小(CPI Size, Coherent Processing Interval)
重缓冲模块会收集 DAQ 缓冲区的数据块,并重整为 CPI 大小。

  • 较大的 CPI → 更长的采集时间(更大的数据块),但有更高的处理增益。

抽 decimation 比率(Decimation Ratio)
控制 DAQ 端的抽 decimation。如果您通过网络发送原始相干数据,可以使用 decimation 来减少数据量。

FIR 滤波抽 decimation 阶数(FIR Tap Size)
抽 decimation 采用 FIR 滤波器。此值必须大于抽 decimation 比率。

FIR 窗函数(FIR Window)
设置 FIR 滤波器的窗函数类型。

启用滤波器复位(Enable Filter Reset)
在每个新 CPI 上复位 FIR 滤波器的记忆。

相关块大小(Correlation Size)
用于校准帧的块大小。较小 → 更快校准,但过小可能导致校准失败。

标准通道索引(Standard Channel Index)
指定作为参考通道的索引,所有相位测量都将基于该通道。

需要锁定干预(Require Track Lock Intervention, 针对 Kerberos)
尚未完全实现。设想是在旧 Kerberos 单元上,软件在重新校准时应暂停,以便用户可以断开天线。

校准跟踪模式(Calibration Track Mode)

  • No Tracking(无跟踪):旧 Kerberos 设备必须使用此模式,因为每次重新校准都需要人工断开天线。
  • Periodic Tracking(周期性跟踪):适用于 KrakenSDR,或加装了切换器的 KerberosSDR。软件会定期检查相干校准,以防丢失(极少发生)。
    校准检查会短暂启用并切换到噪声源,因此检查期间的几秒钟内信号数据会丢失。

校准帧间隔(Calibration Frame Interval)
经过多少帧后进行一次重新校准检查。

校准帧突发大小(Calibration Frame Burst Size)
在检查校准时,需要检查多少帧。

幅度容差(Amplitude Tolerance)
校准过程中允许的幅度差异范围。

相位容差(Phase Tolerance)
校准过程中允许的相位差异范围。

最大同步失败次数(Maximum Sync Fails)
需要多少次相干校准同步失败后,才会触发重新校准。

IQ 调整来源(IQ Adjustment Source)
提供校准整个系统的选项,通过补偿天线同轴电缆的相位差来实现。

  • explicit-time-delay(显式时延):如果您用 VNA 测量了时延,可以在此输入相对 CH0 的时延差(单位:纳秒)。
  • touchtone(触点文件):您可以从 VNA 导出 S21 或 S12 .s1p 文件,分别对应系统的 5 根同轴电缆,并放入 _calibration 文件夹中。命名为 cable_ch0.s1p, cable_ch1.s1p 等。⚠️ 文件必须覆盖实际使用的频率范围。注意:仅当相位补偿不产生环绕时才有效(即电缆长度差远小于工作频率的波长)。

IQ 幅度调整(IQ Adjust Amplitude)
如果需要手动调整 IQ 幅度,可以在此设置。通常只用于测试。

IQ 时延调整(IQ Adjust Time Delay)
如果 IQ 调整来源选择了 explicit-time-delay,请在此输入相对 CH0 的时延差(单位:纳秒)。

  • 例如,对于 KrakenSDR(5 通道),应输入 4 个值。
  • 对于 KerberosSDR(4 通道),应输入 3 个值。

如果 VNA 仅提供 TDR 电缆长度 测量值,也可通过同轴电缆的速度因子(vf)转换为时间: time_delta_x = ( cable_length_delta / (c * vf) ) * 10^9

其中:

  • c = 光速(299792458 m/s)
  • vf = 电缆速度因子

示例:
假设有三根同轴电缆,速度因子 vf = 0.66,长度略有差异,则可通过公式计算出对应的时延差(单位 ns),并在此处进行补偿。

Cable 0: 2.00130m
Cable 1: 1.99933m
Cable 2: 1.99910m
cable_length_delta_1 = 2.00130m - 1.99933m = 0.00197m
cable__length_delta_1 = 2.00130m - 1.99910m = 0.00220m
time_delta_1 = (0.00197m / (c * 0.66)) * 10^9 = 0.009956383ns
time_delta_2 = (0.00220m / (c * 0.66)) * 10^9 = 0.011118803ns

电缆 2、3、4 重复上述操作,并将计算得到的 time_delta_1、time_delta_2、time_delta_3、time_delta_4 的数值输入到 IQ 时延调整(IQ Adjust Time Delay) 输入框中。
⚠️ 注意:不要在数值后添加任何时间单位(如 ns)。