面向物联网的可见光近场通信方法研究*

2019-07-08 09:10邱杰凡李成林陈立建毛科技
传感技术学报 2019年6期
关键词:误码率链路脉冲

邱杰凡,李成林,陈立建,毛科技

(浙江工业大学计算机科学与技术学院,杭州 310023)

随着物联网应用的不断发展,大量物联网边缘设备作为感知端,需要不断获取物理世界的数据。这些数据具有很大冗余性,并且传输这些数据需要占用大量的带宽资源。为了减轻上层云端的计算负担,同时减少冗余数据带来的传输成本,因此,当前的研究希望边缘设备在本地具有一定的数据交换和计算处理的能力[1-2]。当前,近场通信作为一种可以高效地建立局部数据传输通道的方法,得益于其较低的功耗正在被越来越多的物联网边缘设备所采用。

现有的近场通信方法通常采用电磁波广播传输方式,信号在传输过程中容易被截获窃听,并不能很好地满足人们对安全性的需求。并且,未来随着更多的物联网设备并发地接入,广播传输也会带来带宽资源紧张的问题,进一步影响设备接入成功率和通信质量。为此,寻求一种新的传输方式,作为当前电磁波传输方式的补充是很有意义的[3]。当前的研究表明可见光通信VLC(Visible Light Communication)不同于电磁波广播传输,可以实现指向性传输,不易被截取窃听,无疑能为提高近场通信的安全性提供一种可行的解决方案。

当前使用可见光通信需要专门的接入设备,这限制了可见光通信在物联网边缘设备中的大规模应用。例如,Fan L等人将可见光通信应用于门禁系统,为此需要对现有门禁系统进行改进,并增加了专门的可见光通信电路。该电路包括了光电二极管、放大器、比较器和专用的MCU[4]。Wang Y等人设计了基于可见光RGB-LED的双向室内通信系统,为了实现高速的传输速率和解决多信道传输问题,该双向通信系统中采用了RGB发光二极管、低通滤波器、电子放大器、光电二极管来提高系统性能[5]。此外,可见光通信技术容易受到环境光噪声的影响,Adiono T等人提出了降低室内环境中的光噪声的解决方案,此方案需要在前端接收器中增加模拟滤波器[6]。这些附加的设备或硬件优化,需要在硬件层面对现有物联网边缘设备进行修改,无疑会增加设备的硬件成本。

另一方面,随着手机、平板电脑等物联网边缘移动设备普及率越来越高,将大大丰富了物联网的应用场景。这些量产型(off the shelf)移动设备通常集成了多种传感器模块,这些传感器相互之间协助工作能够扩展移动设备本身的功能[7-10]。例如,当前已有研究者使用移动设备中内置的声音传感器实现了肺活量的检测[7]以及通过加速度传感器进行心率检测[8]。其中,移动设备上的可见光传感器模块具备感知可见光的能力,且移动设备的显示屏以及用于拍照的闪光灯可以作为可见光源。这些外部条件使得移动设备具备了潜在进行可见光通信的能力。

通过查阅相关参考文献,我们尚未发现一种针对量产型移动设备传感器的近场通信方法。为此,我们根据近场通信的特点,提出了适用于量产型移动设备的可见光近场通信方法。该方法利用移动设备上现有的一系列通用模块,无需额外的专用设备及元件,也无需对现有移动设备在硬件层面进行修改,实现了基于可见光的近场通信。

与现有的可见光通信系统相比,本文中的可见光通信系统采用了混合双工通信。根据现有移动设备构造特点在上、下行链路中需要采用不同的传感器模块和光源模块。如图1所示,上行链路采用闪光灯与环境光传感器作为信号发射器和信号接收器,下行链路采用屏幕与摄像头作为信号发射器和信号接收器。然而,这些量产型移动设备上的通用模块由于受到传感性能以及能耗的限制并不能很好地满足可见光通信需求,为此本文将从提高传输速率以及降低通信能量开销两个方面对上、下行链路展开讨论。

图1 硬件交互图

在上行链路中,闪光灯作为光源发射信号,位于另一个移动设备上的环境光传感器模块作为接收器通过感知光源变化接收信号。由于目前移动设备上采用的闪光灯和环境光传感器模块并不是专门为可见光通信设计的,现有的无线电通信调制方法如脉冲宽度调制(PWM)和脉冲间隔调制(PIM)由于传输速率低且耗能较高,并非最佳的调制方法。为此我们对现有编码调制方法进行优化,提出了适用于移动设备的可见光通信调制方法——状态转化调制STM(State Transaction Modulation),STM调制将数据分组表示,并利用低脉冲表示数据,在比特序列出现重复时,利用标记符号进行压缩表示。相比较于现有的可见光编码调制,STM调制在保证误码率的同时,可以有效提高数据传输速率,并降低传输能耗。

在下行链路中,由于需要承担的传输数据量较大,可以将数据转化为二维码显示在移动设备屏幕上[11],由另一部移动设备的摄像头传感器模块作为接收器,通过扫描二维码,完成信息交互。在这一过程中,由于需要将高能耗的移动设备屏幕作为发射器,必须在数据传输过程中考虑能耗问题。为此,我们还设计了一种反馈式的屏幕亮度控制方法,在保证数据传输速率的前提下,通过调节屏幕亮度,尽量降低发射端的能耗。

在该系统中,受到的环境光干扰主要来自于太阳光以及白炽灯光源等。这些光源属于非调制光源,对于这些非调制光源,环境光传感器在光信息接收过程中表现为一个恒定的光功率输入[12]。并且该系统应用在近场通信中,通信距离较近,因此即使移动设备不具备排除环境光干扰的专用电路,依旧可以实现光编码的采集。

最终,我们使用现有的Android移动设备实现了一个基于可见光的近场混合双工通信系统。通过该系统,我们从传输速率,传输环境,以及能耗三个方面,验证了可见光通信在量产型移动设备上应用的可行性。

1 相关工作

日本是最早提出可见光通信概念并进行研究的国家[13]。2000年,Tanka等人提出将提供照明的白光LED用于室内无线链路,验证了采用白光LED同时兼具照明和通信功能的可行性[13-14]。除了室内通信以外,Nakajima M等人设计了帮助视觉障碍者识别位置的室内导航系统[15],移动设备可通过可见光通信接收LED传来的信息,经过计算定位并路径优化后将结果反馈到耳机中引导行人,在可见光通信领域,我们更加关注信息交互的方式与过程的研究。Fan L等人利用手机闪光灯与门禁交互完成身份识别[4],手机在该可见光通信系统中仅充当发射端的角色,负责信息的编码与发送,由光接收机参与光信息的接收与解码。Das S等人采用LED作为发送端来发送光信息并利用光电二极管作为接收端来检测接收光信息,在arduino上实现了点对点的通信[16]。同样的,CMOS传感器也具有将光信号接收并转换成电信号的功能,因此许多研究者开始研究摄像头在可见光通信中的作用。利用CMOS传感器的卷帘快门特性来捕获光信息是目前可见光通信研究的热点之一。Nguyen T等人介绍了使用LED和卷帘快门相机作为发射器和接收器的光学相机通信[17]。但由于移动设备闪光灯闪烁频率较低,与卷帘快门扫描速度不匹配,因此我们的系统无法采用该方法进行光信号的采集。

目前在可见光通信中主要采用强度调制/直接检测(IM/DD)方式来进行通信[18],主要的调制策略有以下几种:Kahn等人提出的开关键控调制(OOK)[19],以高脉冲表示码元“1”,低脉冲表示码元“0”,实现起来较为简单,但抗干扰能力较弱;张建昆等人提出的以脉冲宽度调制(PWM)波形作为载波的编码调制策略[20],使用高脉冲携带数据,以不同的脉宽表示不同的码元,PWM调制具有较好的抗干扰能力,但带宽需求大且不能有效降低高脉冲持续时间;与PWM调制相对应还有脉冲间隔调制(PIM),与PWM调制不同的是PIM调制利用低脉冲携带数据,以不同的脉冲间隔大小来表示不同的码元;之后在PIM调制的基础上改进提出了数字脉冲间隔调制(DPIM),并且Ghassemlooy等人首次在光通信领域中运用到DPIM调制[21]。随后Aldibbiat等人在 DPIM 的基础上提出了双头脉冲间隔调制(DH-PIM)[22]。

2 STM调制原理

我们首先在量产型移动设备上测试了当前适用于可见光的两种信号调制:脉冲间隔调制(PIM)和脉冲宽度调制(PWM)。

在上述两种调制方法中均存在不足,传输速率低且能耗较大。在PIM调制的基础上,有一种改进过后的调制方法:双头脉冲间隔调制DH-PIM(Dual-Header Pulse Interval Modulation)。但DH-PIM无法对二进制比特序列进行压缩。

当一个二进制比特序列中有多次重复时,为了提高传输效率以及减少脉冲量保证低功耗,借鉴DH-PIM调制的思想,本文提出了一种适用于量产型移动设备近场可见光通信的状态转化调制(STM)。

其核心思想是针对状态发生转化(出现多次重复)的数据使用特殊的高脉冲标记出被重复对象和重复次数,没有发生转化(没有出现多次重复)则继续使用DH-PIM进行调制。当调制阶数M=4时,将比特序列分为4位一组,单位脉冲宽度取作1tb,设一个分组中的比特序列表示的数值为n,在表示数据之前先添加1tb低脉冲作为保护时隙,当n<8时,采用n个单位脉冲宽度的低脉冲来表示数据,之后增加1tb高脉冲来进行分隔。为了避免每4位比特序列对应的二进制数过大而导致需要用很长的一段低脉冲来调制数据,当n>8时,表示数据的低脉冲的单位脉冲宽度数量则是该分组内四位二进制数按位取反后的值,并且之后采用2tb高脉冲来进行分隔。若出现多次重复时,STM调制利用特殊的脉冲表示出连续重复数据,从而有效缩短编码长度以及减少高脉冲的持续时间。

图2 STM调制状态图

在STM调制中分为三种状态,即开始状态,传输状态和结束状态。如图2所示,当环境光传感器还没有感知到起始信号时为开始状态,准备接收高脉冲信号。根据传输的数据,可以将传输状态进一步划分为非重复状态,单组内重复状态以及多组重复状态。数据传输需要在这三种状态中切换,且根据不同的状态,其编码方式存在差异。当数据传输结束时,进入结束状态,环境光传感器等待下一次数据传输。

当被调制数据出现多次重复时,需要标记出被重复对象所占的位数,以及重复的次数,这样就可以利用更少的脉冲数来表示数据,采用2tb高脉冲作为重复标记位来标记连续重复的数据。之后的低脉冲所占单位脉冲宽度的数量表示被重复对象的位数,然后采用1tb高脉冲作为分隔符,后一段低脉冲所占单位脉冲宽度的数量表示被重复对象的重复次数。例如,表示“0100重复3次”的STM调制图如图3所示。

我们发现,如果被重复对象的重复次数太大,会导致表示重复次数的单位低脉冲数量过多,传输速率下降,甚至上行链路接收端无法判断是否传输结束。因此,在被重复对象的重复次数大于9的时候,我们在表示重复次数的低脉冲段中增加2tb高脉冲来分隔出重复次数的十位和个位数字。如图4所示,当被重复对象“0010”重复12次时,分隔出两段低脉冲时隙来分别表示十位数字“1”和个位数字“2”。

图3 STM调制

图4 重复次数较多的STM调制

在STM调制中,如果没有出现重复的情况,STM调制与DH-PIM调制方式是一致的,只有传输的序列中出现多次重复才会采用压缩的调制方式,所以STM调制实际上是一种可压缩的DH-PIM调制方法。

由于两个先后出现的连续重复字符串序列可能存在互相交集的情况,那么先进行传输的字符串序列已经表达过后传输字符串序列的交集部分,这部分内容不需要再次进行传输。在处理后出现的重复字符串序列时,交集部分需要STM调制自动进行忽略。忽略之后,与之相对应的,后传输字符串的重复标志位也需要被设置到第一个未被交集覆盖的重复字符串上。例如,当发送序列为“001001001001001000110001100011”时,第一组序列为“0010”,取其中后三位“010”重复四次,后一个分组是“0011”,取前面的五位“00011”重复两次。

3 上行链路:状态转化调制

STM调制实质上是一种压缩的DH-PIM调制方法,因此在使用STM调制之前,需要匹配所调制数据的最长连续重复串及其子串。根据匹配的结果进行编码并发送,接收后进行逆运算解码完成上行链路的数据传输过程。

3.1 STM的编码

数据一般是按帧进行编码并传输的。设一帧的数据长度为T,则最长重复串不会超过帧长度的一半T/2。为了找到一帧中所有的数据连续重复串,我们设计了查找重复数据的算法。在该算法中,输入为长度T的数据a,输出一个大小为T×T的连续字符串矩阵ReMatrix。该矩阵的行表示当前原始字符串的起始位置,列表示当前原始字符串的结束位置,矩阵的元素是当前原始字符串被重复的次数。由于字符串开始位置不能大于结束位置,因此 ReMatrix 至少有一半元素为0。

根据ReMatrix矩阵,可以判断所有重复字符串的开始位置,重复位数以及重复次数。并把这些信息分别存到Place,Digit以及Frequency集合中。据此我们给出STM调制算法,算法的输入为:开始位置Place,重复位数Digit,重复次数Frequency以及被调制数据a,算法的输出为电平时长列表TimeSeri,列表元素是由二进制序列分组后对应的十进制数集合组成。

STM调制算法:

输入:开始位置Place,重复位数Digit,重复次数Frequency,被调制数据a

输出:电平时长列表TimeSeri

函数介绍:根据调制阶数M=4以及ReMatrix矩阵提供的所有重复字符串的开始位置,重复位数以及重复次数将被调制数据a进行分组,并将每个分组转化成对应的十进制数。

if(Place.size()==0){

Place.add(-1);//表示该序列没有重复出现

}

for(int i=0,j=0;i

if(i!=Place.get(j)){//当前位置没有出现重复

if(i+4<=send_data.length()){//剩下不少于4位

group.add(send_data.substring(i,i+4));//将4位一组加到分组集合中

isRepeat.add(0);//并标记为没有重复

}

else if(send_data.length()-i>0){//剩下不足4位

group.add(send_data.substring(i,send_data.length()));//则直接分为一组

isRepeat.add(0);//并标记为没有重复

}

i+=4;//i移到4位后

}

else if(i==Place.get(j)){

isRepeat.add(1);//标记为有重复

group.add("10000");//标记为重复分组

i=i+Digit.get(j)*Frequency.get(j);//i移到第j个重复序列表示完以后

if(j+1

j++;//下一次重复

}

}

for(int j=0;j

num=Integer.valueOf(group.get(j),2);//将分组中的二进制序列转换为十进制数

decimal.add(num);//将十进制数存进集合

}

之后可根据该十进制数集合来控制高低脉冲的脉宽,并对数据进行编码。PIM调制和PWM调制只在一种状态下存储数据,另外一种状态是用来间隔相邻两个数据的。但在DH-PIM调制中,由于引入了分组机制,除去了冗余的间隔位。在STM调制中又对有重复的序列进行了压缩。这样一来,与PIM调制和PWM调制相比,在相同的脉冲持续时间内传输更长的二进制比特序列,STM调制明显减少了数据传输所需要的时间且耗费更少的高脉冲。为了验证这一结论,本文进行了实验,结果如图5和图6所示。

图5 四种调制的吞吐量比较

图6 四种调制的高脉冲数量比较

3.2 STM的解码

在判断高脉冲下降沿和上升沿的时候,我们采用的是阈值判别法,即:

Data(i-1)-Data(i)>εData(i)-Data(i-1)>ε

(1)

式(1)中Data表示接收到的光照强度值序列,i表示两个序列中的第i个采样点,Data(i)表示第i个点的光照强度值。ε表示一个判别阈值,本系统中ε=1 000。然后根据高、低脉冲的宽度还原出对应的二进制比特序列。

在判断高脉冲上下沿时,需要设置两个标识符flag_up和flag_down,当Data(i)-Data(i-1)>2ε时,flag_up置为真,表示当前状态为第一个高脉冲的上升沿,此时记录当前的up=i。之后遇到第一个 Data(i-1)-Data(i)>ε,表示高脉冲上升沿结束,开始进入下降沿状态。此时记录当前的down=i。同样的,当再遇到Data(i)-Data(i-1)>ε时,flag_down置为真,表示当前状态为高脉冲的上升沿,此时更新记录下up=i。

(2)

式(2)中duration_up高脉冲段中占的单位脉冲宽度数量。Time表示接收到光照强度值的时间戳序列,down表示下降沿的起始点, up表示上升沿的结束点,unit表示发送数据的单位脉冲宽度(只有发送端和接收端的单位脉冲宽度一致才能成功解码)。使用同样的方法,我们可以获得低脉冲段中占的单位脉冲宽度数量durationdown。这里的durationup和durationdown正是本文还原二进制比特序列的基础。

在STM调制过程中。因为STM调制采用分组的机制,所以可以先将所有脉冲段所占的单位脉冲宽度数量放入一个数组中,然后根据分组机制即可对该数组中的数据进行逆运算解码。由于数组里面的数据是十进制数据,除去一些特定特殊的标记位后,把表示数据部分的十进制数转换为二进制比特序列。当获得二进制比特序列以后,将二进制比特序列按照一定的长度分割,查找存有符号与比特序列映射关系的码表,映射成相应的字符,还原信息。

图7 基于QR码识别的可见光反向通信

4 下行链路:反馈式屏幕亮度控制方法

在可见光通信系统中,一般都是采用单向的信息传输。而已经实现的可见光双向通信系统中,通常使用可见光脉冲作为上行链路,IR或者Wi-Fi技术作为下行链路实现数据的流通。基于可见光近场通信,本文采取扫描二维码的方式实现下行链路的数据传输,如图7所示。在最近的从屏幕到摄像头的通信技术研究中,已经实现了将信息编码隐藏在屏幕内容中,从而可以在不影响屏幕正常使用的情况下进行通信[23]。

移动设备的功耗会随屏幕亮度增加而增大,这是由液晶面板的显示机理所决定的,背光模块决定了屏幕的功耗,而背光模块的耗电量取决于屏幕亮度。所以亮度增大,功耗也随之增加[24]。在市场上其他的一些应用生成二维码提供扫描的时候,由于缺乏反馈机制,无法将移动设备的屏幕调至适合的亮度,大部分应用直接将屏幕调至最亮的状态来保证扫码的成功率,但这样会大幅增加移动设备的功耗。针对能耗问题,本文设计了一种自适应调节屏幕亮度的扫码机制,下行链路接收端在扫描二维码时可以根据扫码情况动态调节下行链路发送端的屏幕亮度到达满足当前通信环境的最佳屏幕亮度。这样便可无需使屏幕一直保持在最亮状态,从而有效地降低了移动设备的功耗并保证了二维码识别率,如图8所示。

图8 扫码自适应流程图

5 实验与实验结果分析

5.1 实验场景

基于Android操作系统,我们设计了相应的近场可见光系统。在该系统中,选用的移动设备需要具备闪光灯、摄像头、环境光传感器等硬件设备。为此我们使用了两台量产型移动设备:小米XiaoMi Redmi 3X,Android版本6.0.1和中兴ZTE BA601,Android版本5.1进行实验。

首先,将一台移动设备设置为上行链路发送端,并设定调制方式和单位脉冲宽度,根据设定的调制方式来编码用户输入的信息,然后通过闪光灯发送信息。将另一台移动设备设置为上行链路接收端,选择与上行链路发送端相同的调制方式和单位脉冲宽度,然后通过移动设备自带的环境光传感器接收光线强度值的变化来解码信息,之后根据要发送的信息绘制成二维码并显示在屏幕上,上行链路发送端通过摄像头扫描识别二维码来得到反馈信息。之后,上行链路发送端继续发送用户输入的信息,实现可见光的双向通信。完成一次双向通信大约需要8 s左右。如图9所示,图9(a)为可见光发送数据,使用可见光通信作为上行链路。图9(b)为QR码识别,作为双向可见光通信的下行链路。由于上、下行链路采用不同的通信方式,我们需要将上、下行链路分开进行实验。

图9 可见光双向通信模块

5.2 上行链路:脉冲宽度的影响

在环境光传感器精度很高,延迟很低的条件下,上行链路接收端可以根据接收到的起始符来判断上行链路发送端采用的单位脉冲宽度。但由于量产型移动设备中的环境光传感器被优化的重点是动态范围,而不是响应速度[25]。所以为了避免误差,在实验中我们需要在上行链路接收端也设置单位脉冲宽度的大小。

本文在不同的单位脉冲宽度上对四种调制检测了误码率,为了避免其他光线对可见光近场通信产生影响,我们把实验设置在黑暗条件下,实验结果如图10所示。

图10 不同调制下脉冲宽度对误码率的影响

从图10中可以看出,在单位脉冲宽度大于等于65 ms时,四种调制方法的误码率相差不大,且可以保证数据的正确传输。由于PIM调制是由无脉冲状态携带数据信息,起分隔作用的光脉冲时间间隔可取最小可分辨的固定值。不同大小的脉宽携带不同的数据,1tb表示比特数据“0”,3tb表示比特数据“1”。当单位脉冲宽度较小时,传输比特数据“0”表示的1tb无脉冲状态的脉宽在上行链路接收端有可能检测不到,导致出现漏码。但在PWM调制中,它是由光脉冲状态携带数据信息,起分隔作用的无脉冲时间间隔可取最小可分辨的固定值。由于量产型移动设备上的环境光传感器对光脉冲的检测比对无脉冲的检测敏感,所以在本实验设置的条件中基本上不会出现检测不到光脉冲的情况。导致PWM调制的误码率最高在0.5左右,而PIM调制由于出现漏码情况,误码率最高可接近于1。在PWM和PIM调制中,可将上行链路接收端检测到的时间间隔进行预处理,大于2tb的解码为“1”,小于2tb的解码为“0”,在一定程度上提高了解码的准确率。而在DH-PIM和STM调制中,时隙的大小不止是1tb或3tb,是根据四位码表示的数字大小来调制出不同大小的时隙,无法对检测到的时隙进行预处理,导致它们的误码率最高也接近于1。

图11 不同调制下通信距离对误码率的影响

5.3 上/下行链路:通信距离的影响

在上行链路中,为了探究通信距离对可见光通信误码率的影响,本文在黑暗条件下检测了不同通信距离下四种调制的误码率。实验结果如图11所示。从图11中可看出,当通信距离小于等于14 cm时,四种调制均可实现无误传输,当超过14 cm后,DH-PIM和STM两种调制开始出现误码的情况,这同样是由DH-PIM和STM两种调制无法对检测到的时隙进行预处理导致的,在传输距离超过14 cm时光照强度较低,检测到的时隙不精准,导致解码结果出现误码情况。当通信距离超过24 cm时,由于可见光的快速衰减的特性,上行链路发送端的光信号迅速衰减,上行链路接收端的环境光传感器接收到的信号微弱,四种调制的误码率迅速升高。

在下行链路中,扫码所用的时间与距离有关,当距离小于5 cm的时候,由于距离太近,摄像头无法扫描到完整的二维码。当距离大于14 cm时,由于随着距离增大,上行链路接收端接收到的光照强度逐渐变弱,从而导致解码出现误码情况。实验结果如图12所示。

图12 传输距离对扫码响应时间的影响

5.4 上/下行链路:设备间夹角的影响

在上行链路中,为了探究设备间夹角对可见光通信误码率的影响,在设备间通信距离为5 cm的条件下,设备间夹角从0°不断调大并检测误码率。实验结果如图13所示。实验结果表明,在设备间夹角为60°之前,近距离可见光传输的误码率很低,四种调制结果相似。在设备间夹角超过60°时,由于设备间夹角过大,导致上行链路接收端检测的光线强度太弱,几乎检测不到光照强度的变化,导致通信中断,误码率大幅上升。四种调制的可见光通信误码率受角度影响基本一致。

图13 不同调制下设备间夹角对误码率的影响

在下行链路中,扫码的响应时间与设备间夹角也有关系,如图14所示。通信距离设置为10 cm时,随着设备间夹角的增大,扫码响应时间也逐渐增加,由于本实验中采用的量产型移动设备的摄像头性能较低,当设备间夹角大于15°时,会出现无法识读二维码的情况。

图14 设备间夹角对扫码响应时间的影响

5.5 能耗问题

采用反馈式亮度控制方法和直接将屏幕调至最亮的能耗比较如图15所示。当屏幕调至最亮状态时,累积用电量与时间呈线性关系。采用反馈式亮度控制方法时,由于屏幕是根据接收到的反馈信息控制亮度逐渐增亮的,屏幕并不是一直保持在最亮状态,因此采用反馈式亮度控制方法能有效降低能耗。

图15 反馈式屏幕亮度控制方法与屏幕调至 最亮状态的耗电量比较

6 总结

本文将可见光通信应用于现有量产型移动设备,并提出了一种基于可见光的近场混合通信方法。即在上下行链路中采用不同的传感器模块。针对上行链路,我们将闪光灯和环境光传感器作为信号发射/接收器,并在现有可见光DH-PIM调制的基础上提出了状态转化调制(STM)。实验结果表明STM调制与PIM调制和PWM调制相比,STM调制在吞吐率和能耗上占较大优势。在传输序列有重复的情况下,STM调制的吞吐率亦优于DH-PIM调制。针对下行链路,我们通过扫描二维码传输信息,并提出了一种反馈式屏幕亮度控制方法,有效降低了屏幕的能量开销。最终,我们基于量产的Android手机,设计了相应的近场通信系统,并在真实环境中验证了本文所设计的通信系统的可行性。

在未来的工作中,我们将继续对调制编码展开研究,并引入合适的纠错方法,进一步降低环境背景光噪声带来的影响,提高传输速率。

猜你喜欢
误码率链路脉冲
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
面向通信系统的误码率计算方法
天空地一体化网络多中继链路自适应调度技术
基于星间链路的导航卫星时间自主恢复策略
上下解反向的脉冲微分包含解的存在性
一种快速同步统计高阶调制下PN 码误码率的方法∗
浅谈数字通信系统中误码率的估计方法
黄芩苷脉冲片的制备
基于3G的VPDN技术在高速公路备份链路中的应用
关于OTN纠错前误码率随机波动问题的分析