Wi-Fi CSI 感知技术用无线信号“看见“室内的人
1、为什么关注 Wi-Fi CSI如果你正在做智能家居、健康监护或室内安防相关的项目你一定遇到过这个难题怎样在不侵犯隐私的前提下感知环境中的人摄像头方案效果好但隐私问题始终是硬伤。可穿戴设备需要用户主动佩戴老人和儿童很难保持配合。红外 PIR 传感器只能做粗粒度的有/无人检测无法识别具体活动。Wi-Fi CSIChannel State Information信道状态信息提供了一条全新的路径。它利用 Wi-Fi 设备在通信过程中天然产生的信道估计数据来推断环境中的物理变化——包括人的存在、位置和行为。无需额外硬件部署你的路由器和手机已经在不断交换这些数据不采集图像穿墙可用。2、CSI 到底是什么2.1. 从 RSSI 到 CSI大多数开发者对 RSSIReceived Signal Strength Indicator并不陌生——它就是你手机上显示的 Wi-Fi 信号强度。但 RSSI 只是一个标量值它告诉你信号有多强却丢失了大量关于信号传播路径的信息。CSI 则完全不同。在 OFDM正交频分复用系统中Wi-Fi 信号被分成多个子载波subcarriers进行传输。CSI 描述的是每个子载波上的信道频率响应Channel Frequency Response包含了该子载波的振幅和相位信息。用数学表达对于第kkk个子载波CSI 可以表示为H(k) |H(k)| · e^{j∠H(k)}其中‘∣H(k)∣‘|H(k)|‘∣H(k)∣‘是振幅‘∠H(k)‘∠H(k)‘∠H(k)‘是相位。2.3. 为什么 CSI 能感知人Wi-Fi 信号从发射端到接收端不只走一条路径。它会经历反射、散射、衍射等多径效应。当环境中有人移动时这些传播路径会发生变化——有些路径被人体遮挡有些产生了新的反射。这些变化直接反映在 CSI 数据中振幅会出现波动相位会发生偏移。通过分析这些变化的模式我们就能推断出环境中发生了什么。关键洞察在于不同的人体活动会产生不同的 CSI 变化模式。走路会引起周期性的大幅波动静坐时的呼吸则表现为微弱而规律的振荡跌倒会产生突然的剧烈变化。这就是 CSI 感知的物理基础。3、CSI 数据采集工具链全景要开始 CSI 实验第一步是获取 CSI 数据。目前主流的开源工具包括以下几种。3.1. Intel IWL5300 Linux CSI Tool这是最早也是最经典的 CSI 采集工具由 Daniel Halperin 等人在 2011 年发布。它通过修改 Intel IWL5300 网卡的驱动在 Linux 环境下提取 802.11n 的 CSI 数据。每个数据包可以获取 30 组子载波的 CSI支持最多 3×3 MIMO 天线配置。虽然该工具在学术界的引用量极高但它依赖特定的老旧硬件IWL5300 网卡且仅支持 802.11n在实际部署中的局限性越来越明显。3.2. Nexmon CSI ExtractorNexmon 是一个针对 Broadcom Wi-Fi 芯片的固件修改框架。其 CSI 提取模块nexmon_csi可以运行在 Raspberry Pi 3B/4B 以及部分 Asus 路由器上支持 802.11ac带宽可达 80 MHz。# 在 Raspberry Pi 上使用 Nexmon CSI 的典型流程# 1. 编译并安装 Nexmon 补丁cd/home/pi/nexmon/patches/bcm43455c0/7_45_189/nexmon_csimakeinstall-firmware# 2. 配置监听模式和信道sudoifconfigwlan0 upsudonexutil-Iwlan0-s500-b-l34\-v$(makecsiparams-c36/80-C1-N1)# 3. 使用 tcpdump 捕获数据包sudotcpdump-iwlan0 dst port5500-woutput.pcapNexmon 的优势在于硬件成本低一块 Raspberry Pi 即可但固件修改过程对新手不太友好。3.3. ESP32 CSI ToolkitESP32 是目前门槛最低的 CSI 采集方案。Espressif 官方提供了完整的 CSI 支持全系列芯片ESP32、ESP32-S2、ESP32-C3、ESP32-S3、ESP32-C6均可使用。ESP32 能提供所有 52 个 OFDM 子载波的 CSI 数据包括振幅和相位信息。Espressif 在 GitHub 上维护的esp-csi项目提供了多种部署场景单 ESP32 路由器ESP32 向路由器发送 Ping从路由器回包中提取 CSI。最简单的部署方式。双 ESP32 路由器两个 ESP32 通过路由器通信互相采集 CSI不受路由器位置限制。多 ESP32 组网一个发包设备在多个信道上广播多个接收节点同时采集 CSI检测精度最高。// ESP-IDF 中启用 CSI 回调的核心代码staticvoidwifi_csi_rx_cb(void*ctx,wifi_csi_info_t*info){// info-buf 包含 CSI 原始数据// info-len 为数据长度// info-rx_ctrl 包含 RSSI、噪底、时间戳等元信息wifi_csi_info_t*dinfo;int8_t*my_ptr(int8_t*)d-buf;// 解析每个子载波的虚部和实部for(inti0;id-len;i2){int8_timaginarymy_ptr[i];int8_trealmy_ptr[i1];floatamplitudesqrt(imaginary*imaginaryreal*real);floatphaseatan2(imaginary,real);// 处理振幅和相位数据...}}// 注册 CSI 回调esp_wifi_set_csi_rx_cb(wifi_csi_rx_cb,NULL);esp_wifi_set_csi(true);3.4. ZTECSITool2025 年新工具2025 年发布的 ZTECSITool 值得关注。它基于 ZTE AX3000 系列商用 AP支持 802.11axWi-Fi 6带宽高达 160 MHz可采集多达 512 个子载波的 CSI 数据支持 6 链路天线。这是目前已知规格最高的开源 CSI 采集工具特别适合穿墙检测和大规模部署场景的研究。3.5. CSIKit统一的 Python 解析框架当你手头有了 CSI 原始数据CSIKit 可以帮你省去很多解析工作。它是一个 Python 库能统一处理来自 Intel、Atheros、Nexmon、ESP32、FeitCSI 和 PicoScenes 等多种格式的 CSI 数据。# 使用 CSIKit 解析和可视化 CSI 数据fromCSIKit.readerimportget_reader# 自动识别文件格式并解析readerget_reader(path/to/csi_data.pcap)csi_datareader.read_file(path/to/csi_data.pcap)# 命令行快速可视化# csikit --graph --graph_type all_subcarriers data.pcap4、数据处理 Pipeline拿到原始 CSI 数据后通常需要经过以下处理阶段才能用于具体应用。4.1. 降噪Noise Reduction原始 CSI 数据噪声很大常用方法包括低通滤波 / Butterworth 滤波器去除高频噪声保留人体运动引起的低频变化。Hampel 滤波器检测并替换离群点适合处理 CSI 中的突发脉冲噪声。小波去噪Wavelet Denoising在时频域同时处理对非平稳 CSI 信号效果好。importnumpyasnpfromscipy.signalimportbutter,filtfiltdefbutterworth_filter(data,cutoff10,fs100,order4):对 CSI 振幅序列进行低通滤波nyq0.5*fs normal_cutoffcutoff/nyq b,abutter(order,normal_cutoff,btypelow,analogFalse)returnfiltfilt(b,a,data)4.2. 相位校准Phase CalibrationCSI 的相位数据比振幅更敏感但也更容易受到硬件时钟偏移的影响。常用的线性拟合校准方法如下defphase_calibration(phase_array,subcarrier_indices): 去除由采样频率偏移SFO和包检测延迟PDD 引入的线性相位误差 nlen(subcarrier_indices)ksubcarrier_indices# 线性拟合: phase a * k b true_phasea(phase_array[-1]-phase_array[0])/(k[-1]-k[0])bnp.mean(phase_array)calibratedphase_array-a*k-breturncalibrated4.3. 特征提取Feature Extraction从处理后的 CSI 数据中可以提取多种统计和频域特征时域特征均值、方差、最大值、最小值、中位数绝对偏差频域特征FFT 主频率分量、频谱能量分布信号变换PCA 降维通常前 2-3 个主成分就能保留 90% 的信息量、DWT离散小波变换5、核心应用场景5.1. 室内定位Indoor LocalizationCSI 指纹定位的思路与 RSSI 指纹类似但精度更高。基本流程是在离线阶段采集各参考点的 CSI 指纹并构建指纹数据库在线阶段将实时 CSI 与数据库匹配。利用 CSI 的多子载波信息定位精度通常可以达到亚米级。5.2. 人体活动识别Human Activity Recognition这是 CSI 感知最活跃的研究方向。典型的分类任务包括空房间检测、坐/站/走/躺、跌倒检测、手势识别等。目前主流的做法是将 CSI 数据组织成时间序列或时频图然后使用深度学习模型进行分类。常用的模型架构包括1D-CNN直接处理 CSI 时间序列LSTM / BiLSTM捕获时序依赖关系CNN LSTM 混合架构先用 CNN 提取空间特征再用 LSTM 建模时序关系DenseNet 变体2025 年的研究表明经过优化的轻量级 DenseNet 可以部署在边缘设备上通过 EMD 数据增强将准确率从约 60% 提升到超过 97%5.3. 生命体征监测Vital Signs MonitoringCSI 甚至可以检测人体呼吸和心跳等微弱的生理运动。原理是呼吸导致的胸腔起伏虽然幅度只有几毫米但会引起 Wi-Fi 信号传播路径的微小变化这些变化在 CSI 相位数据中是可观测的。通过频谱分析可以从中提取呼吸频率约 0.2-0.5 Hz和心率约 1-2 Hz信息。6、实战建议如果你想动手实验 Wi-Fi CSI 感知这里有一些实用建议。硬件选择上如果你是初学者或做原型验证ESP32 是最佳起点——成本低单板不到 30 元、文档完善、社区活跃。如果你需要更高的子载波分辨率和 Wi-Fi 6 支持可以考虑 ZTECSITool 配合 ZTE AX3000 AP。环境部署上CSI 对环境变化非常敏感。开始实验时尽量选择受控的室内环境减少无关干扰如宠物、风扇、窗帘飘动等。发射端和接收端之间的距离、角度、以及是否有视距LoS路径都会显著影响结果。数据处理上不要跳过降噪和相位校准步骤。原始 CSI 数据的噪声水平通常很高直接喂给模型效果会很差。PCA 降维是一个简单有效的基线方法——研究表明仅保留前 2 个主成分并量化到 3 bit在人员存在检测任务上 F1 分数仅下降约 2%。模型训练上CSI 数据具有高度的环境依赖性。在 A 房间训练的模型放到 B 房间很可能效果大幅下降。跨环境泛化仍然是该领域的核心挑战之一。数据增强技术如基于 EMD 的方法可以在一定程度上缓解数据不足的问题。7、当前挑战与未来方向CSI 感知技术虽然前景广阔但目前仍面临几个关键挑战。标准化缺失是最突出的问题。不同硬件平台、不同采集工具产生的 CSI 数据格式各异评价指标也不统一导致不同研究之间难以直接比较。IEEE 802.11bf 标准正在推动 Wi-Fi Sensing 的标准化这将是行业发展的重要里程碑。跨环境泛化是制约实际落地的核心瓶颈。CSI 数据高度依赖于具体的物理环境模型在新环境中需要重新标注和训练部署成本高。迁移学习和域自适应方法是目前的主要研究方向。通信与感知共存Joint Communication and SensingJCAS是未来的技术趋势。如何在不影响正常 Wi-Fi 通信质量的前提下实现高质量的 CSI 感知是 Wi-Fi 7 及后续标准需要解决的问题。隐私与安全同样值得关注。CSI 感知技术在带来便利的同时也可能被恶意利用。如何防止未授权的 Wi-Fi 感知监测以及如何在 CSI 数据中实现隐私保护分析是需要技术社区认真对待的议题。8、写在最后Wi-Fi CSI 感知正在从学术研究走向产业应用。2025 年华为联合合作伙伴发布了基于 Wi-Fi CSI 的商用感知方案用于园区节能和安全管理这标志着该技术进入了新阶段。对于开发者来说现在是介入这个领域的好时机硬件成本持续降低开源工具链日趋成熟从 ESP32 到 ZTECSITool 的选择越来越丰富。如果你对无线感知技术感兴趣不妨从一块 ESP32 开始亲手感受 Wi-Fi 信号中隐藏的第六感。参考资源Espressif ESP-CSI:github.com/espressif/esp-csiCSIKit (Python CSI 解析框架):github.com/Gi-z/CSIKitZTECSITool:github.com/WiFiZTE2025/ZTE_WiFi_SensingESP32-CSI-Tool:github.com/StevenMHernandez/ESP32-CSI-ToolNexmon CSI Extractor:nexmon.org

相关新闻

格式总出错?千笔AI,领军级的AI论文网站

格式总出错?千笔AI,领军级的AI论文网站

你是否曾为论文格式反复修改却总是出错?是否在深夜面对空白文档无从下笔?是否因查重率高而焦虑不安?专科生的你,正面临论文写作的重重挑战。千笔AI,专为学生打造的智能写作工具,用人工智能技术解决你的学术…

2026/7/7 0:04:10 阅读更多 →
写作压力小了!9个降AI率软件降AIGC网站测评:本科生必备的降重神器推荐

写作压力小了!9个降AI率软件降AIGC网站测评:本科生必备的降重神器推荐

在当前学术写作环境中,越来越多的本科生开始借助AI工具完成论文初稿。然而,随着高校对AIGC(人工智能生成内容)检测技术的不断升级,单纯依赖AI写作带来的高查重率和明显的AI痕迹问题,成为许多学生难以回避的…

2026/7/3 6:19:11 阅读更多 →
计算机毕业设计springboot在线甜品购物系统 基于SpringBoot的烘焙美食电商平台设计与实现 SpringBoot框架下的西式甜点在线订购系统开发

计算机毕业设计springboot在线甜品购物系统 基于SpringBoot的烘焙美食电商平台设计与实现 SpringBoot框架下的西式甜点在线订购系统开发

计算机毕业设计springboot在线甜品购物系统41o0296t (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着互联网技术的飞速发展和电子商务的全面普及,消费者对于即时、…

2026/7/6 8:17:25 阅读更多 →

最新新闻

Ubuntu 22.04 实时监控:htop 与 top 的 5 项关键指标深度解析与实战

Ubuntu 22.04 实时监控:htop 与 top 的 5 项关键指标深度解析与实战

Ubuntu 22.04 实时监控:htop 与 top 的 5 项关键指标深度解析与实战当服务器负载突然飙升,或是应用程序响应变慢时,系统管理员的第一反应往往是打开终端查看资源占用情况。在 Ubuntu 22.04 中,top和htop这两个经典工具仍然是诊断性…

2026/7/6 23:59:07 阅读更多 →
msconfig 处理器个数设置详解:从1核到N核的3种应用场景与风险

msconfig 处理器个数设置详解:从1核到N核的3种应用场景与风险

msconfig处理器个数设置深度解析:从原理到实战的完整指南引言:揭开处理器个数设置的神秘面纱在Windows系统的众多隐藏功能中,msconfig中的"处理器个数"设置可能是最常被误解的一个。许多用户误以为这个选项能"开启"更多处…

2026/7/6 23:59:07 阅读更多 →
Java应用红蓝对抗实战:从反序列化漏洞到内存马注入的攻防剖析

Java应用红蓝对抗实战:从反序列化漏洞到内存马注入的攻防剖析

1. 项目概述:为什么Java安全是红蓝对抗的焦点在当前的网络安全攻防演练,也就是我们常说的红蓝对抗中,Java应用一直是双方交锋的核心战场。这不仅仅是因为Java在企业级应用、金融系统和大型互联网后台中无处不在,更因为其技术栈的复…

2026/7/6 23:59:07 阅读更多 →
RHEL 8.10 ISO 镜像下载与验证:3步完成官方订阅账户注册与SHA-256校验

RHEL 8.10 ISO 镜像下载与验证:3步完成官方订阅账户注册与SHA-256校验

RHEL 8.10官方镜像获取与安全验证全流程指南 1. 为什么选择官方渠道获取RHEL镜像? 在企业级Linux发行版中,Red Hat Enterprise Linux(RHEL)因其卓越的稳定性和长期支持而备受青睐。然而,许多技术人员在获取安装镜像时…

2026/7/6 23:57:01 阅读更多 →
Android进程监控攻防实战:从行为分析到恶意软件检测

Android进程监控攻防实战:从行为分析到恶意软件检测

1. 项目概述:当恶意软件开始“偷窥”你的进程在移动安全领域,Android进程(AndroidProcesses)的管理与监控一直是攻防双方的核心战场。对于普通开发者而言,/proc目录下的进程列表或许只是调试应用性能的工具&#xff1b…

2026/7/6 23:54:56 阅读更多 →
Node.js SQLite数据库加密实战:SQLCipher集成与安全存储指南

Node.js SQLite数据库加密实战:SQLCipher集成与安全存储指南

1. 项目概述:为什么我们需要加密的本地数据库?在开发桌面应用、移动端应用,甚至是某些需要离线存储敏感数据的服务端应用时,SQLite 几乎是默认的轻量级数据库选择。它简单、快速、零配置,一个文件就是一个数据库&#…

2026/7/6 23:50:52 阅读更多 →

日新闻

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻