ESP-CSI 方案介绍

[English]

方案特点

ESP-CSI(Channel State Information)是乐鑫提供的一项技术,用于获取 Wi-Fi 信道的状态信息。它运用了 ESP 系列芯片的特性,通过解析 Wi-Fi 信道的细节指标,如相位、传播时延、信噪比、信道矩阵、数据速率等,来提供更精细和细致的无线信道信息。为多种高级应用和智能感知技术提供强有力的支持。带来更多的创新和应用可能性。

ESP-CSI 提供了比传统的信号强度(RSSI)更多的信息。RSSI 只是简单地测量信号的强度,而 CSI 则提供了更详细、更丰富的信道信息,包括信号的振幅、相位等。这些信息对于一些高级应用非常有用,比如:室内定位,环境监测,人体感知。

ESP-CSI 在物联网、智能家居、智能城市等领域有着广泛的应用前景,使得设备更智能、更精准地感知和响应周围环境的变化。

方案优势

  • 无需额外硬件成本: ESP-CSI 方案基于 ESP 系列芯片自身的特性实现,无需额外的硬件成本,为开发者提供了经济高效的解决方案。

  • 实时响应: ESP 系列芯片可以在设备本地实时处理和分析 CSI 数据,提供快速响应和高性能。

  • 抗干扰性:CSI 的振幅实质上是一组信道的衰减系数。只要信道本身不发生变化,它对来自电源适配器和其他跳频器等的干扰非常稳健。

  • 更细粒度:不使用综合值(如 RSSI)来测量信道,而是以通道中的子载波为单位采样频率响应,从而在频率域内对信道进行更细粒度的描述。

ESP-CSI 常见应用场景

  • 入侵检测(Intruder Detection): 利用 ESP-CSI,可以选择高灵敏度的子载波组合和来自非直线传播路径方向的信号,在不同多径传播环境下,提高被动式人员检测的灵敏度并扩展检测范围。这样可以形成的入侵检测系统,为安全应用提供高效的入侵检测解决方案。

  • 定位和测距(Positioning and Ranging): ESP-CSI 可以借鉴 RSSI 方法,并利用 CSI 作为更丰富的指纹信息(包括多个子载波上的信号振幅和相位信息),或者通过频率选择性衰减模型进行更准确的定位和测距。这有助于在室内或复杂环境中实现更精确的定位和距离测量。

  • 人体活动检测与识别(Human Activity Detection and Recognition): 利用 ESP-CSI 的高灵敏度,可以识别人体的运动、手势、日常活动。这对于实现智能家居、健康监测和人体交互等应用非常有用。

  • 乐鑫 ESP-CSI 智能人体感知检测方案

芯片 CSI 性能排序

  • ESP32-C5 > ESP32-C6 > ESP32-C3 ≈ ESP32-S3 > ESP32

ESP-CSI 的实现方式

仅使用一个 ESP 芯片和路由器

get_router_csi
  • ESP 芯片将构造的 Ping(Packet Internet Groper)数据包发送给路由器。Ping 是一种用于测试与目标设备之间的网络连接的协议,通常用于检测网络延迟和连接状态。在 Ping 数据包中,一般会包含源 IP 地址、目标 IP 地址、时间戳等信息。

  • 路由器会回复携带一些关于 CSI 信息的 Ping 数据包。

  • ESP 芯片捕获到回复的数据包后,它对这些数据包进行解析,从中提取出 CSI 信息。解析 CSI 信息涉及到对数据包的结构和字段进行解析,以获取信道状态信息的各种参数,如振幅、相位等。

两个或多个 ESP 芯片之间相互交换 CSI 信息

get_device_csi
  • 两个 ESP 芯片分别构造自己的 Ping 请求数据包。Ping 请求数据包中包含了源 IP 地址、目标 IP 地址、时间戳等信息。这些 Ping 请求数据包将被发送给路由器。它们之间并不直接通信,而是通过路由器作为中继来实现间接通信。

  • 路由器收到两个 ESP 芯片 发送的 Ping 请求数据包后,根据目标 IP 地址来判断应该将数据包转发给哪个设备。

  • ESP 芯片 B 接收到来自 ESP 芯片 A 的 Ping 请求后,根据请求中的信息,生成一个 Ping 回复数据包,并携带所需的CSI信息。在生成回复时,ESP 芯片 B 记录下发送时间戳,以便后续计算往返时间(RTT)

  • ESP 芯片 B 通过 Wi-Fi 模块将生成的 Ping 回复数据包发送回路由器。然后路由器将 ESP 芯片 B 发送的 Ping 回复数据包转发给 ESP 芯片 A。

  • ESP 芯片 A 捕获到回复的数据包后,它对这些数据包进行解析,从中提取出 CSI 信息。解析 CSI 信息涉及到对数据包的结构和字段进行解析,以获取信道状态信息的各种参数,如振幅、相位等。

通过专用的数据包发射设备获取 CSI 信息

get_broadcast_csi
  • 数据包发送设备会连续地在不同的无线信道上发送广播数据包。每次发送广播数据包时,它会切换到一个新的无线信道,这样可以覆盖整个频谱带宽。

  • 所有 ESP 设备都会接收到数据包发送设备发送的广播数据包。由于它们都在监测模式下工作,所以可以同时捕获来自数据包发送设备的广播数据包。

  • 每个 ESP 设备在接收到广播数据包后,需要解析这些数据包,并从中提取所需的 CSI 信息。解析广播数据包涉及到对数据包的结构和字段进行解析,以获取信道状态信息的各种参数,如振幅、相位等。

备注

只有在 Wi-Fi 包速率为 802.11 a/g/n 的条件下才能获得 CSI 数据。

ESP-CSI 参考资料

共晶振多天线方案

目前算法部署的场景中使用的 CSI 研究的网卡多为多天线网卡,我们设计将两个芯片的共晶振,可以实现类似的效果。esp-crab 提供一种 Wifi-CSI 的射频相位同步解决方案, 该方案包含两种工作模式:1、自发自收模式;2、单发双收模式

共晶振方案原理图及例程

  • 自发自收模式:在该模式下,两片 ESP32-C5 芯片分别发送和接收信号,通过计算接收 Wi-Fi CSI 信号中的相位信息,可以毫米级地感知射频信号路径中的扰动。同时,通过安装铜片控制射频信号的传输路径,也可以调节感知范围,从而为高精度的近距离 Wi-Fi 感知提供技术支持。这种模式使得 Wi-Fi 信号感知更加精细,适用于近距离和复杂环境中的精确感知应用。

自发自收幅度效果 自发自收相位效果

  • 单发双收模式:此模式下,一片 ESP32-C5 芯片负责发送信号,而 esp-crab 的两片 ESP32-C5 芯片则负责接收信号。通过分散部署发送端和接收端,可以在大范围空间内实现 Wi-Fi 感知。esp-crab 获取的共晶振 Wi-Fi CSI 信息能够满足前沿研究中的 Wi-Fi 感知性能需求,并且可以直接对接成熟的高级算法,进一步提升无线感知系统的精度和应用价值。该模式为大范围、复杂环境下的无线感知和定位提供了强大的技术支撑。

单发双收相位效果

运动检测算法

我们设计了一个多天线共晶振开发板,用于采集和实时处理 CSI 数据。该板搭载了一块 ESP32-C3 和一块 ESP32-S3。ESP32-C3 通过天线开关连接到三个板载定向天线,而 ESP32-S3 连接到一个天线插座,以提供更灵活的天线类型和信号传输路径选择。在操作过程中,ESP32-C3 持续发送空中数据包(例如 ESP-NOW),而 ESP32-S3 负责从经环境反射的 ESP32-C3 发送的空中数据包中获取 CSI。两颗芯片间通过时钟缓冲器连接,以消除由两颗芯片间时钟不同步引起的相对频率偏移。这样,运行在 ESP32-S3 上的检测算法可以进一步利用 CSI 数据中的相位信息进行检测。动作检测算法的计算结果和阈值将实时显示在屏幕上,并用红色突出显示动作检测结果。

effect_show_of_motion_detect

我司专利