CN114285472B - 一种基于手机摄像头具有前向纠错的upsook调制方法 - Google Patents
一种基于手机摄像头具有前向纠错的upsook调制方法 Download PDFInfo
- Publication number
- CN114285472B CN114285472B CN202111563954.XA CN202111563954A CN114285472B CN 114285472 B CN114285472 B CN 114285472B CN 202111563954 A CN202111563954 A CN 202111563954A CN 114285472 B CN114285472 B CN 114285472B
- Authority
- CN
- China
- Prior art keywords
- frame
- data
- sequence
- mobile phone
- upsook
- 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.)
- Active
Links
- 238000012937 correction Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004891 communication Methods 0.000 claims abstract description 49
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000003287 optical effect Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000005538 encapsulation Methods 0.000 claims description 5
- 230000010363 phase shift Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000016507 interphase Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000011946 reduction process Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 abstract description 12
- 230000007246 mechanism Effects 0.000 abstract description 7
- 210000003128 head Anatomy 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 6
- 230000005855 radiation Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000087 stabilizing effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Optical Communication System (AREA)
Abstract
本发明提出了一种基于手机摄像头具有前向纠错的UPSOOK调制方法,属于可见光通信领域,具体是首先,构建包括发送端和接收端的可见光通信系统模型;发送端产生数据包,设计了基于UPSOOK的数据帧结构并基于欠采样调制方案实现信号的调制;然后,接收端的手机摄像头对单LED灯录制视频,经图像处理后,得到自适应阈值的判决门限;送入解调器利用自适应的阈值对各帧图像进行解调,得到解调序列S,即数据的初始序列;利用针对帧率抖动的前向纠错机制对解调序列进行纠错,恢复信息序列;通过解码器输出最终解码信息。本发明消除了收发端之间存在的相位误差,避免了收发端之间距离和角度的差异对采样亮度值造成的影响,实现了可见光信息的可靠传输。
Description
技术领域
本发明属于可见光通信领域,具体是一种基于手机摄像头具有前向纠错的UPSOOK调制方法。
背景技术
近年来,LED(Light-Emitting Diode,发光二极管)的高能效和快速开关的特性,使得基于LED的可见光通信(Visible Light Communication,VLC)技术受到广泛关注。VLC系统通常利用生活中常见的LED照明设备作为发射机,结合一定的调制编码技术,发出人眼察觉不到的频闪信号实现信息发送;在接收端,利用光电二极管(Photodiodes,PD)或者图像传感器(Image Sensor,IS)检测可见光信号,结合相应的解调解码技术实现数据接收。
基于PD的可见光通信系统一般用于高速数据传输场景,可以实现Gbps速率级别的数据传输;基于IS的可见光通信系统则主要用于低速数据传输场景,例如室内环境中的定位和设备配对信息传输、车辆通信中的碰撞检测以及危险路况信息传递等。相比于PD,IS作为接收端接收视场角更大,能够更大范围的接收VLC信号。此外,IS在移动端更具有泛在性,因此研究基于IS的可见光通信技术对于实际应用具有重要意义。
近年来,随着半导体技术的迅速发展,大多数智能手机都内置了互补金属氧化物半导体(Complementary Metal-Oxide-Semiconductor,CMOS)相机,为可见光通信提供了广泛的硬件支持。然而由于手机摄像头的标准帧率为30fps,即相机的采样频率fcamera=30Hz,而LED的闪烁频率为至少100Hz才能不被人眼察觉到闪烁,频率的差距意味着接收机不能完整地把每一个频闪信息记录下来。由于手机摄像头存在帧率抖动的问题,会造成误码率上升。帧率低且不稳定,基于手机CMOS相机实现高可用的可见光通信系统仍面临巨大挑战。
VLC应用场景分为:高速数据传输场景和低速数据传输场景。具体而言,家庭、办公室甚至飞机舱室都是高速数据传输场景之一。与Wi-Fi相比,商用照明LED已经实现每秒数百兆比特的链路数据速率,而由于空间复用程度高,在存在墙壁以隔离VLC信号的情况下,VLC网络的总吞吐量可以远远大于WiFi网络。低速数据传输场景包括移动设备在室内环境中的定位和设备配对。
现有基于手机摄像头的可见光通信研究主要是利用CMOS相机的“卷帘效应”进行基于图案明亮条纹信息的调制,接收端根据亮暗条纹的宽度或频率解码。如文献[1]:C.Danakis,M.Afgani,G.Povey,I.Underwood and H.Haas,"Using a CMOS camera sensorfor visible light communication,"2012IEEE Globecom Workshops,2012,pp.1244-1248.通过反射表面捕捉图像,以缓解LED光斑的晕染效应,但是该方案造成了光功率的逸散,需要较高的LED功率;文献[2]:张振山.基于手机摄像头的可见光通信关键技术研究[D].北京邮电大学,2019.利用灰度图像的所有灰度值数据进行信号解调来提高系统的鲁棒性,相比于传统解调方案中利用单列灰度值实现解调,其计算量成倍提升;文献[3]:李宗泽.基于手机摄像头的可见光通信系统与应用研究[D].北京邮电大学,2018.通过灰度校正、直方图均衡、高通滤波等实现复杂光环境中的数据传输,但是需要较长的数据处理时间。
另外还有文献利用大量的数字图像处理手段来提高系统的误码性能,但是其通信距离受到LED大小和手机摄像头硬件的限制,一般小于1m,例如文献[4]J.He,Z.Jiang,J.Shi,Y.Zhou and J.He,"A Novel Column Matrix Selection Scheme for VLC SystemWith Mobile Phone Camera,"in IEEE Photonics Technology Letters,vol.31,no.2,pp.149-152,15Jan.15,2019.提出了一种基于LED能量扩散的列灰度值选择方案,有效提高了图像的对比度,但通信距离只能达到30cm;文献[5]Y.Meng,X.Chen,T.Pan,T.Shen andH.Chen,"HyperSight:A Precise Decoding Algorithm for VLC With Mobile-PhoneCamera,"in IEEE Photonics Journal,vol.12,no.4,pp.1-11,Aug.2020,Artno.7904211.提出了HyperSight图像解码算法,利用灰度特征矩阵和临界灰度值来替代传统的单列灰度值和函数拟合阈值,可以实现距离为50cm的通信。
综上所述,目前基于图案明亮条纹信息调制方式的可见光通信系统中尚存在系统复杂度高、计算量大和通信距离短等问题。与此对应的是,基于LED亮灭状态的欠采样调制方案复杂度低,计算量小且不存在收发端距离的限制,例如文献[6]P.Luo,Z.Ghassemlooy,H.Le Minh,X.Tang and H.Tsai,"Undersampled phase shift ON-OFF keying forcamera communication,"2014Sixth International Conference on WirelessCommunications and Signal Processing(WCSP),2014,pp.1-6.提出了UPSOOK调制方案,通信距离可达15m。
然而,手机摄像头帧率不稳定的问题对于收发端同步要求很高的欠采样调制方案而言是一个不小的挑战。
发明内容
本发明针对手机摄像头帧率不稳定的问题,提出了一种基于手机摄像头具有前向纠错的UPSOOK调制方法,通过联合收端自适应阈值解调策略和针对帧率抖动的前向纠错机制,从而实现可见光信息的可靠传输,相比于传统的UPSOOK系统,FEC-UPSOOK的系统误码率从10-1下降到10-3,满足室内定位、设备配对信息传输等可见光通信场景需求。
本发明所述一种基于手机摄像头具有前向纠错的UPSOOK调制方法,具体步骤为:
步骤一、构建包括发送端和接收端的可见光通信系统模型;
发送端包括依次连接的编码器、数据封装模块、调制器、光驱动器以及单LED照明模块;调制器采用欠采样相移开关键控(UPSOOK)方式调制;
接收端包括依次连接的手机摄像头、图像处理模块、解调器、纠错模块和解码器;
步骤二、发送端产生数据包,经过编码器将数据包的数据位编码,并通过数据封装模块进行封装;
数据包包括起始帧分隔符SFD和数据位,SFD包括帧头FH和标志位;
数据位使用CRC循环冗余编码;
每个数据包的长度为N,即包含符号个数为N。
步骤三、将封装好的数据包通过调制器的UPSOOK调制后,调制信号经光驱动电路驱动单LED照明模块发送至接收端。
步骤四、接收端的手机摄像头对单LED灯录制视频,经图像处理模块对视频的图像进行处理后,得到自适应阈值的判决门限;
具体过程为:
步骤401、图像处理模块将视频流中每帧图片分别进行灰度化和二值化,得到三个灰度值范围;
灰度化后LED呈现“半亮”状态,二值化信息码字“1”和“0”分别为全亮和全暗状态,三种状态分别对应着三个灰度值范围。
步骤402、针对每帧图像,利用灰度值获取该LED的像素范围,并以像素中心为圆心,计算7×7像素点亮度值之和:
步骤403、选择M帧图像的亮度值之和,并从小到大排序得到序列Gsorted;
步骤404、对序列Gsorted中的相邻两个元素作差,得到差值序列Gdiff;
其中第i个差值为:
定义高阈值HT为“全亮”和“半亮”状态的分界线,低阈值LT为“半亮”和“全暗”状态的分界线,计算公式如下:
步骤五、将各帧图像送入解调器,利用自适应的阈值对各帧图像进行解调,得到解调序列S,即数据的初始序列;
第k帧图像解调得到的数据Dk为:
"1"、"2"、"0"分别表示逻辑1,帧头SFD和逻辑0。
针对手机摄像头实时接收到的每帧图像,通过解调得到的数据按时间顺序存入解调序列S中,即S={D1,D2,D3,...}。
步骤六、对于解调数据序列S,利用纠错模块的前向纠错算法稳定手机摄像头的帧率,恢复信息序列;
具体为:
步骤601、针对解调数据序列S的数据包中各相邻数据的帧头,判断第i个帧头FHi和第i+1个帧头FHi+1之间的符号个数是否小于N时,如果是,存在误码;进入步骤602;否则,对当前帧头不做处理,继续选择序列S中的下一个数据帧头重复判断;
步骤602、判断相间帧头FHi和FHi+2之间的符号个数,是否仍然小于N,如果是,说明FHi+1和FHi+2都是因误码形成的“帧头”,无法判断具体的跳变情况,则抛弃帧头为FHi+1和FHi+2的两段数据;否则,进入步骤603;
步骤603、判断FHi和FHi+2之间的符号个数是否等于N,如果是,则帧头FHi+1是由于帧率抖动而造成的误码,将其还原;否则,对当前帧头不做处理,继续选择序列S中的下一个数据帧头返回步骤601重复判断;
具体还原过程为:
首先,假设帧头FHi+1是由逻辑1跳变而成,将其还原成逻辑1,并且把后续的数据全部变成相反的逻辑值;
然后,利用标志位判断所有的数据是否满足偶校验的规则,即数据位中是否包含偶数个逻辑1,如果是,说明假设正确;否则,不满足偶校验,说明假设错误,将帧头FHi+1还原成逻辑0并将后续数据取反。
步骤七、对恢复的信息序列利用解码器输出最终的解码信息;
在大于低阈值小于高阈值时,判定当前帧图片为“半亮”状态,解码为SFD标记;
小于低阈值时,判定当前帧图片为“全暗”状态,解码为“0”。
将“半亮”状态作为数据传输的同步位,纠正存在误码的序列,从而得到准确的码字序列。
本发明的优点在于:
1)一种基于手机摄像头具有前向纠错的UPSOOK调制方法,针对手机摄像头帧率不稳定限制通信可靠性的问题,提出了FEC-UPSOOK调制方法,设计并实现了基于UPSOOK的帧结构、自适应阈值计算策略和前向纠错机制;相较于利用“卷帘快门”实现可见光通信极大简化数字图像处理流程,本发明加快了解码速度,降低了系统算法的复杂度;
2)一种基于手机摄像头具有前向纠错的UPSOOK调制方法,搭建了一套基于手机摄像头的可见光通信系统,并在不同距离和不同辐射角度下对系统的误码性能进行了测试;
3)一种基于手机摄像头具有前向纠错的UPSOOK调制方法,能明显提升系统误码性能,相比于传统UPSOOK系统,FEC-UPSOOK系统误码率从10-1下降到10-3,并且当发射机辐射角在0°~80°之间时,误码率仍保持在10-3左右,说明了本方法的有效性。
4)一种基于手机摄像头具有前向纠错的UPSOOK调制方法,将广泛使用的智能设备内置摄像头作为可见光通信的接收端,极大拓展可见光通信的应用范围的同时降低了可见光通信的成本;
5)一种基于手机摄像头具有前向纠错的UPSOOK调制方法,由于利用“卷帘快门”实现可见光通信,通信距离受到LED大小和手机摄像头硬件的限制,一般小于1m。基于手机摄像头的欠采样可见光通信通信距离摆脱了LED大小的限制,可以达到2m以上。
附图说明
图1为本发明一种基于手机摄像头具有前向纠错的UPSOOK调制方法的流程图;
图2为本发明搭建的可见光通信系统框图;
图3为本发明发送端产生的数据包的封装格式示意图;
图4为本发明数据包的标志位采样后的两种可能的帧结构示意图;
图5为本发明相机采样到的图片灰度化后LED的三种亮度示意图;
图6为本发明实际帧率抖动造成的误码示意图;
图7为本发明针对帧率抖动设计的前向纠错算法流程图;
图8为本发明所示不同传输距离下误码率对比图;
图9为本发明所示不同传输距离下使用不同功率LED时的误码率变化情况图;
图10为本发明所示角度性能测试场景示意图;
图11为本发明所示不同角度下误码率对比图。
具体实施方式
下面结合实施例和附图对本发明做进一步详细说明。
本发明公开了一种基于手机摄像头具有前向纠错的UPSOOK调制方法(ForwardError Correction-Undersampled Phase Shift ON-OFF Keying,FEC-UPSOOK);首先为了消除收发端之间存在的相位误差,设计了基于UPSOOK的数据帧结构并基于欠采样调制方案实现信号的调制,然后通过计算自适应阈值,获取区分LED不同亮度状态的阈值,避免了收发端之间距离和角度的差异对采样亮度值造成的影响,最后设计针对帧率抖动的前向纠错机制进行纠错,从而实现可见光信息的可靠传输。
本发明适用于移动设备室内定位场景中低速数据通信,碰撞检测、危险路况信息以及通过车辆尾灯捕获车辆诊断信息等场景。
所述一种基于手机摄像头具有前向纠错的UPSOOK调制方法,如图1所示,具体步骤为:
步骤一、构建包括发送端和接收端的可见光通信系统模型;
可见光通信系统如图2所示,包括发送端子系统和接收端子系统;发送端包括依次连接的编码器、数据封装模块、调制器、光驱动器以及单LED照明模块;调制器采用欠采样相移开关键控(UPSOOK)方式调制;
接收端包括依次连接的手机摄像头、图像处理模块、解调器、纠错模块和解码器;
发送端的发送流程包括:首先将数据经过编码和封装后进行UPSOOK调制,即单LED的唯一编码序号,通过UPSOOK生成调制信号;然后通过光驱动器将调制信号偏置至该LED的线性工作电压区间;最后加载至该LED将电信号转换为可见光信号,完成可见光形式的数据在自由空间中广播。
接收端解调制包括:首先手机摄像头采集包含发送信号的视频帧序列,这些帧序列记录了LED的光强变化,然后通过对图像的处理识别出LED在画面中对应的像素位置,并对LED所在像素的灰度值信息进行解UPSOOK调制,由于手机摄像头帧率的不稳定性,解调后得到的数据存在较大误差,因此需要对其基于帧率抖动的UPSOOK纠错机制进行纠错,而后才能完成高效可靠的解码恢复出原始数据;所以针对帧率抖动的纠错机制对正确解码起到关键性的作用。
步骤二、发送端产生数据包,经过编码器将数据包的数据位编码,并通过数据封装模块进行封装;
数据封装格式如图3所示,发送端PC机产生数据包,数据包包括起始帧分隔符(Start Frame Delimiter,SFD)、数据位和校验位;SFD包括帧头(Frame Header,FH)和标志位合并而成;占两帧图片的间隔时间,用于界定数据位的起始位置。帧头FH为6KHz高频方波,其频率fFH足fFH>>fcamera(fFH≥20kHz)符号周期为1/fcamera;
标志位占用一位,是频率为fmark的方波信号,符号周期是1/fcamera,包括多个周期方波信号表示的逻辑1和多个周期反相方波信号表示的逻辑0组成。逻辑1和逻辑0方波信号的频率分别用fmark和fspace表示,满足:
fmark=fspace=n·fcamera(n为正整数)
相位分别用θmark和θspace表示,且满足θmark=0°,θspace=180°。
数据位使用CRC循环冗余编码,以便于接收端对解码码字的校验,进而完成了发送端的数据封装;
除帧分隔符和数据位之外,每一帧结尾还有一位偶校验位,是为了纠正由于帧率抖动造成的误码;
每个数据包的长度为N,即包含符号个数为N。
由于相机的采样信号是具备一定持续时间的矩形方波信号,这段持续时间称为曝光时长(Exposure Time),因此相机采样到的帧头符号的亮度会低于正常高电平的亮度(“全亮”状态)且高于正常低电平的亮度(“全暗”状态),称为“半亮”状态,三种状态如图4所示。
为了让人眼不能察觉频闪效应(人眼能感知的闪烁频率范围为100Hz以内),在调制方案上采用UPSOOK调制,LED调制频率为210Hz。由于UPSOOK存在相位模糊的问题,即在接收帧头之后的第二帧数据时将存在两种可能的情况,如图4所示,造成接收端无法确定采样到的“全亮”状态是逻辑1还是由于收发端相位差造成反向的逻辑0,例如图4中第三个符号采样2的值是“全亮”,第四个符号采样1的值也是“全亮”,但是这两个符号对应的逻辑值完全相反,因此需要一种策略来消除这种相位不确定性。相位不确定性问题仅在接收逻辑1或逻辑0信号时会引起误差,而对帧头信号没有影响。因此,如果根据上述提出的帧策略发送数据,能够通过检查接收帧分隔符(SFD)的标志位来检测是否存在由相位不确定性引起的误差。
对于接收机而言,只需要检查SFD的标志位就可以判断是否存在由相位不确定性引起的误差。如果SFD中的标志位是全亮(逻辑1),这意味着相位不确定性不会引入误差,但是如果第二个符号是全暗(逻辑0),这意味着后续数据帧中所有全亮(逻辑1)的符号都应该是全暗(逻辑0),所有全暗(逻辑0)符号都应该是全亮(逻辑1),这种策略可以对相位不确定性引入的误差进行校正,因此也可以看作是一种特殊的前向纠错码(Forward ErrorCorrection,FEC)。所以该方法可以消除UPSOOK中相位不确定性的问题。
步骤三、将封装好的数据包通过调制器的UPSOOK调制后,调制信号经光驱动电路驱动单LED照明模块发送至接收端。
将封装好的数据包通过UPSOOK调制程序运行在Arduino板上,由于Arduino板输出电流有限,调制信号通过为LED设计专门的驱动电路驱动LED光源发送至接收端。
步骤四、接收端的手机摄像头对单LED灯录制视频,经图像处理模块对视频的图像进行处理后,得到自适应阈值的判决门限;
首先将手机录制的视频以流式处理,即将视频流中每帧图片进行灰度化、二值化,进而实现LED灯图像的轮廓识别和像素中心定位。接收端对每个发送符号采样后,可以通过采样的亮度值来判断其逻辑值,实现解调;通过自适应阈值解调策略来消除收发端之间距离和角度差异对亮度值产生的影响,实现了三种状态的亮度值容错率更高。
具体过程为:
步骤401、图像处理模块使用了开源资源计算机视觉库(Open Source ComputerVision Library,OpenCV),将视频流中每帧图片分别进行灰度化和二值化,得到三个灰度值范围;
由于LED在发送帧头(SFD)时,收端视频流图片灰度化后LED呈现“半亮”状态,发送二值化信息码字“1”和“0”分别为全亮和全暗状态,三种状态分别对应着三个灰度值范围;如图5所示。
步骤402、针对每帧图像,利用灰度值获取该LED灯图像的轮廓识别和像素中心定位,并以像素中心为圆心,计算7×7像素点亮度值之和:
步骤403、选择M帧图像的亮度值之和,并从小到大排序得到序列Gsorted;
每个数据包的N个符号,必定包含“全暗”、“半亮”、“全亮”三种状态,因此为了计算区分这三种状态对应亮度值范围的阈值,选取了起始的M帧(M>N)图像来计算阈值,
步骤404、对序列Gsorted中的相邻两个元素作差,得到差值序列Gdiff;
其中第i个差值为:
由于相同状态对应的亮度值基本相同,不同状态对应的亮度值差别较大,因此,序列Gdiff中最大的两个值就是三种状态对应的亮度值之差,定义高阈值HT(High Threshold)为“全亮”和“半亮”状态的分界线,低阈值LT(Low Threshold)为“半亮”和“全暗”状态的分界线,计算公式如下:
步骤五、将各帧图像送入解调器,利用自适应的阈值对各帧图像进行解调,得到解调序列S,即数据的初始序列;
第k帧图像解调得到的数据Dk为:
"1"、"2"、"0"分别表示逻辑1,帧头SFD和逻辑0。
针对手机摄像头实时接收到的每帧图像,通过解调得到的数据按时间顺序存入解调序列S中,即S={D1,D2,D3,...}。
步骤六、对于解调数据序列S,利用纠错模块的前向纠错算法稳定手机摄像头的帧率,恢复信息序列;
根据对于UPSOOK调制方案而言,收发两端的同步是一个关键的问题,如果发送端的调制频率(fmark=fspace)不能满足为采样频率fs(即为手机相机录制视频帧率fcamera)的整数倍,就有可能造成误码性能的严重损伤。
由于设备参数并非完全理想,商用手机通常存在帧率抖动的问题,尽管抖动的幅度很小,但是对于同步要求高的系统而言仍然会造成误码。具体表现为:在实际系统中,某一个采样值会先跳变到“半亮”状态,之后的采样值也会与原本的采样值状态相反,从而产生误码。例如,图6展示了一种典型帧率抖动造成接收误码的波形图。从第二个符号开始因帧率抖动采样点产生偏移,到第三个符号时,采样值先从“全亮”状态跳变到“半亮”状态,然后第四个符号的采样值从“全暗”状态跳变到“全亮”状态,因此,帧率抖动会严重影响系统的误码性能。
针对这种情况设计了一种前向纠错算法,如图7所示,具体为:
步骤601、针对解调数据序列S的数据包中各相邻数据的帧头,判断第i个帧头FHi和第i+1个帧头FHi+1之间的符号个数是否小于N时,如果是,存在误码;进入步骤602;否则,对当前帧头不做处理,继续选择序列S中的下一个数据帧头重复判断;
步骤602、判断相间帧头FHi和FHi+2之间的符号个数,是否仍然小于N,如果是,说明FHi+1和FHi+2都是因误码形成的“帧头”,无法判断具体的跳变情况,则抛弃帧头为FHi+1和FHi+2的两段数据;否则,进入步骤603;
步骤603、判断FHi和FHi+2之间的符号个数是否等于N,如果是,则帧头FHi+1是由于帧率抖动而造成的误码,将其还原;否则,对当前帧头不做处理,继续选择序列S中的下一个数据帧头返回步骤601重复判断;
具体还原过程为:
首先,假设帧头FHi+1是由逻辑1跳变而成,将其还原成逻辑1,并且把后续的数据全部变成相反的逻辑值;
然后,利用标志位判断所有的数据是否满足偶校验的规则,即数据位中是否包含偶数个逻辑1,如果是,说明假设正确;否则,不满足偶校验,说明假设错误,将帧头FHi+1还原成逻辑0并将后续数据取反。
步骤七、解码器对恢复的信息序列进行解码,输出最终的解码信息;
在接收端解调制中,首先对视频流中的每帧图片灰度化、二值化处理;然后通过图片处理中的轮廓检测计算LED中心位置像素坐标;最后依据公式(1)保存每帧图片的灰度值。再根据阈值判断:当前帧图片的灰度值大于高阈值时,判定当前帧图片为“全亮”状态,解码为“1”;
在大于低阈值小于高阈值时,判定当前帧图片为“半亮”状态,解码为SFD标记;
小于低阈值时,判定当前帧图片为“全暗”状态,解码为“0”。
将“半亮”状态作为数据传输的同步位,纠正部分存在误码的初始序列,从而得到准确的码字序列。
由于接收端手机摄像头帧率抖动的原因,依据纠错机制和CRC校验即可将纠正部分存在误码的初始序列从而得到准确的码字序列。
实施例:
为了验证FEC-UPSOOK调制方案在实际中的可行性和有效性,本发明搭建了基于手机摄像头的可见光通信系统实测平台,主要包括Arduino调制开发板、LED驱动模块、商用LED、手机摄像头、收发两端PC等硬件。
发送端通过PC产生数据,编码封装后通过USB连接Arduino开发板对数据包进行调制,由于Arduino板输出电压有限,因此需要为LED设计专门的驱动电路,将调制控制信号转换为符合LED伏安特性的电信号。LED驱动主要由DD312芯片组成,该芯片是一颗低成本高性能恒定电流的LED驱动芯片;LED光源选用普通的商用白光LED。
接收端由手机摄像头和接收端PC组成。摄像头使用的是荣耀V20手机后置摄像头,利用手机自带的专业录像模式录制视频,并传送给接收端PC完成解调、纠错和解码等任务。
本发明对搭建的基于手机摄像头的可见光通信系统进行性能测试,表1为系统发送端和接收端的相关参数设定。
表1
性能测试分为两部分:第一部分主要对比了在不同传输距离下FEC-UPSOOK系统和传统UPSOOK系统的误码率,以及FEC-UPSOOK系统中使用不同功率LED时的误码率变化情况,第二部分主要对比了不同辐射角度下上述两种系统的误码率。为了保证结果的准确性,通过在同一个位置进行多次重复实验,取误码率的平均值作为当前距离或角度下的误码率。
如图8所示,展示了基于手机摄像头的可见光通信系统的误码率随传输距离变化的曲线。收发机朝向平行,发射机辐射角为0°。发送端通过LED发送10000bits二进制数据,接收端通过手机摄像头接收信号,并将图像数据传输给接收端PC进行处理。
从图中可以看出,FEC-UPSOOK通信系统误码率性能始终优于UPSOOK通信系统误码率性能。当距离小于3m时,UPSOOK通信系统误码率保持在10-1左右,这种情况下无法实现正常通信。而FEC-UPSOOK通信系统的误码率下降至10-3左右;当距离大于3m时,两系统误码率均有所上升,但FEC-UPSOOK系统误码率仍低于UPSOOK系统的误码率,说明了本发明的有效性。
如图9所示,展示了FEC-UPSOOK系统中使用不同功率LED时的误码率变化情况。从图中可以看出,在本发明中使用发射功率更大的发射机可以获得更好的误码性能。当传输距离大于3m时,使用功率为65mW的LED的通信系统误码率明显上升,当传输距离为5m时误码率接近50%。而使用功率为130mW的LED的系统误码率保持在10-2以下,且距离越大时性能提升越明显。
为了验证当收发机朝向存在一定角度时本发明是否能够正常通信,对发射机辐射角从10°到80°的系统误码率进行了测试。测试场景示意图,如图10所示,固定收发端传输距离为2m,LED平面法向量与收发机连线的夹角为辐射角θ。图11则展示了FEC-UPSOOK和UPSOOK两种通信系统误码率随θ变化的曲线。
在10°到80°的测试角度范围内,FEC-UPSOOK系统误码率保持在10-3左右,而UPSOOK系统误码率保持在10-1以上,这说明本发明提出的FEC-UPSOOK调制方案在辐射角度变化时也能有效提高误码性能,进而验证了在一些实际场景中收发机朝向存在一定角度的情况下本发明的可靠性。
Claims (5)
1.一种基于手机摄像头具有前向纠错的UPSOOK调制方法,UPSOOK即欠采样相移开关键控;其特征在于,具体步骤为:
首先,构建包括发送端和接收端的可见光通信系统模型;发送端产生数据包,经过编码器将其数据位编码后封装;
然后,将封装好的数据包通过UPSOOK调制后,调制信号经光驱动电路驱动单LED照明模块发送至接收端;
接收端的手机摄像头对单LED灯录制视频,经图像处理后,得到自适应阈值的判决门限;
具体为:
步骤401、图像处理模块将视频流中每帧图片分别进行灰度化和二值化,得到三个灰度值范围;
灰度化后LED呈现“半亮”状态,二值化信息码字“1”和“0”分别为全亮和全暗状态,三种状态分别对应着三个灰度值范围;
步骤402、针对每帧图像,利用灰度值获取该LED的像素范围,并以像素中心为圆心,计算7×7像素点亮度值之和:
步骤403、选择M帧图像的亮度值之和,并从小到大排序得到序列Gsorted;
步骤404、对序列Gsorted中的相邻两个元素作差,得到差值序列Gdiff;
其中第i个差值为:
定义高阈值HT为“全亮”和“半亮”状态的分界线,低阈值LT为“半亮”和“全暗”状态的分界线,计算公式如下:
将各帧图像送入解调器,利用自适应的阈值对各帧图像进行解调,得到解调序列S,即数据的初始序列;
所述的解调序列S具体计算为:
第k帧图像解调得到的数据Dk为:
"1"、"2"、"0"分别表示逻辑1,帧头SFD和逻辑0;
针对手机摄像头实时接收到的每帧图像,通过解调得到的数据按时间顺序存入解调序列S中,即S={D1,D2,D3,...};
对于解调数据序列S,利用纠错模块的前向纠错算法,消除手机摄像头的帧率抖动,恢复信息序列;
最后,利用解码器,对恢复的信息序列进行解码,完成信号调制。
2.如权利要求1所述的一种基于手机摄像头具有前向纠错的UPSOOK调制方法,其特征在于,所述的发送端包括依次连接的编码器、数据封装模块、调制器、光驱动器以及单LED照明模块;调制器采用UPSOOK方式调制;
接收端包括依次连接的手机摄像头、图像处理模块、解调器、纠错模块和解码器。
3.如权利要求1所述的一种基于手机摄像头具有前向纠错的UPSOOK调制方法,其特征在于,所述的数据包包括起始帧分隔符SFD和数据位,SFD包括帧头FH和标志位;
数据位使用CRC循环冗余编码;
每个数据包的长度为N,即包含符号个数为N。
4.如权利要求1所述的一种基于手机摄像头具有前向纠错的UPSOOK调制方法,其特征在于,所述的前向纠错算法具体为:
步骤601、针对解调数据序列S的数据包中各相邻数据的帧头,判断第i个帧头FHi和第i+1个帧头FHi+1之间的符号个数是否小于N时,如果是,存在误码;进入步骤602;否则,对当前帧头不做处理,继续选择序列S中的下一个数据帧头重复判断;
步骤602、判断相间帧头FHi和FHi+2之间的符号个数,是否仍然小于N;如果是,说明FHi+1和FHi+2都是因误码形成的“帧头”,无法判断具体的跳变情况,则抛弃帧头为FHi+1和FHi+2的两段数据;否则,进入步骤603;
步骤603、判断FHi和FHi+2之间的符号个数是否等于N,如果是,则帧头FHi+1是由于帧率抖动而造成的误码,将其还原;否则,对当前帧头不做处理,继续选择序列S中的下一个数据帧头返回步骤601重复判断;
具体还原过程为:
首先,假设帧头FHi+1是由逻辑1跳变而成,将其还原成逻辑1,并且把后续的数据全部变成相反的逻辑值;
然后,利用标志位判断所有的数据是否满足偶校验的规则,即数据位中是否包含偶数个逻辑1,如果是,说明假设正确;否则,不满足偶校验,说明假设错误,将帧头FHi+1还原成逻辑0并将后续数据取反。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111563954.XA CN114285472B (zh) | 2021-12-20 | 2021-12-20 | 一种基于手机摄像头具有前向纠错的upsook调制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111563954.XA CN114285472B (zh) | 2021-12-20 | 2021-12-20 | 一种基于手机摄像头具有前向纠错的upsook调制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285472A CN114285472A (zh) | 2022-04-05 |
CN114285472B true CN114285472B (zh) | 2023-05-09 |
Family
ID=80873227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111563954.XA Active CN114285472B (zh) | 2021-12-20 | 2021-12-20 | 一种基于手机摄像头具有前向纠错的upsook调制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285472B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115549774B (zh) * | 2022-12-05 | 2023-03-17 | 北京百度网讯科技有限公司 | 一种光信号的处理方法、装置、芯片、系统及介质 |
CN116865855B (zh) * | 2023-06-05 | 2024-06-11 | 苏州大学 | 基于光学相机的自适应调光接收、发射及通信系统和方法 |
CN117674999B (zh) * | 2023-12-05 | 2024-05-24 | 西安理工大学 | 光学成像通信中的广义数据调制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612617A (zh) * | 2017-09-13 | 2018-01-19 | 华南理工大学 | 一种基于通用cmos摄像头的可见光通信方法及装置 |
CN112203076A (zh) * | 2020-09-16 | 2021-01-08 | 青岛小鸟看看科技有限公司 | Vr系统中多摄像头曝光中心点的对齐方法、系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902369B2 (en) * | 2006-06-16 | 2014-12-02 | Thomson Licensing | Multichannel digital cable tuner |
US20100031130A1 (en) * | 2008-08-04 | 2010-02-04 | Legend Silicon Corp. | Forward error correction (fec) and variable length code (vlc) joint decoding |
CN102316315B (zh) * | 2010-06-29 | 2013-01-23 | 中国科学院软件研究所 | 一种实时视频传输方法 |
CN102510292B (zh) * | 2011-10-09 | 2014-04-16 | 浙江大学 | 基于dstft的navtex解调方法 |
CN103139559B (zh) * | 2011-11-30 | 2016-01-27 | 中国电信股份有限公司 | 多媒体信号传输方法和装置 |
US9148250B2 (en) * | 2012-06-30 | 2015-09-29 | Intel Corporation | Methods and arrangements for error correction in decoding data from an electromagnetic radiator |
JP2016146571A (ja) * | 2015-02-09 | 2016-08-12 | Kddi株式会社 | 誤り訂正機能検証装置 |
US11063694B2 (en) * | 2016-09-09 | 2021-07-13 | École De Technologie Superieure | Checksum-filtered decoding, checksum-aided forward error correction of data packets, forward error correction of data using bit erasure channels and sub-symbol level decoding for erroneous fountain codes |
US10225013B2 (en) * | 2016-12-01 | 2019-03-05 | Arris Enterprises Llc | Channel management to provide narrowcast data services using visible light communication |
CN109150876B (zh) * | 2018-08-20 | 2021-06-29 | 深圳市昊一源科技有限公司 | 一种视频无线传输的qos方法、装置及系统 |
CN110474684B (zh) * | 2019-09-02 | 2020-11-27 | 北京邮电大学 | 一种基于多led可见光通信系统的广义调光控制方法 |
CN113037380B (zh) * | 2021-03-23 | 2023-03-17 | 深圳市南科信息科技有限公司 | 基于多通道pam的可见光成像通信方法及系统 |
CN113315575B (zh) * | 2021-06-01 | 2022-10-28 | 天津大学 | 自适应阈值解码的可视光通信方法 |
-
2021
- 2021-12-20 CN CN202111563954.XA patent/CN114285472B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612617A (zh) * | 2017-09-13 | 2018-01-19 | 华南理工大学 | 一种基于通用cmos摄像头的可见光通信方法及装置 |
CN112203076A (zh) * | 2020-09-16 | 2021-01-08 | 青岛小鸟看看科技有限公司 | Vr系统中多摄像头曝光中心点的对齐方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114285472A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114285472B (zh) | 一种基于手机摄像头具有前向纠错的upsook调制方法 | |
Ji et al. | Vehicular visible light communications with LED taillight and rolling shutter camera | |
Boubezari et al. | Smartphone camera based visible light communication | |
Danakis et al. | Using a CMOS camera sensor for visible light communication | |
Schmid et al. | Using smartphones as continuous receivers in a visible light communication system | |
US20210126713A1 (en) | Roi-based optical wireless communication method and device | |
CN111108702B (zh) | 用于对基于光的通信报文进行解码的技术 | |
US20230199158A1 (en) | Digital signage by optical communication and supplemental downlink device and method using led illumination | |
KR101706849B1 (ko) | 가시광 통신 시스템을 이용한 데이터 송수신 방법 및 장치 | |
CN108900249B (zh) | 一种可见光通信系统中的调光装置及其调光控制方法 | |
Duquel et al. | Decoding methods in LED-to-smartphone bidirectional communication for the IoT | |
CN103701527A (zh) | 可见光信息接收方法和装置 | |
Sturniolo et al. | ROI assisted digital signal processing for rolling shutter optical camera communications | |
CN111490823A (zh) | 基于卷积神经网络的可见光成像通信解码方法 | |
Tang et al. | Sequential maximum likelihood decoding incorporating reliability determination for image sensor communication | |
Wu et al. | OnionCode: enabling multi-priority coding in LED-based optical camera communications | |
CN113037380B (zh) | 基于多通道pam的可见光成像通信方法及系统 | |
Li et al. | Design and implementation of a rolling shutter based image sensor communication system | |
CN109541544A (zh) | 一种异步可见光定位方法 | |
CN107682692A (zh) | 光成像通信的自适应检测系统及方法 | |
Sun et al. | Implementation and decoding method of OCC system based on MIMO | |
Duque | Bidirectional visible light communications for the internet of things | |
Jiang et al. | Experimental demonstration of non-line-of-sight MIMO optical camera communications with DBPWR algorithm | |
CN110838876B (zh) | 光学相机通信方法、装置及设备 | |
Liu et al. | HY-PC: Enabling consistent positioning and communication using visible light |
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 |