CN110912609A - 基于摄像头的补偿光照不均匀的可见光通信方法 - Google Patents
基于摄像头的补偿光照不均匀的可见光通信方法 Download PDFInfo
- Publication number
- CN110912609A CN110912609A CN201911300672.3A CN201911300672A CN110912609A CN 110912609 A CN110912609 A CN 110912609A CN 201911300672 A CN201911300672 A CN 201911300672A CN 110912609 A CN110912609 A CN 110912609A
- Authority
- CN
- China
- Prior art keywords
- data
- sequence
- data sequence
- module
- picture
- 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.)
- Granted
Links
Images
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
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灯板、摄像头、数据接收、数据转换、图片预处理、光照不均匀补偿及动态量化间隔判决模块;所述方法为:获取最亮、最暗数据及光照补偿系数序列;将信源发出的用户要发送的数据转换为二进制数据再分组,生成数据帧驱动LED电路,再对输出电平放大,控制LED灯板发出经高阶幅移键控调制的可见光信号,摄像头接收数据图片进行灰度处理,按列灰度值排序后进行光照不均匀补偿及动态量化间隔判决,获取净荷数据序列。所述方法提高系统传输速率,消除了光照不均匀问题和环境光对系统的干扰,提高系统稳定性。
Description
技术领域
本发明涉及基于摄像头的补偿光照不均匀的可见光通信方法,属于可见光通信技术领域。
背景技术
随着5G时代的到来,移动终端和物联网设备的数量呈爆炸式增长,给现有无线通信技术在频谱资源、功耗和成本方面带来了巨大挑战。可见光通信具有频谱资源丰富而且无需授权认证即可使用、成本低廉等优点,因此越来越多的科研人员将目光放在了可见光通信领域。LED不仅成本低廉,而且在通信的同时可以起到日常照明的作用,可以节省铺设通信设备的成本和能耗。卷帘快门特性可以使得摄像头能够识别出高于摄像头帧率的可见光信号,这使得摄像头可以作为可见光通信的接收终端。由于目前智能手机的普及,基于摄像头的可见光通信有广泛的应用前景。
现有基于摄像头的可见光通信系统中,摄像头作为接收端,输出的是整张图片,不可避免地会出现图片亮度不均匀现象;图片亮度不均匀现象即图片中间光源部分较亮,两边远离光源部分较暗的现象,图片亮度不均匀现象使得采用高阶幅移键控时,调制的LED发射信号在接收端根据阈值判决时容易出错,导致误码率提升和系统性能不稳定;由于外界环境光的干扰,基于摄像头的可见光通信系统受环境光的影响导致系统不稳定。由于光照不均匀及环境光干扰,目前基于摄像头的可见光通信系统只能采用OOK调制进行低速传输,而当速率提高时,由于LED闪烁频率变快,摄像头对亮暗条纹区分模糊,导致产生错误判决。
在某文献中,使用摄像头的进行可见光通信,对LED使用OOK进行调制,高阶函数拟合方法获取阈值数据序列,但由于图片亮度不均匀和环境光干扰问题没有解决,其系统的误码率较高稳定性较差。
本设计提出基于摄像头的补偿光照不均匀的可见光通信方法,该系统拥有更高速率、更低误码率和更稳定的性能。(1)更高速率,使用高阶幅移键控调制LED,一个LED闪烁周期内可以传输多个bit数据,提高了通信的传输速率。(2)更低误码率,本发明使用亮度不均匀光补偿方法解决图片亮度不均匀问题,有效降低误码率。(3)系统更稳定,本发明使用动态量化间隔方法消除环境光干扰,提高系统稳定性。
发明内容
本发明目的在于解决由于图片亮度不均匀问题导致的使用高阶幅移键控调制LED进行基于摄像头的可见光通信时误码率较高和环境光干扰导致的性能不稳定问题,提出了一种补偿光照不均匀的基于摄像头的可见光通信方法。
所述补偿光照不均匀的基于摄像头的可见光通信方法依托的可见光通信系统,包括信源、数据接收模块、数据转换模块、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,摄像头采集此时的可见光信号,保存为“不包含数据的最暗图片”;
其中,获取的“不包含数据的最亮图片”和“不包含数据的最暗图片”的像素均为J*N,J是图片像素行数,N是图片像素列数;
步骤1.2,图片预处理模块提取步骤1.1摄像头发来的“不包含数据的最亮图片”和“不包含数据的最暗图片”的灰度,并按列灰度值由大到小排序,保存为排序后图片,再将排序后图片发送给光照不均匀补偿模块;
其中,排序后图片包括排序后最亮图片和排序后最暗图片;
步骤1.3,光照不均匀补偿模块接收步骤1.2发来的排序后图片中的“排序后最亮图片”,在“排序后最亮图片”中确定LED垂直投影区域、晕影区域和第三区域,具体为:
步骤1.3.1,光照不均匀补偿模块对排序后最亮图片中每行数据求平均值,得到行平均数据序列RMEA;
其中,RMEA中有J个数据;
步骤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;t、f的取值由图片的像素确定,要求一张图片中至少包含一个完整的数据帧;
步骤(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,依据在光照不均匀补偿后的数据序列S′中所占的数据个数TGL,以及步骤(4)同步数据数列T中的十进制数据个数t,使用(6)计算步骤(4)中数据帧中每个十进制数据在S′中所占的数据个数h:
其中,h是数据帧中每个十进制数据在光照不均匀补偿后的数据序列S′中所占的数据个数;TGL是同步数据数列T在光照不均匀补偿后的数据序列S′中所占的数据个数;
步骤9.4,光照不均匀补偿模块在光照不均匀补偿后的数据序列S′中取第B+TGL-1个数据之后的第1到h*f个数据为完整灰度阈值标记数据序列FG,FG之后的第1到h*m个数据为完整灰度净荷数据序列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的更新,具体分为以下子步骤:
步骤11.1,动态量化间隔判决模块根据(8)判断待判决的灰度净荷数据MG′(i)所属的判决区间j;
FG′(j+1)≤MG′(i)<FG′(j),1≤j≤f-1,1≤i≤m (8)
其中,FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数据;MG′(i)是灰度净荷数据序列MG′的第i个数;FG′(j)是灰度阈值标记数据序列FG′的第j个数;f是步骤(4)插入的阈值标记数据序列的个数;m是步骤(3)中净荷数据块的数据个数;
步骤11.2,光照不均匀补偿模块使用(9)对步骤11.1中的待判决的灰度净荷数据MG′(i)进行判决得到经过判决的灰度净荷数据M',对M'进行四舍五入取整得到灰度净荷数据MG′(i)对应的净荷数据M(i);
其中,M'是经过判决的灰度净荷数据;F(j+1)是阈值标记数据序列F的第j+1个;MG′(i)是灰度净荷数据序列MG′的第i个数;FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数;R(j)是量化间隔序列R的第j个数据;j为步骤11.1得到的待判决的灰度净荷数据MG′(i)所属的判决区间位置,
步骤11.3,光照不均匀补偿模块根据步骤11.2得到的M(i)更新量化间隔序列R,具体为:
11.3A,若M(i)=0,则使用(10)对量化间隔序列R进行更新,跳转至步骤11.5,否则执行步骤11.3B;
其中,FG′(f)是灰度阈值标记数据序列FG′的第f个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(f-1)是量化间隔序列R的第f-1个数;FG′(f-1)是灰度阈值标记数据序列FG′的第f-1个数;F(f-1)是阈值标记数据序列F的第f-1个数;M(i)是步骤11.2得到的净荷数据;f是阈值标记数据序列F中的数据个数;
11.3B,若M(i)=n,则使用(11)对量化间隔序列R进行更新,跳转至步骤11.5,否则执行步骤11.3C;
其中,FG′(1)是灰度阈值标记数据序列FG′的第1个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(1)是量化间隔序列R的第1个数;FG′(f-1)是灰度阈值标记数据序列FG′的第f-1个数;FG′(2)是阈值标记数据序列FG′的第2个数;M(i)是步骤11.2得到的十进制净荷数据;F(2)是阈值标记序列F的第2个数;
11.3C,若M(i)=F(j),则使用(12)对量化间隔序列R进行更新,跳转至步骤11.5,否则执行步骤11.3D;
其中,FG′(j)是灰度阈值标记数据序列FG′的第j个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(j)是量化间隔序列R的第j个数;FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数;M(i)是步骤11.2得到的十进制净荷数据;F(j+1)是阈值标记数据序列F的第j+1个数;R(j-1)是量化间隔序列R的第j-1个数;FG′(j-1)灰度阈值标记数据序列FG′的第j-1个数;F(j-1)是阈值标记数据序列F的第j-1个数;
11.3D,若M(i)=F(j+1),则使用(13)对量化间隔序列R进行更新,跳转至步骤11.5,否则执行步骤11.4;
其中,FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(j)是量化间隔序列R的第j个数;FG′(j)是灰度阈值标记数据序列FG′的第j个数;F(j)是阈值标记数据序列F的第j个数;M(i)是步骤11.2得到的十进制净荷数据;R(j+1)是量化间隔序列R的第j+1个数;FG′(j+2)灰度阈值标记数据序列FG′的第j+2个数;F(j+2)是阈值标记数据序列F的第j+2个数;
步骤11.4,使用(14)对量化间隔序列R进行更新;
其中,MG′(i)灰度净荷数据序列MG′的第i个数;FG′(j)是灰度阈值标记数据序列FG′的第j个数;M(i)是步骤11.2得到的十进制净荷数据;F(j)是阈值标记数据序列F的第j个数;
步骤11.5,动态量化间隔判决模块判断是否已经判决了m个净荷数据,没有则令i=i+1,跳转至步骤11.1,否则将得到的净荷数据按照判决先后排序组成净荷数据序列,执行步骤(12);
步骤(12),动态量化间隔判决模块将步骤(11)得到的净荷数据序列中的每位数据都转换为二进制数据,具体为:净荷数据序列中每位数据转换为b位二进制数据。
步骤(13),动态量化间隔判决模块保存步骤(12)得到的二进制数据,判断接收的二进制数据个数总数是否大于Z,Z为用户要接收的数据总数,Z数值根据用户要求设定,大于则结束运行,否则跳转至步骤(5);
至此,从步骤(1)至步骤(13),完成了一种补偿光照不均匀和动态量化间隔的可见光通信方法。
有益效果
本发明一种补偿光照不均匀的基于摄像头的可见光通信方法,与现有的基于摄像头的可见光通信的方法相比,具有如下有益效果:
1.更高的传输速率,使用高阶幅移键控调制LED,增加通信速率;
2.降低误码率,本方法使用图片亮度不均匀补偿方法消除图片亮度不均匀问题,降低误码率;
3.消除环境光对系统的干扰,本方法使用动态量化间隔方法,消除环境光干扰,增强系统稳定性。
附图说明
图1为本发明一种补偿光照不均匀的基于摄像头的可见光通信方法及实施例的本系统框图;
图2为本发明一种补偿光照不均匀的基于摄像头的可见光通信方法及实施例的本方法流程图。
图3为本发明一种补偿光照不均匀的基于摄像头的可见光通信方法实施例LED垂直投影区域、晕影区域和第三区域在排序后最亮图片中的位置示意图;
图4为本发明一种补偿光照不均匀的基于摄像头的可见光通信方法数据帧组成结构图;
图5为本发明一种补偿光照不均匀的基于摄像头的可见光通信方法光照不均匀补偿后的数据序列的组成结构图。
具体实施方式
下面结合实施例及附图,对本发明一种补偿光照不均匀的基于摄像头的可见光通信方法进行详细阐述。
实施例1
本实施例采用本发明的所述方法搭建可见光通信系统,本实施例所述的本系统如发明主体描述的一样,包括信源、数据接收模块、数据转换模块、LED驱动电路、LED灯板、摄像头、图片预处理模块、光照不均匀补偿模块以及动态量化间隔判决模块,系统结构图如图1所示。
信源包含一个计算机a;
其中,计算机a用于生成用户要发送的数据,并将将用户要发送的数据发送给数据接收模块;
数据接收模块包含一个FPGA开发板a;
其中,FPGA开发板a用于将信源发来的用户数据转换为二进制数据流,并发送给数据转换模块;
数据转换模块包含一个FPGA开发板b;
其中,FPGA开发板b接收数据接收模块发来的二进制数据流,并对二进制数据流进行分组转换为十进制数据,添加同步数据、阈值标记数据形成数据帧,输出数据帧中十进制数据对应的电平;
LED驱动电路包含了7个N-MOS构成的放大电路,将数据转换模块输出的电平放大,控制LED灯板上的LED亮灭;
LED灯板中包含了7个功率为1W的白光LED;
摄像头是荣耀10手机的后置摄像头,摄像头将拍摄的图片数据发送至图片预处理模块;
其中,拍摄的图片分辨率是:5632*4224;
图片预处理模块、光照不均匀补偿模块以及动态量化间隔判决模块是计算机b中的方法程序;
其中,图片预处理模块将摄像头发送来的图片数据进行灰度处理,并将灰度值由大到小按列排序,提取出需要的数据序列,发送至光照不均匀补偿模块;光照不均匀补偿模块对需要的数据序列进行光照不均匀补偿;动态量化间隔判决模块再对补偿后的数据序列进行判决与量化间隔的动态更新,获取净荷数据,转换为二进制数据输出。
本方法流程图如图2所示,步骤如下:
步骤(A),初始化最亮数据序列、最暗数据序列以及光照补偿系数序列,具体包括如下子步骤:
步骤A.1,摄像头获取“不包含数据的最亮图片”和“不包含数据的最暗图片”,并将获取图片发送给图片预处理模块进行处理;
其中,获取“不包含数据的最亮图片”和“不包含数据的最暗图片”,具体为:
步骤A.1.1,数据转换模块输出电平驱动LED灯板,点亮LED灯板上所有的LED,摄像头采集此时的可见光信号,保存为“不包含数据的最亮图片”;
步骤A.1.2,数据转换模块输出电平驱动LED灯板,熄灭LED灯板上所有的LED,摄像头采集此时的可见光信号,保存为“不包含数据的最暗图片”;
其中,获取的“不包含数据的最亮图片”和“不包含数据的最暗图片”的像素均为J*N,J=5632是图片像素行数,N=4224是图片像素列数;
步骤A.2,图片预处理模块提取步骤A.1摄像头发来的“不包含数据的最亮图片”和“不包含数据的最暗图片”的灰度,并按列灰度值由大到小排序,保存为排序后图片,再将排序后图片发送给光照不均匀补偿模块;
其中,排序后图片包括排序后最亮图片和排序后最暗图片;
步骤A.3,光照不均匀补偿模块接收步骤A.2发来的排序后图片中的“排序后最亮图片”,在“排序后最亮图片”中确定LED垂直投影区域、晕影区域和第三区域,具体为:
步骤A.3.1,光照不均匀补偿模块对排序后最亮图片中每行数据求平均值,得到行平均数据序列RMEA;
其中,RMEA中有J=5632个数据;
步骤A.3.2,光照不均匀补偿模块计算出步骤A.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是图片像素列数;
步骤A.3.3,光照不均匀补偿模块在步骤A.3.2得到的行梯度数据序列RMEA′中,根据行梯度数据序列中数据出现不连续变化的位置以及顺序,将排序后最亮图片中第1行到第R1行判断为LED垂直投影区域,第R1+1行到第R2行为晕影区域,第R2+1行到第J行是第三区域;
其中,R1为行梯度数据序列RMEA′第一次出现不连续数据的位置,R2为行梯度数据序列RMEA′第二次出现不连续数据的位置;
排序后最亮图片中LED垂直投影区域、晕影区域以及第三区域示意图如图3所示,在图3的“最亮图片”中,黑圈标出了LED垂直投影区域、晕影区域以及第三区域在图片中的位置,可以明显看到LED垂直投影区域的亮度大于晕影区域的亮度,晕影区域的亮度大于第三区域的亮度,对“最亮图片”进行排序后,得到“排序后最亮图片”,可以看到LED垂直投影区域、晕影区域以及第三区域在图片中由上至下分布,并且在连接处有亮度的跳变,在行梯度数据序列相应数据位置会出现数据的不连续现象;
步骤A.4,光照不均匀补偿模块在排序后最亮图片中,选取第三区域中的第一行数据,即第L=R2+1行数据作为最亮数据序列SMAX;
步骤A.5,光照不均匀补偿模块在步骤A.2得到的排序后最暗图片中,选取第L=R2+1行数据作为最暗数据序列SMIN;
步骤A.6,光照不均匀补偿模块根据步骤A.4和步骤A.5得到的最亮数据序列SMAX和最暗数据序列SMIN,计算出光照补偿系数序列K,具体为(2):
其中,K(i)是光照补偿系数序列K中的第i个数据;DMAX是最亮数据序列SMAX中的最大值,DMIN是最暗数据序列SMIN的最小值;SMAX(i)是最亮数据序列SMAX的第i个数据;SMIN(i)是最暗数据序列SMIN的第i个数据;N是图片像素列数;
步骤(B),数据接收模块将信源发出的用户要发送的数据转换为二进制数据,产生二进制数据流,发送给数据转换模块;
步骤(C),数据转换模块对数据接收模块发来的二进制数据流每b=3位二进制数转换为对应十进制数,每m个十进制数形成一个净荷数据块M;
其中,b=log2(n+1),n=7是LED灯板上的LED数量;m=15的取值由图片的像素确定,要求一张图片中至少包含一个完整的数据帧;
步骤(D),数据转换模块将步骤(C)形成的每个净荷数据块M前添加同步数据序列T和阈值标记数据序列F组成一个数据帧,再依据数据帧输出十进制数对应的电平给LED驱动电路;
其中,同步数据序列T中的十进制数据个数是t=7,数据组成依次为t1=2个0、t2=3个n、t3=2个0;阈值标记数据序列F中的十进制数据个数是f=3,且满足F(1)=n,F(2)=4,F(3)=0;
数据帧中净荷数据块、同步数据序列以及阈值标记序列结构如图4所示,在图4中,数据帧由同步数据序列T、阈值标记数据序列F和净荷数据块M组成,并且同步数据序列中数据依次为t1个0、t2个n、t3个0,并且同步数据序列T中的十进制数据个数是t,阈值标记数据序列F中的十进制数据个数是f,净荷数据块M中的十进制个数是m;
步骤(E),LED驱动电路对数据转换模块输出的电平进行放大,控制LED灯板发出经调制后的可见光信号,摄像头接收后保存为数据图片发送给图片预处理模块;
至此,步骤(A)-步骤(E)完成了高阶幅移键控调制LED,本实施例中使用了8-ASK调制LED,相比于OOK调制一次LED闪烁只能传输1bit数据,本方法一次LED闪烁可以实现3bit数据的传输,提高了传输速率;完成了益效果1所述,即使用高阶幅移键控调制LED,增加通信速率;
步骤(F),图片预处理模块对摄像头发来的数据图片进行灰度处理,并对灰度处理后的图片每列数据按照灰度值由大到小排序,保存为排序后的数据图片,并将排序后的数据图片发送给光照不均匀补偿模块;
步骤(G),光照不均匀补偿模块在步骤(F)得到的排序后的数据图片中选取第L行数据作为需要处理的数据序列S;
其中,L是步骤(A)中最亮数据序列SMAX在排序后最亮图片中的行位置;
步骤(H),光照不均匀补偿模块使用步骤(1)得到的补偿系数序列K和最暗数据序列SMIN对步骤(G)得到的需要处理的数据序列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是图片像素列数;
步骤(H)完成了光照不均匀补偿,解决了由于图片光照不均匀问题导致的误码率较高问题,相比于某文献在1m距离下的使用8-ASK调制LED实现通信系统的15%误码率,本方法的在1m距离下使用8-ASK调制LED可以实现3%的误码率,大幅度降低了误码率;实现了有益效果2所述,即使用图片亮度不均匀补偿方法消除图片亮度不均匀问题,与现有方法相比,降低了误码率。
步骤(I),动态量化间隔判决模块对光照不均匀补偿模块发来的光照不均匀补偿后的数据序列S′进行数据同步,获取灰度阈值标记数据序列FG′和灰度净荷数据序列MG′,具体包含以下子步骤:
步骤I.1,光照不均匀补偿模块对根据(4)和(5)对光照不均匀补偿后的数据序列S′进行离散化处理,得到离散化数据序列S″;
其中,DT是对光照不均匀补偿后的数据序列S′进行离散化的阈值;DMAX是最亮数据序列SMAX中的最大值,DMIN是最暗数据序列SMIN的最小值;S″(i)是离散化数据序列的第i个数;
步骤I.2,光照不均匀补偿模块在步骤I.1得到的离散化数据序列S″中搜索步骤(4)中数据帧的同步数据数列T的位置和所占数据个数,具体为:
步骤I.2.1,在步骤I.1中得到的离散化数据序列S″中搜索一个构成依次为l1个连"0"、l2个连"1"、l3个连"0"的连续数据块,l1、l2、l3满足l1:l2:l3=t1:t2:t3,此即为步骤(D)中插入的同步数据序列T在离散化数据序列S″中对应的数据块;且该连续数据块在离散化数据序列S″中的起始位置为B,包含的数据个数是TGL;
步骤I.2.2,根据步骤I.2.1同步数据序列T在离散化数据序列S″中对应的数据块,得到同步数据序列T在光照不均匀补偿后的数据序列S′中对应的数据块:起始位置是B,包含的数据个数是TGL;
步骤I.3,光照不均匀补偿模块根据步骤I.2得到的同步数据序列T在光照不均匀补偿后的数据序列S′中所占的数据个数TGL,使用(6)计算步骤(D)中数据帧中每个十进制数据在S′中所占的数据个数h;
其中,h是数据帧中每个十进制数据在光照不均匀补偿后的数据序列S′中所占的数据个数;TGL是同步数据数列T在光照不均匀补偿后的数据序列S′中所占的数据个数;t是同步数据数列T中的十进制数据个数;
步骤I.4,光照不均匀补偿模块在光照不均匀补偿后的数据序列S′中取第B+TGL-1个数据之后的第1到h*f个数据为完整灰度阈值标记数据序列FG,FG之后的第1到h*m个数据为完整灰度净荷数据序列MG;
光照不均匀补偿后的数据序列S′中完整灰度阈值标记数据序列FG、完整灰度净荷数据序列MG结构如图5所示,在图5中,光照不均匀补偿后的数据序列S′包含了多个数据帧数据,其中的一个数据帧包含一个完整灰度同步数据序列TG,一个完整灰度阈值标记数据序列FG和一个完整灰度净荷数据序列MG,完整灰度同步数据序列TG中包含了t*h个数据,完整灰度阈值标记数据序列FG中包含了h*f个数据,完整灰度净荷数据序列MG中包含了h*m个数据,在一个数据帧在光照不均匀补偿后的数据序列S′中所占的数据中,每h个数据代表数据帧中的一个十进制数据;
其中,i=1,3,5,j=1,3,5...(2*m-1);
步骤(J),动态量化间隔判决模块根据步骤(I)得到的灰度阈值标记数据序列FG′和步骤(D)得到的阈值标记数据序列F,使用(7)计算量化间隔序列R;
其中,R(j)是量化间隔序列的第j个数;FG′(j)是灰度阈值标记数据序列的第j个数;FG′(j+1)是灰度阈值标记数据序列的第j+1个数;F(j)是阈值标记数据序列的第j个数;F(j+1)是阈值标记数据序列的第j+1个;f是步骤(D)插入的阈值标记数据序列的个数;
步骤(K),动态量化间隔判决模块对步骤(I)得到的灰度净荷数据序列MG′进行判决,获取净荷数据序列,并且每判决获取一个净荷数据,进行一次量化间隔序列R的更新,具体分为以下子步骤:
步骤K.1,动态量化间隔判决模块根据(8)判断待判决的灰度净荷数据MG′(i)所属的判决区间j;
FG′(j+1)≤MG′(i)<FG′(j),1≤j≤f-1,1≤i≤m (8)
其中,FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数据;MG′(i)是灰度净荷数据序列MG′的第i个数;FG′(j)是灰度阈值标记数据序列FG′的第j个数;f是步骤(D)插入的阈值标记数据序列的个数;m是步骤(3)中净荷数据块的数据个数;
步骤K.2,光照不均匀补偿模块使用(9)对步骤K.1中的待判决的灰度净荷数据MG′(i)进行判决得到经过判决的灰度净荷数据M',对M'进行四舍五入取整得到灰度净荷数据MG′(i)对应的净荷数据M(i);
其中,M'是经过判决的灰度净荷数据;F(j+1)是阈值标记数据序列F的第j+1个;MG′(i)是灰度净荷数据序列MG′的第i个数;FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数;R(j)是量化间隔序列R的第j个数据;j为步骤K.1得到的待判决的灰度净荷数据MG′(i)所属的判决区间位置,
步骤K.3,光照不均匀补偿模块根据步骤K.2得到的M(i)更新量化间隔序列R,具体为:
K.3A,若M(i)=0,则使用(10)对量化间隔序列R进行更新,跳转至步骤K.5,否则执行步骤K.3B;
其中,FG′(f)是灰度阈值标记数据序列FG′的第f个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(f-1)是量化间隔序列R的第f-1个数;FG′(f-1)是灰度阈值标记数据序列FG′的第f-1个数;F(f-1)是阈值标记数据序列F的第f-1个数;M(i)是步骤K.2得到的净荷数据;f是阈值标记数据序列F中的数据个数;
K.3B,若M(i)=n,则使用(11)对量化间隔序列R进行更新,跳转至步骤11.5,否则执行步骤11.3C;
其中,FG′(1)是灰度阈值标记数据序列FG′的第1个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(1)是量化间隔序列R的第1个数;FG′(f-1)是灰度阈值标记数据序列FG′的第f-1个数;FG′(2)是阈值标记数据序列FG′的第2个数;M(i)是步骤K.2得到的净荷数据;F(2)是阈值标记序列F的第2个数;
K.3C,若M(i)=F(j),则使用(12)对量化间隔序列R进行更新,跳转至步骤K.5,否则执行步骤K.3D;
其中,FG′(j)是灰度阈值标记数据序列FG′的第j个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(j)是量化间隔序列R的第j个数;FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数;M(i)是步骤K.2得到的净荷数据;F(j+1)是阈值标记数据序列F的第j+1个数;R(j-1)是量化间隔序列R的第j-1个数;FG′(j-1)灰度阈值标记数据序列FG′的第j-1个数;F(j-1)是阈值标记数据序列F的第j-1个数;
K.3D,若M(i)=F(j+1),则使用(13)对量化间隔序列R进行更新,跳转至步骤K.5,否则执行步骤K.4;
其中,FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(j)是量化间隔序列R的第j个数;FG′(j)是灰度阈值标记数据序列FG′的第j个数;F(j)是阈值标记数据序列F的第j个数;M(i)是步骤K.2得到的净荷数据;R(j+1)是量化间隔序列R的第j+1个数;FG′(j+2)灰度阈值标记数据序列FG′的第j+2个数;F(j+2)是阈值标记数据序列F的第j+2个数;
步骤K.4,使用(14)对量化间隔序列R进行更新;
其中,MG′(i)灰度净荷数据序列MG′的第i个数;FG′(j)是灰度阈值标记数据序列FG′的第j个数;M(i)是步骤K.2得到的净荷数据;F(j)是阈值标记数据序列F的第j个数;
步骤K.5,动态量化间隔判决模块判断是否已经判决了m=15个净荷数据,没有则令i=i+1,执行步骤K.1,否则将得到的净荷数据按照判决先后排序组成净荷数据序列,执行步骤(L);
步骤(K)完成了动态量化间隔方法,解决了由于环境光干扰导致的系统不稳定问题,使基于摄像头的可见光通信系统在复杂环境光下能够保持系统的稳定性,体现了前述第3条有益效果。
步骤(L),动态量化间隔判决模块将步骤(K)得到的净荷数据序列中的每位数据都转换为二进制数据,具体为:净荷数据序列中每位数据转换为b=3位二进制数据。
步骤(M),动态量化间隔判决模块保存步骤(L)得到的二进制数据,判断接收的二进制数据个数总数是否大于Z=1000,大于则结束运行,否则跳转至步骤(E)。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (6)
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数量;
步骤(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;
其中,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)。
2.根据权利要求1所述的一种补偿光照不均匀和动态量化间隔的可见光通信方法,其特征在于:步骤1.1.2中,获取的“不包含数据的最亮图片”和“不包含数据的最暗图片”的像素均为J*N,J是图片像素行数,N是图片像素列数。
3.根据权利要求1所述的一种补偿光照不均匀和动态量化间隔的可见光通信方法,其特征在于:步骤1.3.1中,RMEA中有J个数据。
4.根据权利要求1所述的一种补偿光照不均匀和动态量化间隔的可见光通信方法,其特征在于:步骤(3)中m的取值由图片的像素确定,要求一张图片中至少包含一个完整的数据帧。
5.根据权利要求1所述的一种补偿光照不均匀和动态量化间隔的可见光通信方法,其特征在于:步骤(4)中t、f的取值由图片的像素确定,要求一张图片中至少包含一个完整的数据帧。
6.根据权利要求1所述的一种补偿光照不均匀和动态量化间隔的可见光通信方法,其特征在于:步骤(11),具体分为以下子步骤:
步骤11.1,动态量化间隔判决模块根据(8)判断待判决的灰度净荷数据MG′(i)所属的判决区间j;
FG′(j+1)≤MG′(i)<FG′(j),1≤j≤f-1,1≤i≤m (8)
其中,FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数据;MG′(i)是灰度净荷数据序列MG′的第i个数;FG′(j)是灰度阈值标记数据序列FG′的第j个数;f是步骤(4)插入的阈值标记数据序列的个数;m是步骤(3)中净荷数据块的数据个数;
步骤11.2,光照不均匀补偿模块使用(9)对步骤11.1中的待判决的灰度净荷数据MG′(i)进行判决得到经过判决的灰度净荷数据M',对M'进行四舍五入取整得到灰度净荷数据MG′(i)对应的净荷数据M(i);
其中,M'是经过判决的灰度净荷数据;F(j+1)是阈值标记数据序列F的第j+1个;MG′(i)是灰度净荷数据序列MG′的第i个数;FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数;R(j)是量化间隔序列R的第j个数据;j为步骤11.1得到的待判决的灰度净荷数据MG′(i)所属的判决区间位置,
步骤11.3,光照不均匀补偿模块根据步骤11.2得到的M(i)更新量化间隔序列R,具体为:
11.3A,若M(i)=0,则使用(10)对量化间隔序列R进行更新,跳转至步骤11.5,否则执行步骤11.3B;
其中,FG′(f)是灰度阈值标记数据序列FG′的第f个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(f-1)是量化间隔序列R的第f-1个数;FG′(f-1)是灰度阈值标记数据序列FG′的第f-1个数;F(f-1)是阈值标记数据序列F的第f-1个数;M(i)是步骤11.2得到的净荷数据;f是阈值标记数据序列F中的数据个数;
11.3B,若M(i)=n,则使用(11)对量化间隔序列R进行更新,跳转至步骤11.5,否则执行步骤11.3C;
其中,FG′(1)是灰度阈值标记数据序列FG′的第1个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(1)是量化间隔序列R的第1个数;FG′(f-1)是灰度阈值标记数据序列FG′的第f-1个数;FG′(2)是阈值标记数据序列FG′的第2个数;M(i)是步骤11.2得到的十进制净荷数据;F(2)是阈值标记序列F的第2个数;
11.3C,若M(i)=F(j),则使用(12)对量化间隔序列R进行更新,跳转至步骤11.5,否则执行步骤11.3D;
其中,FG′(j)是灰度阈值标记数据序列FG′的第j个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(j)是量化间隔序列R的第j个数;FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数;M(i)是步骤11.2得到的十进制净荷数据;F(j+1)是阈值标记数据序列F的第j+1个数;R(j-1)是量化间隔序列R的第j-1个数;FG′(j-1)灰度阈值标记数据序列FG′的第j-1个数;F(j-1)是阈值标记数据序列F的第j-1个数;
11.3D,若M(i)=F(j+1),则使用(13)对量化间隔序列R进行更新,跳转至步骤11.5,否则执行步骤11.4;
其中,FG′(j+1)是灰度阈值标记数据序列FG′的第j+1个数;MG′(i)灰度净荷数据序列MG′的第i个数;R(j)是量化间隔序列R的第j个数;FG′(j)是灰度阈值标记数据序列FG′的第j个数;F(j)是阈值标记数据序列F的第j个数;M(i)是步骤11.2得到的十进制净荷数据;R(j+1)是量化间隔序列R的第j+1个数;FG′(j+2)灰度阈值标记数据序列FG′的第j+2个数;F(j+2)是阈值标记数据序列F的第j+2个数;
步骤11.4,使用(14)对量化间隔序列R进行更新;
其中,MG′(i)灰度净荷数据序列MG′的第i个数;FG′(j)是灰度阈值标记数据序列FG′的第j个数;M(i)是步骤11.2得到的十进制净荷数据;F(j)是阈值标记数据序列F的第j个数;
步骤11.5,动态量化间隔判决模块判断是否已经判决了m个净荷数据,没有则令i=i+1,跳转至步骤11.1,否则将得到的净荷数据按照判决先后排序组成净荷数据序列,执行步骤(12)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911300672.3A CN110912609B (zh) | 2019-12-17 | 2019-12-17 | 基于摄像头的补偿光照不均匀的可见光通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911300672.3A CN110912609B (zh) | 2019-12-17 | 2019-12-17 | 基于摄像头的补偿光照不均匀的可见光通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110912609A true CN110912609A (zh) | 2020-03-24 |
CN110912609B CN110912609B (zh) | 2021-03-05 |
Family
ID=69825995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911300672.3A Active CN110912609B (zh) | 2019-12-17 | 2019-12-17 | 基于摄像头的补偿光照不均匀的可见光通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110912609B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200878A (zh) * | 2020-10-12 | 2021-01-08 | 长春希达电子技术有限公司 | Led显示单元中led显示模块的墨色排序方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1266335A (zh) * | 1999-03-09 | 2000-09-13 | 汤姆森广播系统公司 | 用在多路复用系统中调节比特率的装置和方法 |
US20050122292A1 (en) * | 2003-12-08 | 2005-06-09 | Dialog Semiconductor Gmbh | Light show ASIC |
CN103916190A (zh) * | 2014-01-26 | 2014-07-09 | 北京邮电大学 | 一种光传输过程中对光非线性相位补偿的优化方法 |
CN105388455A (zh) * | 2015-10-16 | 2016-03-09 | 北京理工大学 | 摄像头室内可见光定位系统中一种消除背景光扰动的方法 |
CN107104730A (zh) * | 2017-03-07 | 2017-08-29 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 用于可见光成像定位的条纹识别和信息检测算法 |
-
2019
- 2019-12-17 CN CN201911300672.3A patent/CN110912609B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1266335A (zh) * | 1999-03-09 | 2000-09-13 | 汤姆森广播系统公司 | 用在多路复用系统中调节比特率的装置和方法 |
US20050122292A1 (en) * | 2003-12-08 | 2005-06-09 | Dialog Semiconductor Gmbh | Light show ASIC |
CN103916190A (zh) * | 2014-01-26 | 2014-07-09 | 北京邮电大学 | 一种光传输过程中对光非线性相位补偿的优化方法 |
CN105388455A (zh) * | 2015-10-16 | 2016-03-09 | 北京理工大学 | 摄像头室内可见光定位系统中一种消除背景光扰动的方法 |
CN107104730A (zh) * | 2017-03-07 | 2017-08-29 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 用于可见光成像定位的条纹识别和信息检测算法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200878A (zh) * | 2020-10-12 | 2021-01-08 | 长春希达电子技术有限公司 | Led显示单元中led显示模块的墨色排序方法 |
CN112200878B (zh) * | 2020-10-12 | 2024-04-02 | 长春希达电子技术有限公司 | Led显示单元中led显示模块的墨色排序方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110912609B (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101646092B (zh) | 图像处理方法和移动通信终端 | |
CN100489640C (zh) | 调整电子装置显示相关设定的装置及方法 | |
US9214112B2 (en) | Display device and display method | |
CN106991972B (zh) | 一种有机发光面板的开机亮度控制方法 | |
TW201814684A (zh) | 顯示裝置 | |
KR20170131716A (ko) | 프로젝터 시스템의 콘텐츠 적응 전력 관리 | |
CN106470336A (zh) | 相机色温补偿系统及智能终端 | |
CN105047140A (zh) | 一种基于图像内容自适应的动态背光控制系统及方法 | |
CN108962126A (zh) | 一种显示面板驱动方法、驱动系统及包含其的显示装置 | |
CN105592254B (zh) | 图像显示方法及电子装置 | |
CN101110198A (zh) | 等离子显示面板的驱动装置及其驱动方法 | |
US9824636B2 (en) | Display device and method of adjusting backlight brightness of display device | |
CN110912609B (zh) | 基于摄像头的补偿光照不均匀的可见光通信方法 | |
CN113099197B (zh) | 一种动态黑快速响应激光投影控制系统 | |
CN105744177A (zh) | 视频展台灯光控制方法及其系统 | |
CN103810980B (zh) | 一种基于图像出现频率的液晶显示器功耗降低方法 | |
US8896758B2 (en) | Video signal processing circuit, video signal processing method, display device, and electronic apparatus | |
CN112562565A (zh) | 驱动装置、方法、显示面板及电子设备 | |
CN116453477A (zh) | 基于局部调光的背光处理方法、装置、背光设备和投影仪 | |
CN107705759A (zh) | 一种动态调整背光的驱动系统及驱动方法 | |
TW201035947A (en) | Source driver and electronic system utilizing the same | |
CN103810985A (zh) | 提高图像可读性的电子装置及其方法 | |
CN109686316A (zh) | 一种数字扫描电路 | |
KR101545472B1 (ko) | 풀-컬러 전광판의 소비전력 절감장치 및 그 방법 | |
Arisue et al. | BER measurement for transmission pattern design of ITS image sensor communication using DMD projector |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |