完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用了两块ESP32开发板分别作为AP和STA进行CSI信道状态信息的采集,
ESP-IDF版本为4.2.1; 采集工具为:https://stevenmhernandez.github.io/ESP32-CSI-Tool/ 采集原理:利用struct wifi_csi_info_t的 成员变量buf,按实部,虚部逐一输出CSI数据。总共只取前128,即64byte。 现象:收集了长训练字段 (LLTF)的CSI,每一帧得到了64组值。根据802.11n的相关资料表明64个子载波在20MHz时理应只有52个子载波有数据,其余为空。(个人理解为最终取到64个子载波的CSI数据里,也只有52个是有数值的,其余应该为0) 部分数据如下: my-AP-12-11.csv (1.94 MiB) Downloaded 621 times 问题:ESP-IDF编程指南给出了CSI数据包格式,请问前64字节是怎样分别对应的子载波序号呢?是“-32到-1,0到31”还是“0到31,-1到-32”呢? |
|
相关推荐
1个回答
|
|
ESP-IDF编程指南中提到的CSI数据包格式是指在802.11无线通信中,信道状态信息(Channel State Information,CSI)的表示方式。CSI数据包格式通常用于描述无线信道的特性,以便进行信道估计和信号处理。在这个问题中,我们关注的是CSI数据包的前64字节,以及它们是如何对应子载波序号的。
首先,我们需要了解802.11n标准中的子载波分配。在20MHz的信道宽度下,802.11n标准使用64个子载波,其中52个子载波用于传输数据,另外12个子载波用于频谱扩展(Guard Bands)和控制信息(如同步信号、导频信号等)。因此,在CSI数据包中,我们期望看到52个有效的子载波数据。 现在我们来分析CSI数据包的前64字节。在ESP-IDF中,CSI数据是通过struct wifi_csi_info_t结构体表示的,其中buf成员变量用于存储CSI数据。这些数据按实部和虚部逐一输出,总共128个字节(64个字节实部,64个字节虚部)。 根据问题描述,你已经使用两块ESP32开发板分别作为AP(Access Point)和STA(Station)进行CSI信道状态信息的采集。采集到的CSI数据中,前64个字节应该包含64个子载波的实部数据。由于20MHz信道宽度下有52个有效子载波,我们可以预期在这64个字节中,有52个字节是有效的,其余12个字节可能为0或者未定义。 为了验证这个现象,你可以按照以下步骤操作: 1. 读取struct wifi_csi_info_t结构体中的buf成员变量,获取前64个字节的实部数据。 2. 检查这64个字节中,哪些字节是非零值,哪些字节是零值。根据802.11n标准,非零值的字节应该对应52个有效子载波。 3. 如果发现有12个字节是零值或未定义,这可能表示这些字节对应的子载波是用于频谱扩展或控制信息的。 需要注意的是,实际的CSI数据可能会受到多种因素的影响,如信道噪声、信号衰减等。因此,在分析CSI数据时,需要综合考虑这些因素,以获得更准确的信道状态信息。 总之,ESP-IDF中的CSI数据包格式将前64字节用于表示64个子载波的实部数据。在20MHz信道宽度下,其中有52个子载波是有效的,其余12个子载波可能为空或用于其他目的。通过分析这些数据,可以更好地理解无线信道的特性,从而优化通信性能。 |
|
|
|
只有小组成员才能发言,加入小组>>
733 浏览 1 评论
552浏览 6评论
461浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
445浏览 5评论
446浏览 4评论
417浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 04:41 , Processed in 0.804967 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号