关于FPV图传系统时延讨论
- 1. 源由
- 2. 时延测试方法
- 3. 时延测试资料
- 4. 关于模拟图传
- 5. 关于FPV时延感受
- 5.1 静态时延
- 5.2 动态时延
- 6. 参考资料
- 7. 附录 DJI 图传系统
1. 源由
视频图传系统最重要的几个指标:
- 分辨率
- 视角
- 帧率
- 时延
- 传输距离
目前高清图传主要规则:分辨率720P;视角摄像头光学系统决定;帧率60~120FPS;传输距离取决于射频发射功率、接受灵敏度以及传输环境;
因此,之前在对开源wfb_ng做了简单的验证过程重点测试的是720P下的时延情况。
【1】模拟FPV-肥鲨HDO2+无牙仔2+熊猫VT5804ML1+Foxeer野火 时延测试
【2】FPV Camera(RPI3+V2.1) | wfb_ng Release 23.01 | ubuntu20.04 gnome软解测试
【3】FPV Camera(RPI3+V2.1) | wfb_ng Release 23.01 | Ubuntu 20.04 xfce软解测试
【4】FPV Camera(RPI 3B+/Zero W+V2.1) | wfb_ng Release 23.01 | H264硬解测试
鉴于手中被测设备和测试工具的限制,不能做的非常详尽,但是还是期望能够了解当前技术瓶颈,以及现行产品的极限性能。
2. 时延测试方法
- 秒表测试法 //不准确,感性认识
- 高速相机拍照 //准确,精准量化
关于秒表测试方法就不做介绍了,高速相机拍照采用点亮LED(ns级同步速度),相对于ms级时延系统来说,可以忽略LED点亮的同步时间误差。
整个逻辑步骤:
- 当按下按钮,“光速”触发LED点亮
- 高速相机记录到相机前的LED灯点亮(此时,图传系统摄像头前端的LED也被点亮)
- 摄像头CCD光电效应检测到图像,通过图传压缩传输
- 眼镜接收到RF图传信号,解压压缩图像,刷新到显示缓存
- 显示缓存刷新到LCD/OLED屏幕
- 高速相机记录LCD/OLED屏幕信息(看到LED被点亮)
3. 时延测试资料
这里整理了一下网络资料,通过高速相机拍摄的测试结果如下:
从测试数据看,HDZero和DJI 120 fps(DJI Google V2 + O3) 是比较好的高清图传,性能在30ms左右。
Walksnail Avatar Latency Testing vs DJI, HDZero and Analog!
4. 关于模拟图传
当然这也不是说模拟图传已经被淘汰。
- 当关闭模拟摄像头WDR功能,模拟演示在20ms以下
- 很多场景并非一定需要高清,比如:远航功能测试等
- 毕竟性价比在那里
下面就是模拟摄像头WDR引入的16.7ms的额外时延,去掉后35ms - 16.7ms 大约 19 ms左右,这里显然就会比高清数字图传时延更优了。
5. 关于FPV时延感受
5.1 静态时延
人对于外界相应的时延大约在200ms左右,相较于整个控制系统回路来说,30ms左右的视频时延差距并不是主要的耗时。当然从数据的角度来说,系统时延越小当然越实时。
5.2 动态时延
从动态的角度来说,个人认为存在两种场景:
- FPV动态飞行过程,突然出现一个障碍物。个人认为,对于这种“鬼探头”,这种额外的30ms时延很难解决问题。只能类似考虑“主动防御性”飞行来规避。
- FPV在复杂障碍物中穿越飞行,这个额外延时一定会对操控人员造成实时性的影响(尤其是非熟悉的环境)。
针对第二点,想表明的一个立场是,如果是一个熟悉的赛道,经过训练,反复试飞,即使30ms的延时,人可以通过学习做出预判。但是非熟悉环境,这种预判的准确性就会降低,局限了预判提前时间。因此,实时性就非常重要。
注:大家可以体会下下面视频给出的一些感受。
You should care about FPV latency. Here's why
6. 参考资料
【1】An Average Human Reaction Time
【2】How Fast is Real-Time? Human Perception and Technology
7. 附录 DJI 图传系统
DJI Google V2 + O3 120FPS能达到一个比较优秀的时延。
When is 120fps NOT 120fps? //DJI O3 Air Unit 4k120 latency and refresh rate test