一种解决多幅度可见光通信中LED频闪的均衡编码方法

文档序号:35990783发布日期:2023-11-15 23:25阅读:44来源:国知局
一种解决多幅度可见光通信中LED频闪的均衡编码方法

本方法属于可见光成像通信,具体涉及一种解决多幅度可见光通信中led频闪的均衡编码方法。


背景技术:

1、由于led灯的广泛应用以及智能移动终端的技术革新,使得可见光成像通信技术(optical camera communications,occ)迅速发展。occ在具有可见光通信技术(visiblelight communications,vlc)没有电磁辐射和干扰、频谱资源丰富和通信速率高等优势的基础上,同时还具有临时网络和通信链路搭建快、网络使用和维护成本低和更易普及等优势。

2、随着光通信技术的快速发展,occ在发送端利用led灯传输信息,在接收端利用智能手机终端获取光源信息,occ已经被广泛地应用在各种通信环境中。为了提升通信速率,occ系统在发送端采用pwm实现像素的多幅度调制进而达到高速率的通信目标。但是在实际通信过程中,使用多幅度occ技术有着严重频闪现象的存在,这导致了影响正常照明工作、视觉错误和视觉疲惫等问题,亟待解决。

3、为了提高通信速率,occ系统采用多幅度调制方法,这导致led灯出现严重的频闪现象。


技术实现思路

1、为了克服上述问题,本发明提供一种解决多幅度可见光通信中led频闪的均衡编码方法,通过能量均衡编码的方法保证各帧间能量均衡,进而解决多幅度occ的频闪问题;该方法操作简单高效,易于投入实际应用。

2、一种解决多幅度可见光通信中led频闪的均衡编码方法,包括以下步骤:

3、步骤1:在发送端使用led条形灯作为光源,对要传输的文字通过utf-8预编码后获得原始码流数据,对原始码流数据,将每六个字节数据加上头部编码111110、能量补充位编码11、序号和尾部编码00一起封装成一帧,并将全部帧数据存储在数据缓冲区中;

4、步骤2:通过stm32单片机中的高分辨率计数器产生pwm波,全部帧数据经过pwm调制后获得四种不同占空比的多幅度信号,四种占空比产生的四种亮度状态具有不同的能量赋值,根据设定的占空比能量赋值准则,对数据缓冲区的数据赋予相应的能量;从而再利用一帧能量和算法,计算出一帧的能量;最后,通过遍历的方法,计算数据缓冲区中每一帧的能量,记为wi,i=1,2,3,...,n;

5、步骤3:对上述步骤数据缓冲区中每一帧的能量进行比较处理,找到wi中的最大能量,记为wm;

6、步骤4:将以步骤3得到的最大能量作为基准,通过在各帧尾部填充10bits能量均衡位的编码方法,增加每一帧的能量,使得数据缓冲区中每一帧的能量都达到最大能量,从而,实现各帧间的能量均衡,解决多幅度occ的严重频闪问题;

7、步骤5:在步骤4每一帧尾部填充对应的能量均衡位编码后,重新封装成帧;最后,利用单片机产生的pwm波控制led灯闪烁,传输信息;

8、步骤6:在接收端利用手机里的相机接收光源信号,经过解调和解码后,恢复成发送端发送的数据信息,并在手机页面上显示发送的信息,完成可见光通信。

9、所述步骤2中根据设定的占空比能量赋值准则,对数据缓冲区的数据赋予相应的能量,具体内容如下:

10、在高分辨率计数器中设置0%、40%、60%和100%四个占空比,分别代表发送的码字00、01、10和11,其中00、01、10和11分别代表暗、较暗、较亮和亮四种亮度状态信息,记为c=0,1,2,3;对于c=0,c=1,c=2,c=3这四种状态,分别赋予对应的能量值,能量值记为光通量化能p,占空比能量赋值准则是:将四个占空比之间的比值关系映射到四种状态对应的能量之间的比值关系上,并将占空比中值最大的状态即c=3的p记为100,最终根据比值关系和占空比c=3状态的p得到其余三种状态的p,从而获得四种占空比相对应的光通量化能赋值。

11、所述步骤2中一帧能量的算法包括以下步骤:

12、步骤2.1:利用移位元素k读取数据,k初始值赋为0,wi初始值赋为0,从左至右读取一帧数据,每次读取2bits数据;

13、步骤2.2:对每次读取的2bits数据,确定其对应的状态c,根据占空比能量赋值准则,对此状态赋予相应的能量值;

14、步骤2.3:利用k,遍历一帧数据的全部状态,当k=32时即已经遍历了一帧中全部的数据,利用累加和方法计算一帧全部状态的能量wi。

15、所述步骤4中在各帧尾部填充10bits能量均衡位的编码方法,具体内容如下:

16、首先计算出数据缓冲区中一帧的能量与数据缓冲区中能量最大一帧的能量之间的差值,记为不均衡度wd;由于不同占空比设置将会有不同的wd,因此wd的所有可能值可根据所设置的四个占空比获得,其中四个不同占空比值之间两两求差,所得到的四个差值的非负整数倍的集合即为不同占空比设置下wd的所有可能取值,若有重复值则将两个重复值作为集合中的一个数值;将所有可能的wd所对应的与wd相同能量的能量均衡位编码写入控制发送端led灯的单片机系统中,并将每一帧尾部根据对应的wd值填充对应的能量均衡位编码,使每帧的能量都达到最大能量。

17、所述wd总体上分为两种情况:情况一,若传输的数据帧不是具有最大能量的那帧,则此情况的wd在20-400之间;情况二,若传输的数据帧是具有最大能量的那帧,则此情况的wd为0;针对情况一,当wd=20时,说明此时该数据帧的能量均衡位编码要实现填充20的能量才能达到最大能量,但由于该系统内已经设定好能量填充必须按照四种状态赋予的能量值的不同组合来进行填充,故能量均衡位填充能量是通过0,40,60,100这四个数不同组合来填充能量的,因此不能填充20的能量;为了解决该问题,进行能量均衡位编码前要先将该数据帧的能量补充位由默认设置的11变为00,使得此时帧的能量减少100,则此时的wd变成120,因此wd=20的能量均衡位编码就与wd=120的能量均衡位编码是相同的,直接按照wd=120的能量均衡位编码进行填充即可;针对情况二,当wd=0时,此时的能量均衡位的编码为0000000000存在长连0的情况,为了解决该问题,进行能量均衡位编码前要先将能量补充位由默认设置的11变为00,使得此时帧的能量减少100,则此时的wd变成100,直接按照wd=100的能量均衡位编码进行填充即可,wd=100时不存在长连0情况,解决了wd=0的长连0问题。

18、所述在确定能量均衡位编码时,要满足两个条件:一是要满足整个10bits的能量均衡位编码的能量值满足对应的wd值,二是要避免10bits的能量均衡位编码出现常连0的情况。

19、所述常连0的情况是指能量均衡位编码中出现连续大于七个0的情况。

20、所述能量均衡位编码的能量值算法与一帧能量的算法相同,具体为:

21、步骤1:利用移位元素k读取数据,k初始值赋为0,能量均衡位编码的能量值初始值赋为0,从左至右读取一帧数据,每次读取2bits数据信息;

22、步骤2.2:对每次读取的2bits数据,确定其对应的状态c,根据占空比能量赋值准则,对此状态赋予相应的能量值;

23、步骤2.3:利用k,遍历能量均衡位编码的全部状态,当k=5时即已经遍历了能量均衡位编码中全部的数据,利用累加和方法计算能量均衡位编码全部状态的能量和。

24、所述步骤6中的接收端解调和解码的过程包括以下步骤:

25、步骤6.1:利用手机里的相机,获取发送端发送的光源信息;

26、步骤6.2:将获得的光源信息恢复成灰度值图像;

27、步骤6.3:将步骤6.2得到的灰度值图像解调成相应的码流数据,并根据位置信息,去除每帧数据的头部、能量补充位、序号、能量均衡编码位和尾部数据,获得数据部分的码流;

28、步骤6.4:对步骤6.3得到的码流进行utf-8解码,获得发送端发送的文字信息;并在手机的应用界面上,显示出对应的文字。

29、所述步骤1中序号的编码过程为:对于第一帧中的字节数据序号编码设为000000,第二帧中的字节数据序号编码设为000001,第三帧中的字节数据序号编码设为000010,第四帧的字节数据序号编码设000011,其他帧以此类推。

30、本发明的有益效果:

31、本发明提供一种编码方法,解决了多幅度可见光通信中的led灯频闪问题;本发明的系统使用多幅度occ技术,不仅可以提高数据传输速率,而且通过引入能量均衡编码方法使得led灯不会出现严重的频闪现象,进而不会影响正常的照明工作,同时也不会让用户产生视觉疲劳和视觉错误。本发明是在人眼接受的频闪范围内,实现了高速率的通照一体化这一目标。

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