[发明专利]基于摄像头的补偿光照不均匀的可见光通信方法有效
申请号: | 201911300672.3 | 申请日: | 2019-12-17 |
公开(公告)号: | CN110912609B | 公开(公告)日: | 2021-03-05 |
发明(设计)人: | 杨爱英;樊文鹏;赵昭;冯立辉;熊亦威 | 申请(专利权)人: | 北京理工大学 |
主分类号: | H04B10/116 | 分类号: | H04B10/116 |
代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 张利萍 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 摄像头 补偿 光照 不均匀 可见 光通信 方法 | ||
1.一种补偿光照不均匀和动态量化间隔的可见光通信方法,其特征在于:依托的可见光通信系统具体包括信源、数据接收模块、数据转换模块、LED驱动电路、LED灯板、摄像头、图片预处理模块、光照不均匀补偿模块以及动态量化间隔判决模块;
其中,信源包括用户要发送的数据;
LED灯板上包含若干LED灯珠,每个灯珠均可由LED驱动电路控制;
所述可见光通信系统中的各个部件连接关系如下:
信源与数据接收模块相连,数据接收模块与数据转换模块相连,数据转换模块与LED驱动电路相连,LED驱动电路与LED灯板相连,摄像头与图片预处理模块相连,图片预处理模块与光照不均匀补偿模块相连,光照不均匀补偿模块与动态量化间隔判决模块相连;
所述可见光通信系统中的各部件的信号流程关系如下:
信源将用户要发送的数据发送至数据接收模块;数据接收模块接收信源发送的数据并转换,再发送至数据转换模块;数据转换模块对数据分组转换为十进制数据,添加同步、标记阈值,形成数据帧,转换为十进制数据对应的电平;LED驱动电路对十进制数据对应的电平进行放大,控制LED灯板上的灯珠,发出可见光信号;摄像头采集LED灯板发出的可见光信号,存为图片数据并发送至图片预处理模块;图片预处理模块将摄像头发送来的图片数据进行灰度处理,并将灰度值由大到小按列排序,提取出需要的数据序列,发送至光照不均匀补偿模块;光照不均匀补偿模块对需要的数据序列进行光照不均匀补偿;动态量化间隔判决模块再对补偿后的数据序列进行判决与量化间隔的动态更新,获取净荷数据并输出;
所述可见光通信系统中的各个部件功能如下:
信源用于获取用户要发送的数据,并发送至数据接收模块;数据接收模块将接收的数据转换为二进制数据流,发送至数据转换模块;数据转换模块将接收的二进制数据分组,转换为十进制数据,添加同步数据、阈值标记数据,形成数据帧;并将数据帧中数据转换为十进制数据,输出十进制对应的电平;LED驱动电路对数据转换模块输出的电平进行放大,控制LED灯板上的灯珠;LED灯板根据LED驱动电路输出的电平,发出强度不同的可见光信号;摄像头采集LED灯板发出的可见光信号,存为图片数据,并发送至图片预处理模块;图片预处理模块将摄像头发送来的图片数据进行灰度处理,并按照列灰度值由大到小对每列排序,在排序后的灰度图片中提取出需要进行处理的数据序列,发送至光照不均匀补偿模块;光照不均匀补偿模块对图片预处理模块发送来的数据序列进行光照不均匀补偿,输出补偿后的数据序列;动态量化间隔判决模块在补偿后的数据序列确定数据帧位置,并对判决量化间隔进行动态更新,获取数据序列中的净荷数据,将净荷数据转换为解调后的二进制数据流输出;
所述可见光通信方法,具体包括如下步骤:
步骤(1),初始化最亮数据序列、最暗数据序列以及光照补偿系数序列,具体包括如下子步骤:
步骤1.1,摄像头获取“不包含数据的最亮图片”和“不包含数据的最暗图片”,并将获取图片发送给图片预处理模块进行处理;
其中,获取“不包含数据的最亮图片”和“不包含数据的最暗图片”,具体为:
步骤1.1.1,数据转换模块输出电平驱动LED灯板,点亮LED灯板上所有的LED,摄像头采集此时的可见光信号,保存为“不包含数据的最亮图片”;
步骤1.1.2,数据转换模块输出电平驱动LED灯板,熄灭LED灯板上所有的LED,摄像头采集此时的可见光信号,保存为“不包含数据的最暗图片”;
步骤1.2,图片预处理模块提取步骤1.1摄像头发来的“不包含数据的最亮图片”和“不包含数据的最暗图片”的灰度,并按列灰度值由大到小排序,保存为排序后图片,再将排序后图片发送给光照不均匀补偿模块;
其中,排序后图片包括排序后最亮图片和排序后最暗图片;
步骤1.3,光照不均匀补偿模块接收步骤1.2发来的排序后图片中的“排序后最亮图片”,在“排序后最亮图片”中确定LED垂直投影区域、晕影区域和第三区域,具体为:
步骤1.3.1,光照不均匀补偿模块对排序后最亮图片中每行数据求平均值,得到行平均数据序列RMEA;
步骤1.3.2,光照不均匀补偿模块计算出步骤1.3.1得到的行平均数据序列RMEA的梯度,得到行梯度数据序列RMEA′,具体为(1):
其中,RMEA′(i)代表行梯度数据序列RMEA′的第i个数据;RMEA(i+1)代表行平均数据序列RMEA的第i+1个数据;RMEA(i)代表行平均数据序列RMEA的第i个数据;RMEA′(i-1)代表行梯度数据序列RMEA′的第i-1个数据;J是图片像素行数;
步骤1.3.3,光照不均匀补偿模块在步骤1.3.2得到的行梯度数据序列RMEA′中,根据行梯度数据序列中数据出现不连续变化的位置以及顺序,将排序后最亮图片中第1行到第R1行判断为LED垂直投影区域,第R1+1行到第R2行为晕影区域,第R2+1行到第J行是第三区域;
其中,R1为行梯度数据序列RMEA′第一次出现不连续数据的位置,R2为行梯度数据序列RMEA′第二次出现不连续数据的位置;
步骤1.4,光照不均匀补偿模块在排序后最亮图片中,选取第三区域中的第一行数据,即第L=R2+1行数据作为最亮数据序列SMAX;
步骤1.5,光照不均匀补偿模块在步骤1.2得到的排序后最暗图片中,选取第L=R2+1行数据作为最暗数据序列SMIN;
步骤1.6,光照不均匀补偿模块根据步骤1.4和步骤1.5得到的最亮数据序列SMAX和最暗数据序列SMIN,计算出光照补偿系数序列K,具体为(2):
其中,K(i)是光照补偿系数序列K中的第i个数据;DMAX是最亮数据序列SMAX中的最大值,DMIN是最暗数据序列SMIN的最小值;SMAX(i)是最亮数据序列SMAX的第i个数据;SMIN(i)是最暗数据序列SMIN的第i个数据;N是图片像素列数;
步骤(2),数据接收模块将信源发出的用户要发送的数据转换为二进制数据,产生二进制数据流,发送给数据转换模块;
步骤(3),数据转换模块对数据接收模块发来的二进制数据流每b位二进制数转换为对应十进制数,每m个十进制数形成一个净荷数据块M;
其中,b=log2(n+1),n是LED灯板上的LED数量,m的取值由图片的像素确定,要求一张图片中至少包含一个完整的数据帧;
步骤(4),数据转换模块将步骤(3)形成的每个净荷数据块M前添加同步数据序列T和阈值标记数据序列F组成一个数据帧,再依据数据帧输出十进制数对应的电平给LED驱动电路;
其中,同步数据序列T中的十进制数据个数是t,数据组成依次为t1个0、t2个n、t3个0;阈值标记数据序列F中的十进制数据个数是f,2≤f≤n+1,且满足F(1)>F(2)>F(3)>...>F(f),F(1)=n,F(f)=0;同步数据序列T、阈值标记数据序列F中每个十进制数据都大于等于0,小于等于n;
步骤(5),LED驱动电路对数据转换模块输出的电平进行放大,控制LED灯板发出经调制后的可见光信号,摄像头接收后保存为数据图片发送给图片预处理模块;
步骤(6),图片预处理模块对摄像头发来的数据图片进行灰度处理,并对灰度处理后的图片每列数据按照灰度值由大到小排序,保存为排序后的数据图片,并将排序后的数据图片发送给光照不均匀补偿模块;
步骤(7),光照不均匀补偿模块在步骤(6)得到的排序后的数据图片中选取第L行数据作为需要处理的数据序列S;
其中,L是步骤(1)中最亮数据序列SMAX在排序后最亮图片中的行位置;
步骤(8),光照不均匀补偿模块使用步骤(1)得到的补偿系数序列K和最暗数据序列SMIN对步骤(7)得到的需要处理的数据序列S进行光照不均匀补偿,通过(3)得到光照不均匀补偿后的数据序列S′,并发送给动态量化间隔判决模块;
S′(i)=S(i)*K(i)-SMIN(i)*K(i) i=1,2,3...N (3)
其中,S′(i)是光照不均匀补偿后的数据序列S′的第i个数;S(i)是需要处理的数据序列S的第i个数;K(i)是补偿系数序列K的第i个数;SMIN(i)是最暗数据序列SMIN的第i个数;N是图片像素列数;
步骤(9),动态量化间隔判决模块对光照不均匀补偿模块发来的光照不均匀补偿后的数据序列S′进行数据同步,获取灰度阈值标记数据序列FG′和灰度净荷数据序列MG′,具体包含以下子步骤:
步骤9.1,光照不均匀补偿模块对根据(4)和(5)对光照不均匀补偿后的数据序列S′进行离散化处理,得到离散化数据序列S″;
其中,DT是对光照不均匀补偿后的数据序列S′进行离散化的阈值;DMAX是最亮数据序列SMAX中的最大值,DMIN是最暗数据序列SMIN的最小值;S″(i)是离散化数据序列的第i个数;
步骤9.2,光照不均匀补偿模块在步骤9.1得到的离散化数据序列S″中搜索步骤(4)中数据帧的同步数据数列T的位置和所占数据个数,具体为:
步骤9.2.1,在步骤9.1中得到的离散化数据序列S″中搜索一个构成依次为l1个连0、l2个连1、l3个连0的连续数据块,l1、l2、l3满足l1:l2:l3=t1:t2:t3,且该连续数据块在离散化数据序列S″中的起始位置为B,包含的数据个数是TGL;
步骤9.2.2,根据步骤9.2.1搜索到的连续数据块在S″中的起始位置及包含数据个数,得到同步数据序列T在光照不均匀补偿后的数据序列S′中对应的数据块;
其中,数据序列S′中对应的数据块的起始位置也是B,包含的数据个数是TGL;
步骤9.3,光照不均匀补偿模块根据步骤9.2得到的同步数据序列T在光照不均匀补偿后的数据序列S′中所占的数据个数TGL,使用(6)计算步骤(3)中数据帧中每个十进制数据在S′中所占的数据个数h;
其中,h是数据帧中每个十进制数据在光照不均匀补偿后的数据序列S′中所占的数据个数;TGL是同步数据数列T在光照不均匀补偿后的数据序列S′中所占的数据个数;t是同步数据数列T中的十进制数据个数;
步骤9.4,光照不均匀补偿模块在光照不均匀补偿后的数据序列S′中取第B+TGL-1个数据之后的第1到h*f个数据为完整灰度阈值标记数据序列FG,FG之后的第1到h*m个数据为完整灰度净荷数据序列MG;
步骤9.5,光照不均匀补偿模块在步骤9.4得到的完整灰度阈值标记数据序列FG中取位置的数据存为灰度阈值标记数据序列FG′,在完整灰度净荷数据序列MG中取位置的数据存为灰度净荷数据序列MG′;
其中,i=1,3,5...(2*f-1),j=1,3,5...(2*m-1);
步骤(10),动态量化间隔判决模块根据步骤(9)得到的灰度阈值标记数据序列FG′和步骤(4)插入的阈值标记数据序列F,使用(7)计算量化间隔序列R;
其中,R(j)是量化间隔序列的第j个数;FG′(j)是灰度阈值标记数据序列的第j个数;FG′(j+1)是灰度阈值标记数据序列的第j+1个数;F(j)是阈值标记数据序列的第j个数;F(j+1)是阈值标记数据序列的第j+1个;f是步骤(4)插入的阈值标记数据序列的个数;
步骤(11),动态量化间隔判决模块对步骤(9)得到的灰度净荷数据序列MG′进行判决,获取净荷数据序列,并且每判决获取一个净荷数据,进行一次量化间隔序列R的更新;
步骤(12),动态量化间隔判决模块将步骤(11)得到的净荷数据序列中的每位数据都转换为二进制数据,具体为:净荷数据序列中每位数据转换为b位二进制数据;
步骤(13),动态量化间隔判决模块保存步骤(12)得到的二进制数据,判断接收的二进制数据个数总数是否大于Z,Z为用户要接收的数据总数,Z数值根据用户要求设定,大于则结束运行,否则跳转至步骤(5)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911300672.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:带有可调节收料辊的金属卷材表面压花装置
- 下一篇:一种皮膜修复霜及制作工艺