2. 基础知识:无线电波传播特性、WiFi信号强度(RSSI)、信道状态信息(CSI)、MAC地址、BSSID/SSID等核心术语
WiFi定位技术的本质,是通过对无线信号在物理空间传播过程中所携带的特征信息进行采集、建模与解算,从而推断出目标设备的位置。要深入理解定位算法、指纹库构建、信号滤波等后续内容,首先必须扎实掌握无线电波传播的基本规律,以及RSSI、CSI、MAC地址、BSSID/SSID等核心术语的物理含义与工程特性。本章将系统梳理这些基础概念,并重点辨析它们在定位工程中的实际作用与常见误区。
2.1 无线电波传播特性与定位的关系
核心原理:无线信道的物理本质
WiFi信号工作在2.4GHz或5GHz频段,属于微波频段。无线电波从发射天线到接收天线的传播过程中,会经历多种物理现象,这些现象直接决定了接收信号的特征,也是定位算法需要建模和利用的信息来源。
- 路径损耗(Path Loss):信号功率随传播距离增加而衰减。自由空间模型下,接收功率与距离的平方成反比(即每增加一倍距离,信号衰减6dB)。实际室内环境中,由于反射、绕射等因素,衰减指数n通常在1.8~4.5之间。
- 多径效应(Multipath):信号经墙壁、地面、人体等物体反射后,会以多条路径到达接收端。不同路径的信号在接收端叠加,造成幅度波动和相位畸变。多径是RSSI定位误差的主要来源,但也是CSI能够提供细粒度位置信息的物理基础。
- 阴影衰落(Shadow Fading):当信号穿过墙体、隔断等障碍物时,会产生额外的衰减,表现为接收信号强度在均值附近的对数正态随机波动。
- 多普勒频移(Doppler Shift):当终端与AP之间存在相对运动时,接收信号频率会发生偏移。在室内步行场景下,多普勒频移通常较小(几Hz到几十Hz),但在人员密集或快速移动场景中不可忽略。
工程要点:室内定位中,路径损耗模型是RSSI测距的基础,但多径和阴影衰落使得单一模型难以精确描述信号与距离的关系。因此,工程上更常采用指纹定位法,通过预先采集各位置的信号特征来规避精确建模的困难。
判断方法:如何评估传播环境对定位的影响
在部署定位系统前,需要对目标环境的无线电波传播特性进行评估,主要关注以下指标:
- 信号覆盖强度:使用专业测试工具(如Ekahau、NetSpot)或手机APP扫描各区域的RSSI值,确保定位区域内信号强度不低于-75dBm(2.4GHz)或-80dBm(5GHz)。
- 多径严重程度:通过信道分析工具查看延迟扩展(Delay Spread)。若延迟扩展超过100ns,说明多径较严重,RSSI波动会较大。
- AP密度与布局:相邻AP之间的间距建议控制在8~15米(室内),确保任意位置至少能扫描到3~4个AP信号。
案例拆解:某办公楼走廊的信号传播分析
某企业办公楼走廊长50米,宽2米,两侧为玻璃隔断办公室。部署定位系统时,工程师在走廊两端各安装1个AP,并在走廊中间位置测试信号。
| 测试点 | 距AP1距离 | RSSI(dBm) | 理论值(n=2.5) | 偏差 |
|---|---|---|---|---|
| P1(近端) | 2m | -42 | -40 | -2dB |
| P2(中段) | 25m | -68 | -65 | -3dB |
| P3(远端) | 48m | -79 | -76 | -3dB |
实测值普遍比理论值低2~3dB,原因是玻璃隔断对信号有反射和吸收作用,且走廊两侧的金属门框造成了额外的散射。工程师据此将路径损耗指数n修正为2.8,并将该修正值用于后续的指纹库构建和测距计算。
常见误区:不要直接使用自由空间模型(n=2)进行室内测距。室内环境的n值通常在2.2~4.0之间,且不同区域差异较大。建议在每个独立空间(如会议室、走廊、开放办公区)分别标定n值。
2.2 RSSI:接收信号强度指示
核心原理:RSSI的物理含义与工程获取
RSSI(Received Signal Strength Indicator)是无线网卡或WiFi芯片对接收到的射频信号功率的量化表示,单位通常为dBm(分贝毫瓦)。RSSI值反映的是接收天线处信号功率的值,其数学表达式为:
RSSI(dBm) = Pt + Gt + Gr - PL(d) - Ls
其中,Pt为发射功率(AP通常为20dBm),Gt和Gr分别为发射和接收天线增益,PL(d)为路径损耗,Ls为系统损耗(包括馈线、连接器等)。
在定位应用中,RSSI是最常用的信号特征,原因在于:
- 获取简单:几乎所有WiFi设备都支持通过标准API读取RSSI值,无需特殊硬件。
- 计算开销小:RSSI是标量值,存储和计算成本低,适合大规模指纹库构建。
- 与距离相关:在理想条件下,RSSI随距离单调递减,可用于粗略测距。
判断方法:RSSI数据的质量评估与预处理
RSSI值在实际环境中波动较大,同一位置、同一AP的RSSI在短时间内可能波动5~10dB。因此,在使用RSSI进行定位前,需要进行数据预处理:
- 多次采样取均值:建议每个采样点采集30~50次RSSI值,去除异常值后取算术平均或中位数。
- 高斯滤波:对RSSI时间序列进行高斯滤波,保留概率大于0.6的数据,抑制小概率突变。
- AP选择:仅保留RSSI大于-85dBm的AP信号,低于该阈值的信号噪声比过低,定位贡献有限。
经验提醒:在Android和iOS平台上,RSSI的获取方式不同。Android通过WifiManager.getScanResults()获取,iOS由于系统限制,无法直接获取RSSI,需要通过CoreLocation框架间接获取。开发跨平台定位应用时需特别注意。
案例拆解:RSSI指纹库的构建与匹配
某商场部署了20个AP,计划在B1层(约5000平方米)实现3~5米精度的定位。工程师按2米间隔划分网格,共设置1250个参考点。每个参考点采集30秒信号数据,记录每个AP的RSSI均值与标准差。
| 参考点编号 | AP1 RSSI | AP2 RSSI | AP3 RSSI | AP4 RSSI | AP5 RSSI |
|---|---|---|---|---|---|
| RP-001 | -45.2 | -58.7 | -72.3 | -80.1 | -88.5 |
| RP-002 | -47.8 | -55.3 | -70.9 | -78.6 | -86.2 |
| RP-003 | -50.1 | -52.8 | -68.4 | -76.9 | -84.7 |
在线定位时,终端扫描得到实时RSSI向量,通过欧氏距离或余弦相似度与指纹库匹配,选取K个最近邻参考点,加权平均得到估计位置。实测精度达到3.8米(67%概率),满足商场导航需求。
常见误区:RSSI指纹库的时效性问题。AP功率调整、环境布局变化(如新增货架)、人员密度变化都会导致指纹库失效。建议每季度更新一次指纹库,并在关键区域设置校验点。
2.3 CSI:信道状态信息
核心原理:从标量到矢量的信息升级
CSI(Channel State Information)描述了无线信号在发射端与接收端之间传播时,每个子载波上的幅度衰减和相位偏移。与RSSI仅提供单一标量值不同,CSI提供了频域上的细粒度信息,能够反映多径传播的详细特征。
在OFDM(正交频分复用)系统中,CSI通常表示为复数矩阵:
H(f_k) = |H(f_k)| · e^(j·∠H(f_k))
其中,|H(f_k)|为第k个子载波的幅度响应,∠H(f_k)为相位响应。对于20MHz带宽的WiFi信号,通常有64个子载波(其中52个用于数据传输),因此一次CSI测量可得到52组幅度和相位数据。
判断方法:CSI数据的获取与质量评估
CSI的获取需要特定硬件和驱动支持:
- Intel 5300网卡:通过修改固件可提取30组子载波的CSI数据,是学术界最常用的方案。
- Atheros/Qualcomm芯片:部分芯片支持通过驱动接口获取CSI,但兼容性较差。
- ESP32等IoT芯片:乐鑫ESP32支持通过WiFi库获取CSI,适合低成本定位应用。
CSI数据质量评估主要关注:
- 信噪比(SNR):CSI幅度值应明显高于噪声底,否则相位信息不可靠。
- 时间稳定性:静态环境下,CSI幅度应保持相对稳定,若波动超过3dB,说明环境干扰较大。
- 子载波相关性:相邻子载波的CSI应具有连续性,若出现剧烈跳变,可能是数据采集错误。
工程要点:CSI的相位信息通常包含载波频率偏移(CFO)和采样频率偏移(SFO)等误差,直接使用原始相位会导致定位精度下降。工程上需进行线性变换校准,去除相位误差后再用于定位。
案例拆解:基于CSI的呼吸检测与定位
某智慧养老项目需要在房间内检测老人的呼吸频率,同时实现亚米级定位。工程师采用ESP32设备采集CSI数据,利用人体呼吸引起的胸腔起伏对信号多径的影响,从CSI幅度的时间序列中提取呼吸频率。
具体实现:在房间天花板上安装4个ESP32节点,每个节点采集CSI数据(64个子载波),采样率100Hz。对CSI幅度序列进行带通滤波(0.1~0.5Hz),提取呼吸信号。同时,利用不同子载波对呼吸引起的多径变化的敏感度差异,结合到达角度(AoA)估计算法,实现0.8米精度的定位。
实测结果:呼吸频率检测误差±1次/分钟,定位精度0.8米(90%概率),满足项目需求。
常见误区:CSI并非所有WiFi设备都能获取。商用手机、普通路由器通常不提供CSI接口。如果项目需要CSI,必须在硬件选型阶段就确定支持CSI的芯片方案,避免后期无法实现。
2.4 MAC地址、BSSID与SSID
核心原理:三种标识符的层级关系
在WiFi定位中,MAC地址、BSSID和SSID是三个容易混淆但作用不同的标识符:
| 术语 | 全称 | 长度 | 作用 | 定位中的用途 |
|---|---|---|---|---|
| MAC | Media Access Control | 48bit(6字节) | 设备物理地址,全球唯一 | 识别终端设备身份 |
| BSSID | Basic Service Set Identifier | 48bit(6字节) | AP无线接口的MAC地址 | 区分不同AP |
| SSID | Service Set Identifier | 最多32字节 | 无线网络名称(用户可见) | 区分不同网络 |
三者关系:一个SSID(如"Office-WiFi")可以对应多个BSSID(多个AP),每个BSSID对应一个AP的无线接口,而每个终端设备(手机、笔记本)也有自己唯一的MAC地址。
判断方法:定位中如何正确使用这些标识符
- AP识别:在指纹库中,应以BSSID作为AP的唯一标识,而非SSID。因为多个AP可能使用相同SSID,但BSSID不同。
- 终端识别:通过MAC地址识别终端设备,但需注意MAC地址随机化问题。Android 10+和iOS 14+默认对WiFi扫描结果进行MAC随机化,导致同一设备在不同时间扫描时MAC地址不同。
- 网络选择:在定位系统中,应过滤掉非目标网络的信号(如隔壁店铺的WiFi),通过SSID或BSSID白名单机制实现。
经验提醒:针对MAC随机化问题,可采用以下策略:1)在指纹采集阶段,使用专用设备(如树莓派+USB网卡)固定MAC地址;2)在定位阶段,结合RSSI特征和MAC地址共同识别设备;3)对于需要持续追踪的应用,可申请使用ACCESS_FINE_LOCATION权限获取真实MAC地址(Android 10以下)。
案例拆解:多AP场景下的BSSID管理
某高校图书馆部署了50个AP,统一SSID为"Library-WiFi"。在构建定位指纹库时,工程师发现部分区域扫描到的AP数量超过10个,但其中包含相邻楼宇的AP信号(BSSID不同)。
处理方案:
- 通过AP管理平台获取所有定位区域内的合法BSSID列表,共52个。
- 在指纹采集和在线定位时,仅保留BSSID在合法列表中的AP信号。
- 对每个BSSID建立索引,加速指纹匹配时的AP查找。
实施后,指纹库的AP维度从平均8个降至5个,定位计算时间减少35%,精度提升约0.5米(因为排除了干扰AP)。
常见误区:不要将SSID作为AP的唯一标识。在大型园区中,多个AP共用SSID是常态,仅凭SSID无法区分具体AP位置。必须使用BSSID进行AP级识别。
2.5 核心术语综合对比与选型建议
RSSI与CSI的定位性能对比
| 对比维度 | RSSI | CSI |
|---|---|---|
| 信息粒度 | 标量(单一强度值) | 矢量(多子载波幅度+相位) |
| 硬件要求 | 所有WiFi设备 | 特定芯片(Intel 5300、ESP32等) |
| 抗多径能力 | 弱(多径导致波动) | 强(可区分多径分量) |
| 定位精度 | 3~10米 | 0.5~2米 |
| 计算复杂度 | 低 | 高(需处理复数数据) |
| 适用场景 | 室内导航、人员存在检测 | 精细定位、行为识别、呼吸检测 |
选型建议
- 项目预算有限、精度要求3米以上:优先选择RSSI指纹方案,部署成本低,技术成熟。
- 需要亚米级精度或特殊应用(如跌倒检测):考虑CSI方案,但需评估硬件成本和开发难度。
- 混合方案:在关键区域(如出入口、电梯口)部署CSI节点,其他区域使用RSSI,兼顾成本与精度。
总结复盘:本章核心要点可归纳为:1)无线电波传播的路径损耗、多径和阴影衰落是定位误差的物理根源;2)RSSI是工程中最易获取的信号特征,但精度受限;3)CSI提供更丰富的频域信息,是提升定位精度的关键;4)MAC、BSSID、SSID三者层级分明,在定位系统中需正确使用。掌握这些基础概念,是后续学习指纹定位、测距定位和融合定位算法的前提。