作者: zhao xudong

  • 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)。

  • DreamHAT+ Radar

    尖端的 60 GHz 毫米波雷达附加组件,为 Raspberry Pi 4B 和 5 带来高精度感应。

    套件专为开发者、创客和研究人员设计,支持手势识别、存在检测和室内追踪,无需使用摄像头或麦克风。它附带即插即用的示例和开放的 Python API,让您可以立即上手。

    无论您是在构建机器人、智能家居设备,还是进行信号处理实验,套件都能为您的项目提供内置隐私的雷达视觉。

    关于套件雷达

    60 GHz 毫米波套件雷达是一款先进的 Raspberry Pi 4B 和 5 扩展模块,采用紧凑易用的封装,提供先进的超宽带 (UWB) 调频连续波 (FMCW) 雷达感知功能。

    套件基于英飞凌 BGT60TR13C 雷达 MMIC 构建,片上集成 4 个天线(1 个发射天线和 3 个接收天线),可在从机器人、智能家居自动化到近距离监测和手势识别等广泛应用中提供定向感知和运动跟踪功能。

    通过利用毫米波 FMCW 雷达技术,套件即使在低光、烟雾和多雾等摄像头失灵的恶劣条件下也能实现卓越的精度。

    特征

    • 高分辨率传感:实现毫米级精度,检测物体、手势和运动。非常适合需要精确传感的动态环境。
    • 即插即用:使用内置的开源 Python 库,轻松集成至 Raspberry Pi 生态系统。还包含电源和活动 LED 指示灯
    • 实时数据处理:在快速变化的条件下进行实时数据采集、处理和可视化。
    • 高级功能:利用可配置的感应范围(最远 15 米)和针对特定应用定制的各种模式。
    • 准备部署:通过提供的示例代码、示例和全面的文档加速您的原型设计之旅。
    • 物联网就绪:低功耗(典型值~0.5W)使其适合多组件操作并减少热节流。
    • 标准化架构:符合 Raspberry Pi HAT+ 规范。

    雷达规格

     工作频率58 – 63.5 GHz
    传输带宽5 GHz
    输出功率<10 毫瓦
    EIRP:<15 dBm
    检测范围0.1 – 15 米
    距离分辨率3厘米
    视野水平 40°
    垂直 65°
    模数转换器 (ADC)3个ADC通道,
    12位分辨率,
    4MSps
    集成天线1 个 Tx 天线
    3 个 Rx 天线
    5 dBi(最大)增益

    入门

    我们提供了预配置的 Raspberry Pi OS 镜像,让您轻松运行示例。

    原作者

    • Kevin Chetty
    • Paul Brennan
    • Lai Bun Lok

    销售与报价

    东枫科技为DreamHAT+中国大陆地区官方合作伙伴