基于图像传感器的可见光通信的优缺点分析

更多本人做的可见光通信工作请见博客:《基于可见光通信的移动机器人室内定位及物联网应用

在可见光通信中,按接收器的分类,主要有两类:1、PD-based;2、image-based

PD-based虽然带宽高,但是本人认为,实际上却远不如image-based实在。特别是可见光定位相关的应用,个人认为,PD-based毫无优势可言(虽然本人之前也发表了很多基于PD的可见光定位的论文,但基本都是仿真,除了最近一篇在IEEE access上的论文是仿真+实验以外),可以认为目前研究现状中,PD-based的定位精度都是远低于image-based的

从原理上来讲,相机可以看作由多个PD构成的PD阵列。通常相机的视场角(Field of View,FOV)大于50度,这使得基于IS的VLIP技术不必严格对准就可以实现可靠的信号传输,增加了VLIP技术的灵活性。同时,基于IS的VLIP技术因其透镜(Lens)成像原理使其具有以下优点:

优点

(1)利用IS得到的图像可以自然的将不同位置处的物体区分出来并显示在图像中的不同位置,这表示当发射端位置不同时,基于IS的VLIP技术可以高效的完成信号的空间分离和并行接收,对比LED与背景区域的信息使用图像处理算法即可避免噪声带来的干扰。(空间分离特性)

(2)如果成像中的噪声与LED的位置很接近无法通过简单的空间方式进行区分,还可以对IS的图像流进行分析从而滤除干扰和噪声。因为在较段时间内噪声在IS成像上的位置基本不会改变。这使得以IS作为接收端的VLIP技术具有较高的抗噪能力。

(3)IS得到的图像为彩色图像,并且该图像由三通道数值表示,这为光通信的波分复用(WDM)技术奠定了极佳的硬件基础,这也是提高VLC信号带宽的重要手段之一。

缺点:

(1)当前普通IS的FOV角大多在60度左右,因此要在IS的FOV内同时捕获多个LED光源,需要满足IS与LED光源距离足够远或LED光源之间的距离足够近两种条件之一。然而,当IS与LED光源过远时会对VLC性能带来影响,也会引入更多的噪声;而LED光源之间的距离太近又不符合实际的照明需求。

这一点其实就是我们常说的视场角的限制。因为一般要2~3盏LED才可以实现定位。但是FOV的限制会导致捕获到的LED的数量不够,当然也可以让LED跟camera的垂直距离更远,但是更远又会影响ID识别。因为rolling shutter effect虽然是可以提升速率,但是随着距离的增大会使得所捕获的条纹数降低。大大影响了ID的识别量与识别率

(2)目前大多数研究中,没有考虑VLIP技术中接收端的倾斜情况,或者在固定倾斜角的情况下对定位性能进行分析。无论接收.端使用PD还是IS,当其与发射端坐标系有倾斜角时,都会引起巨大的定位误差,而在实际应用中这种倾斜是不可避免的。一些研究中引入额外的硬件设备(如陀螺仪等)计算倾斜角,但也势必会增加硬件成本。同时也会大大增大算法的复杂程度。

参考资料

基于立体视觉的可见光通信室内定位技术研究与实现_于朋鑫


 

### 可见光指纹定位技术原理 可见光通信(VLC, Visible Light Communication)作为一种新兴的短距离无线通信技术,在特定场景下可实现高精度定位功能。当提到“指纹可见光定位”,实际上是指基于接收端接收到信号强度特征来构建位置指纹数据库,并用于后续的位置估计过程。 #### 构建位置指纹库 为了建立有效的可见光定位系统,通常会在目标区域内预先设置若干已知坐标的参考点。这些参考点会记录来自各个LED光源所发射光线到达该处时对应的RSSI(Received Signal Strength Indicator)。随着移动设备携带者在空间内不断变化其所在位置,收集到的不同坐标下的RSSI数据集即构成了所谓的“位置指纹”。 #### 实现精确定位 一旦完成了前期准备工作之后,对于任何未知地点上的终端而言,只需测量当前时刻周围所有可用灯源发出光照度情况并形成新的向量形式表示法;随后将其与事先存储于服务器中的历史样本相比较匹配——采用诸如K近邻算法(KNN)[^1]或其他相似性评估手段找出最接近的一组或多组训练实例作为预测依据,从而推断出待测物体确切方位信息。 ```python import numpy as np from sklearn.neighbors import KNeighborsClassifier def train_fingerprint_model(training_data, labels): model = KNeighborsClassifier(n_neighbors=3) model.fit(training_data, labels) return model def predict_location(model, test_sample): prediction = model.predict([test_sample]) return prediction[0] # Example usage training_samples = [[-67,-58], [-49,-52], ... ] # RSSI values at known locations location_labels = ['A', 'B', ... ] model = train_fingerprint_model(training_samples, location_labels) new_measurement = [-60, -55] predicted_position = predict_location(model, new_measurement) print(f"The predicted position is {predicted_position}") ``` 此方法不仅适用于静态环境内的物品追踪管理任务之中,而且还可以扩展至动态条件下行人导航服务等方面发挥重要作用。 ### 应用案例 - **智能家居**:通过安装在家里的灯具上集成VLC模块,使得家庭成员即使是在没有GPS信号覆盖的情况下也能被精准跟踪; - **博物馆导览**:游客佩戴特制眼镜或手持智能终端即可获取展品介绍资料的同时享受个性化参观路线规划建议; - **工业自动化仓库**:AGV自动引导车依靠内置传感器读取上方货架照明装置传递过来的数据完成货物搬运工作而不必担心电磁干扰影响通讯质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值