室内可见光定位系统的编码方法与流程

文档序号:19835542发布日期:2020-02-04 12:58阅读:660来源:国知局
室内可见光定位系统的编码方法与流程

本发明涉及可见光通信技术领域,具体涉及一种室内可见光定位系统的编码方法。



背景技术:

随着社会的高速发展及各种电子产品和智能设备的普及,无线频谱资源变得越来越短缺,可见光通信(vsiblelightcommunication,vlc)作为一种新兴的通信技术,由于其具有更高的传输速率,更广泛的实用性和更高的安全性等优点,已经引起国内外研究人员的共同关注。此外,可见光通信是用目前使用最为广泛的led灯作为光源,所以可见光通信具有通信和照明的双重功能。目前,可见光通信已经成为无线通信领域的热点研究方向,其应用前景非常广阔。

现有的可见光定位装置在发送时大多采用时分复用,即发送数据的同时也起到照明的作用,光电探测器在时域上接收单个led数据,同时额外接收其他led照明所带来的高电平。在收发距离较短的情况下,可能会导致由于光功率过大,超过ad采集量程,致使ad无法正常采集到的对应的数据信息。



技术实现要素:

本发明所要解决的问题是:提供一种室内可见光定位系统的编码方法,利用发送端的反相放大和接收端的反相放大,将编码好的数据帧稳定的发送和接收。利用低电平作为led的位置信息,减少了ad采集的电压范围,同时在数据帧头判断的时候,可以保证帧头无法正常采集的情况下,也不会影响接收的位置信息。

本发明为解决上述问题所提供的技术方案为:一种室内可见光定位系统的编码方法,所述方法包括以下步骤,

(1)、在电脑上利用quartus软件,首先对一帧数据进行时分复用编码,将三个led位置信息分别设置为1、2、3个时钟的高电平;每两个led之间设置为一个时钟的低电平,以此来提高led的发光功率;在一帧数据结束后设置间隔为两个低电平,作为下一帧的帧头;将编码好的数据帧下载至fpga开发板,通过开发板的三个io口分别发送至三个驱动电路;

(2)、驱动电路由前级正向电压放大和后级电流反相放大组成,选用大功率运放opa548和npn型三极管e13003t,首先利用opa548运放对过来的电压信号进行正相放大,然后再利用三极管进行电流的反向放大;

(3)、采用跨阻运放opa656和光电探测器组成光电探测模块的前置接收电路,光电探测模块通过探测led灯的亮和灭来采集信息,后级放大电路采用运放op07;把数据再进行一次反向的线性放大,输出至ad采集卡;最后把采集的离散数据传输到fpga数据处理模块;

(4)、根据接收来的数据,先判断上升沿与下降沿,在上升沿与下降沿之间便是led携带的位置信息,而下降沿与上升沿之间最宽的数据则是数据帧头;

(5)、在指定的位置采取数据直接作为对应led所携带的信息,分别采出三个led对应位置的大小;

(6)、在三个led位置已知的情况下,测量出空间的垂直距离h,利用朗博定律可以得到光功率与距离之间的关系分别求出三个led所对应的距离,通过三边定位算法:

最终确定所在的位置信息x,y;

(7)、把得到的数据x,y结果传输至外接显示模块lcd1602,最终显示出具体的位置信息。

优选的,所述步骤(1)中一帧设置为19个时钟周期,具体为led1:0010100000000000000,led2:0000011011000000000,led3:0000000001110111000。

优选的,所述步骤(2)中led1编码变为1101011111111111111,led2的编码变为1111100100111111111,led3则改变成为1111111110001000111,可以看出,一帧数据里面很多的高电平保证了led足够的亮度,同时低电平携带的位置信息又能够稳定的发送。

优选的,所述步骤(4)中在判断帧头时,出现由于光功率过大导致数据不再发生变化的情况时,只要判断出帧头长度即可,不必对数据量做处理。

与现有技术相比,本发明的优点是:通过对发送端时序编码的控制,利用外围电路的反相放大和接收端的反相放大,不仅可以更为简单的对led发送信息进行接受和判断,而且解决了由于光功率过大导致ad采集卡无法正确的接收数据所带来的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1是本发明系统结构图;

图2发送端时序编码图;

图3led驱动电路图;

图4光电探测模块电路图。

具体实施方式

以下将配合附图及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。

本发明是这样来工作和实施的,首先把按照图2所示的编码方式,通过fpga的io口发送至三个led驱动电路,如图3所示。三个led排列不做具体要求,只要光电探测器能够稳定接收即可。接收电路如图4所示,光电探测器将接收过来的数据进行反相放大之后,通过ad采集输送至fpga开发板,利用quartus软件自带的逻辑分析仪,对ad采集过来的数据进行处理,由图2的编码方式可以得知,一帧数据包含三个led的位置信息,而在led3数据之后,有一段比较长的低电平数据作为数据的帧头,此帧头是三个led高电平时的叠加,当光功率比较大时,帧头数据会出现失真,但这并不影响帧头的判断。三个led数据信息分别是由一个低电平和两个高电平组合,这样就减少了输入电压的范围,在收发距离较短的情况下并不会导致失真。相比传统的编码方式,亮度也有所增加。当检测到帧头的开始,此时设置一个计数器,当计数分别为5、58、188的时候,分别对应三个灯的光功率大小,将采集得到的数据代入朗博定律:

求得三个led的相对距离,然后利用三边定位算法:

就可以求出此时的位置信息x,y,最终显示在lcd1602模块上。

以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅局限于以上实施例,其具体结构允许有变化。凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1