本发明涉及可见光定位技术领域,更具体的,涉及一种异步可见光定位方法。
背景技术:
文献[1]提出了一种多帧图像异步成像可见光定位(imagingvisiblelightpositioning,ivlp)系统模型,该模型解决了使用cmos图像传感器(cmosimagesensor,cis)异步接收led-id信息的问题。具体而言,发射机(led筒灯)循环发射由多个fsook符号组成的led-id信息,接收机(摄像头)采用异步帧等间隔过采样机制接收fsook信号。进一步地,文献[1]讨论了如果异步过采样机制中的两个参数α和β选择不当的话,在处理连续多个相同fsook符号时,由于fsook符号数量kci和帧图像数量nci之间的映射不具有唯一性,会导致从帧数nci推算fsook符号数量kci时发生判决错误,进一步影响led-id的正确恢复。更进一步地,文献[1]的公式(7)和(8)给出了在不同{α,β}组合下的nci和kci之间的映射关系式,通过分析发现,如果增大α/β,能够有效解决kci和nci之间的映射唯一性问题;然而,增加α/β必然会导致帧图像采样冗余过多,增加接收机处理图像帧的时间,同时引起led-id信息传输速率下降。为了解决这一问题,同时解决led灯具随机异步地广播led-id导致的同步问题,文献[1][2][3]提出了一种基于伪密勒编码的成像可见光定位(pseudo-miller-codedivlp,mc-ivlp)系统,其编码基本规则为:
1.每一个独一无二的信息比特集合被分配两种不同的、独一无二的频率;
2.使用预先安排的两种不同的频率交替调制连续相同的信息比特集合,形成不同的fsook符号。
上述编码机制保证了连续发送的fsook符号总是不同的,因此规避了接收机的判决模糊问题。此外,该机制提供了丰富的定时信息,有利于接收机进行信号检测。
假设led-id信息由“0”和“1”两种信息比特集合构成,根据上述伪密勒编码规则,系统需要4种不同频率的fsook符号来对“0”和“1”进行编码,此外还需要另一种频率来表示led-id信息的帧头(frameheader,fh)。此时,led灯具循环播送一帧led-id信息需要5种不同频率的fsook符号,该5种频率形成的集合可称之为同组频率集。
虽然文献[1]是基于ivlp提出的,但其mc-ivlp机制可直接应用在基于光电检测器件(photodetector,pd)的非成像可见光定位(non-imagingvisiblelightpositioning,nvlp)系统中,可称之为mc-nvlp。mc-ivlp和mc-nvlp的区别在于,前者采用cis形成一帧条纹图像,而后者采用pd并通过模数(a/d)转换器形成一个由一组连续采样值所组成的采样窗口。除此之外,mc-ivlp和mc-nvlp之间还有一个显著区别在于,由于cis自带的透镜系统具有天然的空分复用(spacedivisionmultiplexing,sdm)能力,相邻led灯具发送的光信号必然能够投影在cis成像平面上的不同区域,因此即使相邻led灯具使用同一组频率集传输led-id,mc-ivlp系统接收机也能够同时解码多路led-id,有效规避了相邻led灯具的多址接入干扰(multi-accessinterference,mai)问题;但mc-nvlp系统由于使用pd,不具备sdm能力,pd接收到的光信号是来自相邻led灯具的多路光信号的叠加,因此,要想解决nvlp系统的mai问题,相邻led灯具可采用频分复用(frequencydivisionmultiplexing,fdm)原理,使用不同的频率集去传输多路led-id信号。
通过实验验证,mc-nvlp方案是可行的,它可以有效解决mai和led-id传输的同步问题。但是该方案存在较大的缺陷,占用了较多的频率资源。假设相邻led灯具的数量为4盏,则根据伪密勒编码机制,系统需要4组不同的频率集,即共需20种不同的频率。在常用led灯具的带宽较为有限的情况下,多路fsook信号异步随机传播时有可能会引起频间干扰(inter-frequencyinterference,ifi)。为了消除ifi,必须扩大频率间隔,但这会导致系统带宽的增加,需要采用更高频率响应的led芯片,对led器件提出了更高的性能和成本要求。
进一步地,上述mc-ivlp和mc-nvlp虽然都可解决led-id的传输问题,但它们只能实现粗略定位,无法实现精确的坐标定位。vlp系统要想应用于大规模部署的实际应用场景中,必须将led-id传输技术和精确坐标定位技术结合起来,而如何将二者有机地、完美地结合起来,是vlp系统规模部署、应用推广的前提条件。
技术实现要素:
为克服现有技术占用频率资源过多、定位算法复杂度高的不足,本发明提供了一种异步可见光定位方法。
为实现以上发明目的,采用的技术方案是:
一种异步可见光定位方法,包括以下步骤:
步骤s1:建立bcam机制,采用bcam机制对led-id信息进行编码调制,由于m盏相邻led灯具采用m个互不相同的非零载波频率为fi(i=1,2,...,m)的fsook符号和m'个频率为fi'(i'=1,2,..,m')的辅助符号调制led-id信号,其中fi'≠fi和1≤m'≤m,则相邻多个led灯具可共享一个用于调制辅助符号的频率,也可使用不同的辅助符号频率,具体步骤为:
第1步:采用双相码的编码思路对二进制led-id信息进行编码,原始比特信息“0”用“01”表示,“1”用“10”表示,即将每单位比特用双比特来表示;
第2步:对编码后的二进制led-id信息加装fh码,此fh码由大于等于3个连续的比特信息“1”和单个比特信息“0”组成,由于经过伪双相编码后的id信息中连续“0”和“1”的个数不会超过两个,因此fh码“1110”在led-id信息比特序列中具有唯一性;
第3步:对编码后的二进制序列进行fsook符号和辅助符号交替调制,形成bcam调制信号;具体方法为,信息比特“1”用持续时间为tf、频率为fi的fsook符号表示,而信息比特“0”用持续时间为tf、频率为fi'的辅助符号表示;
第4步:将bcam调制信号送入led电源驱动控制器的控制端,控制led闪烁发出bcam光信号;
步骤s2:接收机采用基于虚拟窗口的等间隔过采样机制对m路led-id信息经过异步传输后,对接收机叠加而成的光信号进行采样;
步骤s3:计算采样窗口的数量nw,具体求解步骤如下:
设a/d转换器件的采样频率为fs,采样间隔时间为ts=1/fs,
则一个窗口的持续时间tw为:
tw=lts;
令发送符号的持续时间为tf、相邻窗口的间隔时间为ti和一个窗口的持续时间为tw;等间隔过采样机制的三个参数应满足如下基本条件:
tw≤ti<tf(1)
定义:
tf=αtw,ti=βtw,α,β∈r+(2)
其中r+表示正实数的集合,则式(1)可改写为:
1≤β<α(3)
则采样的窗口的数量应满足如下关系:
其中
一个采样窗口包含多路来自不同led的符号,由于fdm机制,这个窗口可以分成针对不同led的多路虚拟子窗口(virtualsub-window,vsw),在随机的采样过程中,当针对某盏led灯的vsw完全是在一个符号周期时间之内产生时,这个vsw仅包含一种单一的频率,可称之为好vsw(goodvsw,gvsw)。相反,当某个vsw跨越相邻的不同符号的边界时,该vsw总是包含两种不同的频率,可称之为坏vsw(badvsw,bvsw)。为了保证在检测过程中不丢失fsook符号并能够正确地恢复出led-id,需要在一个符号周期内和任意的采样起始时间点上保证至少产生一个gvsw,产生一个gvsw的简单方法为采用前述的过采样机制,适当延长单个符号的持续时间;
步骤s4:根据步骤s3中式(4)计算所需的采样窗口数量nw,接收机通过a/d转换器对接收信号实施时长为tw=lts的l点过采样;
步骤s5:求解nw帧采样窗口中的每一帧在第i路载波频率fi对应的接收信号传输函数的向量
设采样的第x帧窗口离散信号为wx(n),其中x∈[1,nw],n=0,1,...,l-1,则经过戈泽尔变换后,wx(n)在fi频率点上的接收信号传输函数为:
其中:(·)*表示取共轭,ki=twfi,
其中
通过式(6)和式(7),可获得nw帧窗口在第i路载波频率fi上的接收信号传输函数的向量
步骤s6:从nw帧窗口分别获得m个接收信号传输函数的向量a1,a2,...,am,求出m路接收信号传输函数的向量的平均值
步骤s7:将第i路的向量ai中的元素分别与该路对应的阈值
步骤s8:对
步骤s9:完成移位操作后,执行去冗余操作;
步骤s10:对二进制向量
步骤s11:对伪双相编码二进制数据
步骤s12:从m个向量a1,a2,...,am中,根据式(8)分别计算出各路信息的最大幅度值
步骤s13:根据步骤s11得到的m路id信息i=[ι1,i2,...,im]查询出对应的led灯具的坐标点(xi,yi),再根据步骤s12得到的
其中:(xi,yi)表示第i个led光源的平面坐标;g为权重幂因子,取正实数。
优选的,步骤s9的去冗余操作的具体过程如下:
求解符号数量kci与异步采样的窗口数量nci之间的映射关系,kci与nci之间的映射通用表达式可表示为:
其中β<2,
根据式(5)的kci与nci的映射关系,nci存在多种取值,其个数记为κci,则对每一个nci的取值,将
与现有技术相比,本发明的有益效果是:
1.每路led-id信息仅采用不超过2种频率的周期性符号,节省了频率资源;
2.led-id二进制信息采用了伪双相编码,连“0”或连“1”不超过两个,fh码在信息序列中具有唯一性,能够有效保证在多个led灯随机异步发送信号的情况下,接收机能较准确地找到fh,从而解决了多led灯信号之间同步困难的问题;
3.调制后的符号序列中,连续相同的辅助符号不超过两个;且由于添加了fh码,连续相同的fsook符号不会超过四个,能够缓解现有mc-ivlp方案中发送多个连续相同符号过采样所引起的映射唯一性或判决模糊问题;
4.相比现有的mc-ivlp方案,本发明由于采用了很少的频率,大幅降低了相邻led灯具的频间干扰(ifi)诱发的频谱幅度波动,从而使得接收信号传输函数信号的幅度波动更小,有利于实现精确定位。
5.相比现有的mc-ivlp方案,本发明可采用直流(零频)符号作为辅助符号来提升照明效率。
附图说明
图1为本发明的方法流程图。
图2为bcam机制的示例图。
图3为本发明进行窗口检测的示例图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
如图1所示,一种异步可见光定位方法,包括以下步骤:
步骤s1:建立bcam机制,采用bcam机制对led-id信息进行编码调制,由于m盏相邻led灯具采用m个互不相同的非零载波频率为fi(i=1,2,...,m)的fsook符号和m'个频率为fi'(i'=1,2,..,m')的辅助符号调制led-id信号,其中fi'≠fi和1≤m'≤m,则相邻多个led灯具可共享一个用于调制辅助符号的频率,也可使用不同的辅助符号频率,具体步骤为:
第1步:采用双相码的编码思路对二进制led-id信息进行编码,原始比特信息“0”用“01”表示,“1”用“10”表示,即将每单位比特用双比特来表示;
第2步:对编码后的二进制led-id信息加装fh码,此fh码由大于等于3个连续的比特信息“1”和单个比特信息“0”组成,由于经过伪双相编码后的id信息中连续“0”和“1”的个数不会超过两个,因此fh码“1110”在led-id信息比特序列中具有唯一性;
第3步:对编码后的二进制序列进行fsook符号和辅助符号交替调制,形成bcam调制信号;具体方法为,信息比特“1”用持续时间为tf、频率为fi的fsook符号表示,而信息比特“0”用持续时间为tf、频率为fi'的辅助符号表示;
第4步:将bcam调制信号送入led电源驱动控制器的控制端,控制led闪烁发出bcam光信号;
步骤s2:接收机采用基于虚拟窗口的等间隔过采样机制对m路led-id信息经过异步传输后,对接收机叠加而成的光信号进行采样;
步骤s3:计算采样窗口的数量nw,具体求解步骤如下:
设a/d转换器件的采样频率为fs,采样间隔时间为ts=1/fs,
则一个窗口的持续时间tw为:
tw=lts;
令发送符号的持续时间为tf、相邻窗口的间隔时间为ti和一个窗口的持续时间为tw;等间隔过采样机制的三个参数应满足如下基本条件:
tw≤ti<tf(1)
定义:
tf=αtw,ti=βtw,α,β∈r+(2)
其中r+表示正实数的集合,则式(1)可改写为:
1≤β<α(3)
则采样的窗口的数量应满足如下关系:
其中
一个采样窗口包含多路来自不同led的符号,由于fdm机制,这个窗口可以分成针对不同led的多路虚拟子窗口(virtualsub-window,vsw),在随机的采样过程中,当针对某盏led灯的vsw完全是在一个符号周期时间之内产生时,这个vsw仅包含一种单一的频率,可称之为好vsw(goodvsw,gvsw)。相反,当某个vsw跨越相邻的不同符号的边界时,该vsw总是包含两种不同的频率,可称之为坏vsw(badvsw,bvsw)。为了保证在检测过程中不丢失fsook符号并能够正确地恢复出led-id,需要在一个符号周期内和任意的采样起始时间点上保证至少产生一个gvsw,产生一个gvsw的简单方法为采用前述的过采样机制,适当延长单个符号的持续时间;
步骤s4:根据步骤s3中式(4)计算所需的采样窗口数量nw,接收机通过a/d转换器对接收信号实施时长为tw=lts的l点过采样;
步骤s5:求解nw帧采样窗口中的每一帧在第i路载波频率fi对应的接收信号传输函数的向量
设采样的第x帧窗口离散信号为wx(n),其中x∈[1,nw],n=0,1,...,l-1,则经过戈泽尔变换后,wx(n)在fi频率点上的接收信号传输函数为:
其中:(·)*表示取共轭,ki=twfi,
其中
通过式(6)和式(7),可获得nw帧窗口在第i路载波频率fi上的接收信号传输函数的向量
步骤s6:从nw帧窗口分别获得m个接收信号传输函数的向量a1,a2,...,am,求出m路接收信号传输函数的向量的平均值
步骤s7:将第i路的向量ai中的元素分别与该路对应的阈值
步骤s8:对
步骤s9:完成移位操作后,执行去冗余操作;
步骤s10:对二进制向量
步骤s11:对伪双相编码二进制数据
步骤s12:从m个向量a1,a2,...,am中,根据式(8)分别计算出各路信息的最大幅度值
步骤s13:根据步骤s11得到的m路id信息i=[ι1,i2,...,im]查询出对应的led灯具的坐标点(xi,yi),再根据步骤s12得到的
其中:(xi,yi)表示第i个led光源的平面坐标;g为权重幂因子,取正实数。
优选的,步骤s9的去冗余操作的具体过程如下:
求解符号数量kci与异步采样的窗口数量nci之间的映射关系,kci与nci之间的映射通用表达式可表示为:
其中β<2,
根据式(5)的kci与nci的映射关系,nci存在多种取值,其个数记为κci,则对每一个nci的取值,将
实施例2
图2提供了一种bcam机制的实施例。假定传输一个4位led-id信息码“0110”,通过伪双相码编码后,信息码变成“01101001”,然后对编码后的二进制led-id信息加装fh码“1110”,由于经过伪双相编码后的id信息中连续“0”和“1”的个数不会超过两个,因此fh“1110”在led-id信息中具有唯一性;最后,对二进制序列进行fsook交替调制,具体方法为信息比特“1”用持续时间为tf频率为fc的fsook符号表示,而信息比特“0”用持续时间为tf的直流(零频)符号表示。
图3展示了本发明是如何进行多窗口检测的。在bcam机制下,系统仅会出现1到4个连续相同的符号,为了保证连续相同的符号和采样窗口数量映射的唯一性,通常会增大α/β的比值。在本例中,为了避免相邻连续相同符号的采样窗口数量互相重叠,选择α=3和β=1。根据式(5),可以得到连续相同的符号数量kci与异步采样的窗口数量nci之间的映射关系为:
从上式可见,四组集合没有重叠,即满足式(5)要求的nci(kci)∩nci(kci+1)=φ,它表明所选择的{α,β}组合将使得从窗口数量nci推导出连续相同符号的数量kci具有映射唯一性。因此,本发明和mc-ivlp系统一样,也可以解决映射含糊问题,但前者所需的频率数量相比后者可以大幅减少,更适用于使用普通led器件的nvlp系统。
在该例中,假设共有两路led信号。led1采用频率为f1的载波循环播送一个3比特信息长度的led-id{101},而led2采用频率为f2的载波循环播送另一个3比特信息长度的led-id{100}。根据bcam准则,对led1和led2发送的比特信息进行编码并加装fh码后,所得到的二进制符号序列可分别表示为{1110100110}和{1110100101};又根据fsook和dc交替调制的规则,上述二进制符号序列可分别表示为{f1f1f1df1ddf1f1d}和{f2f2f2df2ddf2df2},其中fi表示载波频率,而d表示直流符号。为了防止人眼感受到led灯具频率闪烁,应将直流符号的电流强度设置成fsook符号的平均电流强度。在本例中,一帧led-id由10个fsook符号所表示。根据式(4),接收机需要在一帧led-id的传输周期内采样nw=30个窗口。然后,通过联合检测算法的第1步到第4步所使用的戈泽尔算法和阈值判决法检测出30个窗口的二进制结果。假设解码无误,则得到的两组二进制序列分别为
{(1|0)00(0|1)11111111(1|0)00(0|1)11(1|0)00000(0|1)11111}(11)
和
{11(1|0)00(0|1)11(1|0)00000(0|1)11(1|0)00(0|1)111111111}(12)
其中(a|b),a,b∈{0,1}表示bvsw帧,它可能解码出两种不同的比特值。
根据前述的“首尾相同符号移位操作”方法,式(11)和式(12)序列经移位操作后分别变为:
{00(0|1)11111111(1|0)00(0|1)11(1|0)00000(0|1)111111}(13)
和
{00(0|1)11(1|0)00000(0|1)11(1|0)00(0|1)111111111111}(14)
紧接着,根据式(10)映射规则对式(13)、式(14)的两组二进制序列进行冗余处理,具体为:遇到nci个连续比特符号“0”或“1”合并成kci个比特符号“0”和“1”。
根据式(10)的冗余处理准则,式(13)、式(14)两组序列去除冗余后的序列分别为{0111010011}和{0100101111}。由于led-id信息是循环播放的,将去除冗余后的序列进行重复编码,得到的两组重复编码序列分别为{01110100110111010011}和{01001011110100101111}。检测出两组序列的fh码“1110”的位置后,即可根据fh的位置和信息位的长度恢复出伪双相编码信息码,分别为{100110}和{100101},最后根据双相码编码规则,解码出原始信息码分别为{101}和{100}。
获取两路原始信息码{101}和{100}后,根据数据库查询对应led灯具的坐标,分别记为(x0,y0)和(x1,y1);同时根据联合检测算法的步骤2获得的两路nw=30维的向量a1,a2,由式(8)可计算出两路向量a1,a2的最大值分别为
以上实施例可以扩展至同时检测三路和更多路的异步传输叠加的bcam信号,并利用更多路bcam信号的接收信号传输函数的幅度实施更加精确的定位。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
参考文献
[1]z.p.li,m.jiang,x.n.zhang,x.y.chen,andw.k.hou,“space-time-multiplexedmulti-imagevisiblelightpositioningsystemexploitingpseudo-miller-codingforsmartphones,”ieeetransactionsonwirelesscommunications,vol.16,no.12,pp.8261–8274,dec.2017.
[2]z.p.li,m.jiang,x.n.zhang,x.y.chen,andw.k.hou,“miller-codedasynchronousvisiblelightpositioningsystemforsmartphones,”in2017ieee85thvehiculartechnologyconference(vtcspring),jun.2017,pp.1–6.
[3]李正鹏,江明,“一种基于cmos图像传感器传输并检测led信息的方法,”中国发明专利:201510809216.7[p],2015年11月.
[4]g.goertzel,“analgorithmfortheevaluationoffinitetrigonometryseries,”americanmathmonthly,vol.65,no.1,pp.34-35,1958.