CN117040630A - 一种解决多幅度可见光通信中led频闪的均衡编码方法 - Google Patents
一种解决多幅度可见光通信中led频闪的均衡编码方法 Download PDFInfo
- Publication number
- CN117040630A CN117040630A CN202311145813.5A CN202311145813A CN117040630A CN 117040630 A CN117040630 A CN 117040630A CN 202311145813 A CN202311145813 A CN 202311145813A CN 117040630 A CN117040630 A CN 117040630A
- Authority
- CN
- China
- Prior art keywords
- energy
- frame
- data
- bit
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 description 39
- 230000006854 communication Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 11
- 239000013589 supplement Substances 0.000 description 11
- 230000004907 flux Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000001186 cumulative effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 208000003464 asthenopia Diseases 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/11—Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
- H04B10/114—Indoor or close-range type systems
- H04B10/116—Visible light communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/50—Transmitters
- H04B10/516—Details of coding or modulation
Landscapes
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Optical Communication System (AREA)
Abstract
本方法属于可见光成像通信技术领域,具体涉及一种解决多幅度可见光通信中LED频闪的均衡编码方法;在发送端使用LED条形灯作为光源,通过UTF‑8的预编码后得到原始码流;计算数据缓冲区中每帧的能量;比较全部能量找出最大能量;通过在每帧尾部填充能量均衡位的编码方法,使得缓冲区中的每一帧能量都达到最大能量;利用单片机产生PWM波控制LED灯闪烁发送信息;在接收端利用安卓手机获取发送的信息,并在手机页面上显示该信息;本方法保证了各帧间的能量均衡,因此解决了多幅度OCC技术严重的频闪问题,实现了在人眼可接受频闪范围内,发端LED灯在保证正常照明需求下可进行信息发布这一功能,该方法操作简单高效,易于投入应用。
Description
技术领域
本方法属于可见光成像通信技术领域,具体涉及一种解决多幅度可见光通信中LED频闪的均衡编码方法。
背景技术
由于LED灯的广泛应用以及智能移动终端的技术革新,使得可见光成像通信技术(Optical Camera Communications,OCC)迅速发展。OCC在具有可见光通信技术(VisibleLight Communications,VLC)没有电磁辐射和干扰、频谱资源丰富和通信速率高等优势的基础上,同时还具有临时网络和通信链路搭建快、网络使用和维护成本低和更易普及等优势。
随着光通信技术的快速发展,OCC在发送端利用LED灯传输信息,在接收端利用智能手机终端获取光源信息,OCC已经被广泛地应用在各种通信环境中。为了提升通信速率,OCC系统在发送端采用PWM实现像素的多幅度调制进而达到高速率的通信目标。但是在实际通信过程中,使用多幅度OCC技术有着严重频闪现象的存在,这导致了影响正常照明工作、视觉错误和视觉疲惫等问题,亟待解决。
为了提高通信速率,OCC系统采用多幅度调制方法,这导致LED灯出现严重的频闪现象。
发明内容
为了克服上述问题,本发明提供一种解决多幅度可见光通信中LED频闪的均衡编码方法,通过能量均衡编码的方法保证各帧间能量均衡,进而解决多幅度OCC的频闪问题;该方法操作简单高效,易于投入实际应用。
一种解决多幅度可见光通信中LED频闪的均衡编码方法,包括以下步骤:
步骤1:在发送端使用LED条形灯作为光源,对要传输的文字通过UTF-8预编码后获得原始码流数据,对原始码流数据,将每六个字节数据加上头部编码111110、能量补充位编码11、序号和尾部编码00一起封装成一帧,并将全部帧数据存储在数据缓冲区中;
步骤2:通过STM32单片机中的高分辨率计数器产生PWM波,全部帧数据经过PWM调制后获得四种不同占空比的多幅度信号,四种占空比产生的四种亮度状态具有不同的能量赋值,根据设定的占空比能量赋值准则,对数据缓冲区的数据赋予相应的能量;从而再利用一帧能量和算法,计算出一帧的能量;最后,通过遍历的方法,计算数据缓冲区中每一帧的能量,记为wi,i=1,2,3,...,N;
步骤3:对上述步骤数据缓冲区中每一帧的能量进行比较处理,找到wi中的最大能量,记为wm;
步骤4:将以步骤3得到的最大能量作为基准,通过在各帧尾部填充10bits能量均衡位的编码方法,增加每一帧的能量,使得数据缓冲区中每一帧的能量都达到最大能量,从而,实现各帧间的能量均衡,解决多幅度OCC的严重频闪问题;
步骤5:在步骤4每一帧尾部填充对应的能量均衡位编码后,重新封装成帧;最后,利用单片机产生的PWM波控制LED灯闪烁,传输信息;
步骤6:在接收端利用手机里的相机接收光源信号,经过解调和解码后,恢复成发送端发送的数据信息,并在手机页面上显示发送的信息,完成可见光通信。
所述步骤2中根据设定的占空比能量赋值准则,对数据缓冲区的数据赋予相应的能量,具体内容如下:
在高分辨率计数器中设置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,从而获得四种占空比相对应的光通量化能赋值。
所述步骤2中一帧能量的算法包括以下步骤:
步骤2.1:利用移位元素k读取数据,k初始值赋为0,wi初始值赋为0,从左至右读取一帧数据,每次读取2bits数据;
步骤2.2:对每次读取的2bits数据,确定其对应的状态c,根据占空比能量赋值准则,对此状态赋予相应的能量值;
步骤2.3:利用k,遍历一帧数据的全部状态,当k=32时即已经遍历了一帧中全部的数据,利用累加和方法计算一帧全部状态的能量wi。
所述步骤4中在各帧尾部填充10bits能量均衡位的编码方法,具体内容如下:
首先计算出数据缓冲区中一帧的能量与数据缓冲区中能量最大一帧的能量之间的差值,记为不均衡度wd;由于不同占空比设置将会有不同的wd,因此wd的所有可能值可根据所设置的四个占空比获得,其中四个不同占空比值之间两两求差,所得到的四个差值的非负整数倍的集合即为不同占空比设置下wd的所有可能取值,若有重复值则将两个重复值作为集合中的一个数值;将所有可能的wd所对应的与wd相同能量的能量均衡位编码写入控制发送端LED灯的单片机系统中,并将每一帧尾部根据对应的wd值填充对应的能量均衡位编码,使每帧的能量都达到最大能量。
所述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问题。
所述在确定能量均衡位编码时,要满足两个条件:一是要满足整个10bits的能量均衡位编码的能量值满足对应的wd值,二是要避免10bits的能量均衡位编码出现常连0的情况。
所述常连0的情况是指能量均衡位编码中出现连续大于七个0的情况。
所述能量均衡位编码的能量值算法与一帧能量的算法相同,具体为:
步骤1:利用移位元素k读取数据,k初始值赋为0,能量均衡位编码的能量值初始值赋为0,从左至右读取一帧数据,每次读取2bits数据信息;
步骤2.2:对每次读取的2bits数据,确定其对应的状态c,根据占空比能量赋值准则,对此状态赋予相应的能量值;
步骤2.3:利用k,遍历能量均衡位编码的全部状态,当k=5时即已经遍历了能量均衡位编码中全部的数据,利用累加和方法计算能量均衡位编码全部状态的能量和。
所述步骤6中的接收端解调和解码的过程包括以下步骤:
步骤6.1:利用手机里的相机,获取发送端发送的光源信息;
步骤6.2:将获得的光源信息恢复成灰度值图像;
步骤6.3:将步骤6.2得到的灰度值图像解调成相应的码流数据,并根据位置信息,去除每帧数据的头部、能量补充位、序号、能量均衡编码位和尾部数据,获得数据部分的码流;
步骤6.4:对步骤6.3得到的码流进行UTF-8解码,获得发送端发送的文字信息;并在手机的应用界面上,显示出对应的文字。
所述步骤1中序号的编码过程为:对于第一帧中的字节数据序号编码设为000000,第二帧中的字节数据序号编码设为000001,第三帧中的字节数据序号编码设为000010,第四帧的字节数据序号编码设000011,其他帧以此类推。
本发明的有益效果:
本发明提供一种编码方法,解决了多幅度可见光通信中的LED灯频闪问题;本发明的系统使用多幅度OCC技术,不仅可以提高数据传输速率,而且通过引入能量均衡编码方法使得LED灯不会出现严重的频闪现象,进而不会影响正常的照明工作,同时也不会让用户产生视觉疲劳和视觉错误。本发明是在人眼接受的频闪范围内,实现了高速率的通照一体化这一目标。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
图1是本发明的PWM调制的多幅度符号。
图2是本发明的不同占空比对应的光通量化能赋值图。
图3是本发明的不同wd对应的能量均衡位编码图。
图4是本发明的流程图。
图5是本发明一帧能量和算法流程图。
图6是本发明的接收端流程图。
图7是本发明的数据帧结构图。
图8是本发明的通信系统框图。
图9是本发明的通信系统实际场景图。
图10是本发明的均衡前各帧能量以及不均衡度统计图。
图11是本发明的均衡后各帧能量以及不均衡度统计图。
图中:1为发送端设备——LED灯,2为接受端设备——安卓手机。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明通过进行大量实验和对实验现象的总结和详细分析。最终得出结论:多幅度OCC技术在通信时,LED灯会出现严重的频闪问题,这是因为各帧之间所具有的能量不均衡造成的。
进一步,本发明为解决各帧间能量不均衡问题,提供一种在每帧结尾处填充能量均衡位的编码方法,实现各帧间的能量均衡。
如图4所示,一种解决多幅度可见光通信中LED频闪的均衡编码方法,包括以下步骤:
步骤1:在发送端使用LED条形灯作为光源,对要传输的文字(指发送端要传输到接收端的文字,发送不同的文字是不同的码流,不同的码流控制LED灯有不同的闪烁)通过UTF-8预编码后获得原始码流数据,对原始码流数据,将每六个字节数据加上头部编码111110、能量补充位编码11、序号和尾部编码00一起封装成一帧,并将全部帧数据存储在数据缓冲区中;
步骤2:本发明为了提高通信速率,采用多幅度调制提高OCC系统的通信速率,通过STM32单片机中的高分辨率计数器产生PWM波,全部帧数据经过PWM调制后获得四种不同占空比的多幅度信号,四种占空比产生的四种亮度状态具有不同的能量赋值,根据占空比能量赋值准则,对数据缓冲区的数据赋予相应的能量;从而再利用一帧能量的算法,计算出一帧的能量;最后,通过遍历的方法,计算数据缓冲区中每一帧的能量,记为wi(i=1,2,3,...,N),具体内容如下:
所述步骤2中根据占空比能量赋值准则,对数据缓冲区的数据赋予相应的能量,具体内容如下:
在高分辨率计数器中设置0%、40%、60%和100%四个适当的占空比,分别代表发送的码字00、01、10和11,其中00、01、10和11分别代表暗、较暗、较亮和亮四种亮度状态信息,记为c=0,1,2,3;如图1所示;每帧能量计算,是基于这四个占空比,对于c=0,c=1,c=2,c=3这四种状态,分别赋予对应的能量值,能量值记为光通量化能p,占空比能量赋值准则是:将四个适当占空比之间的比值关系映射到四种状态对应的能量之间的比值关系上,并将占空比中值最大的状态即c=3的p值记为100,最终根据比值关系和占空比c=3状态的p值得到其余三种状态的p值,从而获得四种占空比相对应的光通量化能赋值;即c=0,1,2,3四种状态赋予的能量值(即光通量化能值)分别为0、40、60和100。本发明实施例不同占空比光通量化能赋值如图2所示,分别对上述c=0,1,2,3四种状态赋予0、40、60和100的光通量化能值;
如图5所示,所述步骤2中一帧能量的算法包括以下步骤:
步骤2.1:利用移位元素k读取数据,k初始值赋为0,wi初始值赋为0,从左至右读取一帧数据,每次读取2bits数据;
步骤2.2:对每次读取的2bits数据,确定其对应的状态c,根据占空比能量赋值准则,对此状态赋予相应的能量值即光通量化能值;
步骤2.3:利用k,遍历一帧数据的全部状态,当k=32时即已经遍历了一帧中全部的数据,利用累加和方法计算一帧数据中全部状态的能量和wi;
举例说明:一共有四种状态:00对应c=0状态,01对应c=1状态,10对应c=2状态,11对应c=3状态;当状态c=0时p=0,当状态c=1时p=40,当状态c=2时p=60,当状态c=3时p=100;例如能量均衡位编码为111001,11对应状态c=3,10对应状态c=2,01对应状态c=1,此时的能量值为100+60+40=200。
步骤3:对上述步骤计算得到的数据缓冲区中每一帧的能量进行比较处理,找到wi中的最大能量,记为wm;
步骤4:将以步骤3得到的最大能量作为基准,通过在各帧尾部填充10bits的能量均衡位编码来增加每一帧的能量,使得数据缓冲区中每一帧的能量都达到最大能量,从而,实现各帧间的能量均衡,解决多幅度OCC的严重频闪问题。
所述步骤4中在各帧尾部填充10bits能量均衡位的编码方法,具体内容如下:
首先计算出数据缓冲区中一帧的能量与数据缓冲区中能量最大一帧的能量即最大能量之间的差值,记为不均衡度wd;由于不同占空比设置将会有不同的wd,因此wd的所有可能值根据系统所设置的四个占空比获得,其中该准则是:四个不同占空比值之间两两求差,所得到的四个差值的非负整数倍的集合即为不同占空比设置下wd的所有可能取值,若有重复值则将两个重复值作为集合中的一个数值,根据该系统设置的0%、40%、60%和100%这四个占空比就能够获得此时wd的所有可能值;此时对应的wd规则是:每帧的能量与最大能量之间的wd为20的非负整数倍,记wd所有取值均为20的非负整数倍;如图3所示,引入索引值n简化均衡编码表搜索过程,n=wd/20,图3是全部wd所对应的能量均衡位编码;将所有可能的wd所对应的能量均衡位编码写入控制发送端LED灯的单片机系统中,将每一帧尾部根据对应的wd值填充对应的能量均衡位编码,使每帧的能量都达到最大能量。
此时wd总体上分为两种情况:情况一,若传输的数据帧不是具有最大能量的那帧,则通过大量实验得到此情况的wd在20-400之间(通过大量实验得到,wd最大一般不超400,因此表写到400为止就得到wd的全部取值,把所有可能出现的结果都写成一个对应表,把表直接放到发端,根据wd的值直接查表,更规范更简单);情况二,若传输的数据帧是具有最大能量的那帧,则此情况的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问题;
步骤5:在步骤4每一帧尾部填充对应的能量均衡位编码后,重新封装成帧;最后,利用单片机产生的PWM波控制LED灯闪烁,传输信息,因为上述编码方法使得各帧间的能量达到均衡,从而解决了LED灯的频闪问题,实现了在人眼可接受的频闪范围内,可完成多幅度OCC实时通信;
步骤6:在接收端利用安卓手机里的相机接收光源信号,经过解调和解码后,恢复成发送端发送的数据信息,并在安卓手机页面上显示发送的信息,完成可见光通信。
所述在确定能量均衡位编码时,要满足两个条件:一是要满足整个10bits的能量均衡位编码的能量值满足对应的wd值,二是要避免10bits的能量均衡位编码出现常连0的情况。
所述常连0的情况是指能量均衡位编码中出现连续大于七个0的情况。
所述能量均衡位编码的能量值算法与一帧能量的算法相同,具体为:
步骤1:利用移位元素k读取数据,k初始值赋为0,能量均衡位编码的能量值初始值赋为0,从左至右读取一帧数据,每次读取2bits数据信息;
步骤2.2:对每次读取的2bits数据,确定其对应的状态c,根据占空比能量赋值准则,对此状态赋予相应的能量值;
步骤2.3:利用k,遍历能量均衡位编码的全部状态,当k=5时即已经遍历了能量均衡位编码中全部的数据,利用累加和方法计算能量均衡位编码全部状态的能量和。
如图6所示,所述步骤6中的接收端解调和解码的过程包括以下步骤:
步骤6.1:利用安卓手机里的相机,获取发送端发送的光源信息;
步骤6.2:通过一系列图像处理技术,将获得的光源信息恢复成灰度值图像;
步骤6.3:将步骤6.2得到的灰度值图像解调成相应的码流数据,并根据位置信息,去除每帧数据的头部(6bits)、能量补充位(2bits)、序号(6bits)、能量均衡编码位(10bits)和尾部数据(2bits),获得数据部分的码流;
步骤6.4:对步骤6.3得到的码流进行UTF-8解码,获得发送端发送的文字信息;并在安卓手机的应用界面上,显示出对应的文字。
图7为本发明实施例的数据帧结构,全部码流中每数据帧包括:6bits头部,2bits能量补充位,6bits序号,48bits数据,10bits能量均衡位以及2bits尾部。选择111110的编码方式作为头部,选择00的编码方式作为尾部,当n=0或n=1时,能量补充位为00;当n≠0或n≠1时,能量补充位为11。
图8为本发明实施例的一种解决多幅度可见光通信中LED频闪的均衡编码方法通信系统框图。本发明的一种解决多幅度可见光通信中LED频闪的均衡编码方法通信系统,包括发送端和接收端两大部分组成,其中发送端包括数据信息、编码模块、PWM调制模块、LED驱动模块和LED灯,接收端包括安卓手机、图像处理模块、PWM解调模块、解码模块和数据信息。该系统的工作流程是,发送端将数据信息保存到数据缓冲区中,经过编码模块、PWM调制模块、和LED驱动模块,利用单片机产生PWM波控制LED灯闪烁,发送数据信息。发送的光源信号通过可见光信道到达接收端。接受端利用安卓手机里的相机接收到光源信号,经过图像处理模块、PWM解调模块和解码模块,恢复成发端发送的数据信息,完成一次完整的可见光通信。本系统实现了高速率的可见光通信,同时实现了在人眼可接受的频闪范围内高速率的通照一体化这一目标。
图9为本发明实施例的一种解决多幅度可见光通信中LED频闪的均衡编码方法通信系统实际场景图。图中是一个医院的大厅,大厅里有来医院产检的孕妇,有陪着老人检查的家属,有着急寻找诊室的人,还有带着轮椅来检查的人。图中1为LED灯属于发送端设备,2为安卓手机属于接受端设备。通过本通信系统,利用单片机产生的PWM波控制LED灯闪烁,传输医院里相应的就诊、路线和挂号等信息,人们可以拿着手机对准医院大厅里的LED灯即可获得上述信息,本系统为广大就诊患者带来更加便利的就医体验。同时本发明引入了一种解决了多幅度可见光通信中LED频闪的均衡编码方法,因此医院大厅里的LED不仅可以实现信息传输,而且还可以保证正常的照明工作,实现了在人眼可接受的频闪范围内高速率的可见光通信。
图10为本发明实施例的均衡前各帧能量以及不均衡度统计图,图11为本发明实施例的均衡后各帧能量以及不均衡度统计图。蓝色是每一帧的能量,橙色是最大能量与每一帧能量之间的wd。从图10中,可以清晰地看到各帧能量之间是不均衡的,除去具有最大能量那帧,其它帧的wd均不为0。因此导致了LED灯发送信息时存在严重的频闪问题。从图11中,可以清晰地看到引入能量均衡编码方法后,各帧都有一样的能量,同时wd均为0,因此各帧间的能量达到了均衡。综上本发明实现了在人眼可接受的频闪范围内,单片机产生PWM波控制LED灯闪烁时不会出现频闪问题,保证了LED灯在正常照明情况下还具有信息发布功能,因此实现了高速率的通照一体化这一目标。
本方法在发送端使用LED条形灯作为光源,计算数据缓冲区中每帧的能量,比较全部帧能量找出最大能量,以得到的最大能量作为基准,通过在每帧结尾处填充能量均衡位的编码方法,使得缓冲区中的每一帧数据能量都达到最大能量,保证了各帧间的能量和均衡,利用单片机产生PWM波控制LED灯的闪烁发送信息,接收端利用安卓手机获取发送的信息,并在手机页面上显示该信息,最终解决了多幅度可见光通信中的LED频闪问题。
本方法考虑到实际应用场景需求,解决了多幅度OCC技术在实际应用中严重的频闪问题,在发送端发送多幅度光信号提高信息传输速率的同时,也实现了在人眼可接受的频闪范围内,发送端LED灯在保证正常照明需求下同时进行信息发布,进而实现了通照一体化这一目标,该方法操作简单高效,易于投入实际应用。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明的保护范围并不局限于上述实施方式中的具体细节,在本发明的技术构思范围内,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (10)
1.一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,包括以下步骤:
步骤1:在发送端使用LED条形灯作为光源,对要传输的文字通过UTF-8预编码后获得原始码流数据,对原始码流数据,将每六个字节数据加上头部编码111110、能量补充位编码11、序号和尾部编码00一起封装成一帧,并将全部帧数据存储在数据缓冲区中;
步骤2:通过STM32单片机中的高分辨率计数器产生PWM波,全部帧数据经过PWM调制后获得四种不同占空比的多幅度信号,四种占空比产生的四种亮度状态具有不同的能量赋值,根据设定的占空比能量赋值准则,对数据缓冲区的数据赋予相应的能量;从而再利用一帧能量和算法,计算出一帧的能量;最后,通过遍历的方法,计算数据缓冲区中每一帧的能量,记为wi,i=1,2,3,...,N;
步骤3:对上述步骤数据缓冲区中每一帧的能量进行比较处理,找到wi中的最大能量,记为wm;
步骤4:将以步骤3得到的最大能量作为基准,通过在各帧尾部填充10bits能量均衡位的编码方法,增加每一帧的能量,使得数据缓冲区中每一帧的能量都达到最大能量,从而,实现各帧间的能量均衡,解决多幅度OCC的严重频闪问题;
步骤5:在步骤4每一帧尾部填充对应的能量均衡位编码后,重新封装成帧;最后,利用单片机产生的PWM波控制LED灯闪烁,传输信息;
步骤6:在接收端利用手机里的相机接收光源信号,经过解调和解码后,恢复成发送端发送的数据信息,并在手机页面上显示发送的信息,完成可见光通信。
2.根据权利要求1所述的一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,所述步骤2中根据设定的占空比能量赋值准则,对数据缓冲区的数据赋予相应的能量,具体内容如下:
在高分辨率计数器中设置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,从而获得四种占空比相对应的光通量化能赋值。
3.根据权利要求1所述的一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,所述步骤2中一帧能量的算法包括以下步骤:
步骤2.1:利用移位元素k读取数据,k初始值赋为0,wi初始值赋为0,从左至右读取一帧数据,每次读取2bits数据;
步骤2.2:对每次读取的2bits数据,确定其对应的状态c,根据占空比能量赋值准则,对此状态赋予相应的能量值;
步骤2.3:利用k,遍历一帧数据的全部状态,当k=32时即已经遍历了一帧中全部的数据,利用累加和方法计算一帧全部状态的能量wi。
4.根据权利要求1所述的一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,所述步骤4中在各帧尾部填充10bits能量均衡位的编码方法,具体内容如下:
首先计算出数据缓冲区中一帧的能量与数据缓冲区中能量最大一帧的能量之间的差值,记为不均衡度wd;由于不同占空比设置将会有不同的wd,因此wd的所有可能值可根据所设置的四个占空比获得,其中四个不同占空比值之间两两求差,所得到的四个差值的非负整数倍的集合即为不同占空比设置下wd的所有可能取值,若有重复值则将两个重复值作为集合中的一个数值;将所有可能的wd所对应的与wd相同能量的能量均衡位编码写入控制发送端LED灯的单片机系统中,并将每一帧尾部根据对应的wd值填充对应的能量均衡位编码,使每帧的能量都达到最大能量。
5.根据权利要求4所述的一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,所述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问题。
6.根据权利要求4所述的一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,所述在确定能量均衡位编码时,要满足两个条件:一是要满足整个10bits的能量均衡位编码的能量值满足对应的wd值,二是要避免10bits的能量均衡位编码出现常连0的情况。
7.根据权利要求6所述的一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,所述常连0的情况是指能量均衡位编码中出现连续大于七个0的情况。
8.根据权利要求1所述的一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,所述能量均衡位编码的能量值算法与一帧能量的算法相同,具体为:
步骤1:利用移位元素k读取数据,k初始值赋为0,能量均衡位编码的能量值初始值赋为0,从左至右读取一帧数据,每次读取2bits数据信息;
步骤2.2:对每次读取的2bits数据,确定其对应的状态c,根据占空比能量赋值准则,对此状态赋予相应的能量值;
步骤2.3:利用k,遍历能量均衡位编码的全部状态,当k=5时即已经遍历了能量均衡位编码中全部的数据,利用累加和方法计算能量均衡位编码全部状态的能量和。
9.根据权利要求1所述的一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,所述步骤6中的接收端解调和解码的过程包括以下步骤:
步骤6.1:利用手机里的相机,获取发送端发送的光源信息;
步骤6.2:将获得的光源信息恢复成灰度值图像;
步骤6.3:将步骤6.2得到的灰度值图像解调成相应的码流数据,并根据位置信息,去除每帧数据的头部、能量补充位、序号、能量均衡编码位和尾部数据,获得数据部分的码流;
步骤6.4:对步骤6.3得到的码流进行UTF-8解码,获得发送端发送的文字信息;并在手机的应用界面上,显示出对应的文字。
10.根据权利要求1所述的一种解决多幅度可见光通信中LED频闪的均衡编码方法,其特征在于,所述步骤1中序号的编码过程为:对于第一帧中的字节数据序号编码设为000000,第二帧中的字节数据序号编码设为000001,第三帧中的字节数据序号编码设为000010,第四帧的字节数据序号编码设000011,其他帧以此类推。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311145813.5A CN117040630A (zh) | 2023-09-06 | 2023-09-06 | 一种解决多幅度可见光通信中led频闪的均衡编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311145813.5A CN117040630A (zh) | 2023-09-06 | 2023-09-06 | 一种解决多幅度可见光通信中led频闪的均衡编码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117040630A true CN117040630A (zh) | 2023-11-10 |
Family
ID=88635468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311145813.5A Pending CN117040630A (zh) | 2023-09-06 | 2023-09-06 | 一种解决多幅度可见光通信中led频闪的均衡编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117040630A (zh) |
-
2023
- 2023-09-06 CN CN202311145813.5A patent/CN117040630A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10158835B2 (en) | Extending image dynamic range | |
JP4777844B2 (ja) | パルス幅変調された可視光線を用いる通信のための方法と装置 | |
KR101497414B1 (ko) | 데이터의 광학 송신을 위한 컬러 코딩 방법을 안정화시키기 위한 방법 및 어레인지먼트 | |
CN106452602B (zh) | 一种可见光通信的调制方法 | |
CN103701526B (zh) | 可见光通信中的多维编码方法 | |
CN106301564B (zh) | 一种基于调光累加的可见光通信系统和方法 | |
CN108880682B (zh) | 一种基于编码的可见光通信调光控制方法及系统 | |
CN104142924A (zh) | 一种动画图片格式的压缩方法和装置 | |
Siddique et al. | Joint rate-brightness control using variable rate MPPM for LED based visible light communication systems | |
CN105162517A (zh) | 基于脉冲振幅调控的可见光通信方法及其可见光通信系统 | |
KR20090122433A (ko) | 변조 장치 및 화상 표시 장치 | |
CN114285472A (zh) | 一种基于手机摄像头具有前向纠错的upsook调制方法 | |
JP2000068851A (ja) | Dcバランス型コ―ドを供給する装置及び方法 | |
CN117040630A (zh) | 一种解决多幅度可见光通信中led频闪的均衡编码方法 | |
CN105959062A (zh) | 基于led车灯的双速率可见光通信发信机 | |
CN102855113B (zh) | 通过显示屏输出信息的编码方法、装置及终端 | |
CN108075829B (zh) | 一种可变时隙脉冲位置调制装置、方法及激光通信系统 | |
CN108023640B (zh) | 一种基于平板灯和移动终端摄像头的可见光通信系统 | |
Li et al. | Code design for run-length control in visible light communication | |
CN110008781B (zh) | 一种二维多帧调制解调方法 | |
CN102779503B (zh) | 通过显示屏输出信息的方法、装置及终端 | |
CN105471504A (zh) | 一种基于可见光的通信方法及可见光发射装置 | |
KR102097700B1 (ko) | 가시광 통신 시스템에서 데이터를 인코딩 또는 디코딩하는 방법 및 장치, 그리고 이를 이용하는 시스템 | |
US10916165B2 (en) | Cyber-enabled displays for intelligent transportation systems | |
CN205430247U (zh) | 基于qam和mppm的可见光通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |