作者: zhao xudong

  • Gravity:数字 10.525GHz 微波传感器(运动检测)

    原厂商品链接

    原厂Wiki链接

    介绍

    10.525GHz 微波运动传感器利用多普勒效应,通过微波来探测运动物体。这与普通的红外(IR)传感器的工作方式不同,因为微波对多种能够反射微波的物体敏感,并且其传感器读数不会受到环境温度的影响。

    这种类型的微波传感器被广泛应用于工业、交通和民用领域,例如:车辆速度测量、液位检测、自动门运动检测、自动清洗、生产线物料检测以及汽车倒车雷达等。

    微波检测方法相较于其他方法具有以下优势:

    • 非接触检测
    • 测量结果不受温度、湿度、噪声、空气、灰尘或光线影响 —— 适用于恶劣环境
    • 对射频干扰有很强的抵抗力
    • 输出功率低,对人体无害
    • 探测范围广,速度高
    • 支持非生命物体检测

    应用

    微波传感器可以与其他传感器配合使用,以提升测量精度。例如,它可以降低人体运动检测中的误报率,并在安防和安全工作中表现出色。

    技术规格

    工作电压: 5V ± 0.25V
    工作电流(连续波 CW): 最大 60mA,典型 37mA
    接口: Gravity 3针接口(数字)
    尺寸: 48.5 × 63mm

    发射参数

    • 探测距离: 2–16 米连续可调
    • 发射频率: 10.525 GHz
    • 精确频率设定: 3 MHz
    • 输出功率(最小值): 13dBm EIRP
    • 谐波发射: < -10dBm
    • 平均电流(5% 占空比): 典型 2mA
    • 脉冲宽度(最小): 5 微秒
    • 负载周期(最小): 1%

    接收参数

    • 灵敏度(10dB 信噪比): 3Hz – 80Hz
    • 带宽: -86dBm
    • 3Hz – 80Hz 带宽杂波: 10uV
    • 天线增益: 8dBi
    • 垂直 3dB 波束宽度: 36°
    • 水平 3dB 波束宽度: 72°

    板卡概述

    天线说明

    信号处理

    下图展示了该传感器模块的工作原理。它通过放大由微波传感器接收到的微弱信号,然后经过比较电路,将信号转换为方波信号,并以数字输出 0 或 1 的形式输出,从而便于 Arduino 或其他微控制器进行处理。

    信号检测范围

    检测角度:当天线处于水平方向(方位角)时,检测角度为 72°;在天线的垂直方向(俯仰角)上,检测角度为 36°。

    安装

    微波可以穿透墙壁。因此,当微波穿透外墙并检测到非目标区域的移动物体时,有时会产生不准确的情况。请务必选择合适的安装位置以避免这种情况!

    指示灯与输出状态

    当微波传感器未检测到运动物体时,指示 LED 保持熄灭状态。
    当传感器检测到运动物体时,LED 会点亮,输出电平从 HIGH 变为 LOW。大约 0.5 秒后,LED 会自动熄灭,输出电平从 LOW 变为 HIGH。
    如果传感器持续检测到运动物体,LED 将不断闪烁,输出电平将在 HIGH 和 LOW 之间来回波动,直到物体停止移动。

    距离调节

    微波传感器的检测距离范围为 2–16 米。可通过电位器调节检测距离。
    若电位器旋转至 MIN 方向,检测距离减小;若向相反方向旋转,检测范围则会增大。

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