WiFi噪声测量

oh.*_*.su 5 linux wireless-networking noise wpa-supplicant wifi-driver

我想做的事:

我想在 2.4GHz 和 5GHz 频段存在噪声的环境中使用 Raspberry Pi 等设备进行一些实验。

到目前为止我尝试过的:

我的想法是简单地使用 Linux 中的无线工具,例如iwconfig, wpa_cli,理论上它可以显示信号强度(可以正常工作)和本底噪声(我无法获得)的 dBm 值。
不过,据我了解,是否能真正计算出合理的噪声值取决于WiFi芯片组驱动程序的支持。不幸的是,我似乎没有任何此类芯片组,并且很难看出哪些芯片组驱动程序实际上支持噪声测量(测试的芯片组为 BCM43438、AR9271、RTL8723BE、RTL8188CU)。另请参见例如这个问题

这个噪声值对我来说非常有吸引力,因为它已经是特定算法的产物,该算法采用所选 WiFi 通道中的无线电频谱并处理该输入以给出单个噪声值。(如果有人知道有关所使用的算法的任何信息,请告诉我,我也对此感兴趣)。

有谁能够帮助我:

为了在 2.4 GHz(也可能是 5 GHz WiFi 频段)执行有意义的 WiFi 噪声测量,我想知道我的 WiFi 硬件是否需要特殊的驱动程序来提供噪声信息?有人可以向我指出如何使用任何标准 WiFi 芯片组进行合理的噪声测量吗?

dav*_*dgo 3

我认为您只是没有使用正确的软件 - 对于任何 WIFI 芯片来说,如果无法告诉您信号级别,这似乎很奇怪。(在我的 Ubuntu 盒子上)我刚刚输入:

iwlist wlan0 scanning  | egrep "SSID|Quality"
Run Code Online (Sandbox Code Playgroud)

获取 SSID 及其信号级别的列表。FWIW 我有一台内置 Wifi 的戴尔笔记本电脑。LSPCI 将该卡列为 Intel Corporation Wireless 3165(修订版 79)

我在我的华硕 RT-AC68U 路由器(运行 dd-wrt)上做了同样的事情,一旦我确定 WIFI 设备的接口是 eth1,这也有效。该设备声称拥有 BCM4360 802.11ac 无线网络适配器(修订版 03)

请注意,这些工具只能检测来自其他 Wifi 设备的干扰 - 如果干扰来自不支持 Wifi 协议的设备(微波炉、arduino 的模拟接口、电围栏),您可能需要昂贵的设备。也就是说,可以通过连接到 AP 并处理以下输出来做出一些推断:

cat /proc/net/wireless

Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
 face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
 wlan0: 0000   70.  -27.  -256        0      0      0      0     42        0
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢您的建议。实际上,在我所有的 wifi 芯片组上,您提到的 iwlist 命令都为我提供了质量和信号级别的输出。然而,它缺少条目“噪声”,据我所知,该条目提供了有关本底噪声的信息,该噪声也可能来自非 WiFi 来源(这正是我正在寻找的)。在不检查 /proc/net/wireless 中生成输出的源代码的情况下,我非常确定噪声值 =-256dBm 是默认值,表明没有可用的噪声测量,因为如此低的值是不合理的,因为例如始终存在的热噪声。 (4认同)