LED光通信系统中的传输可靠性研究∗

2019-03-01 02:51杨宏兵冯莉芳张一治
计算机与数字工程 2019年1期
关键词:译码信源调光

杨宏兵 冯莉芳 张一治

(1.航天科工防御技术研究试验中心 北京 100854)(2.北京科技大学 北京 100083)

1 引言

随着光无线通信技术的发展,可见光通信技术受到越来越多的关注。可见光通信系统利用半导体器件LED进行数据传输,具有频谱资源丰富,传输速率快,绿色安全等优势[1]。目前,可见光通信技术已经在室内定位、车载通信、人机交互等领域实现应用[2~4]。

在数据传输的过程中,人员或者障碍物的存在和移动将对系统的信号传输产生干扰,因此,对于VLC系统而言,阴影效应是不可能避免的。当阴影效应存在时,差错控制技术是避免传输数据出错或者丢失的有效措施之一。差错控制技术有两种常见的工作方式:一种是选择性重传(Automatic repeat request,ARQ);另一种是前向纠错(Forward Error Correction,FEC)。但是,在VLC系统中,差错控制技术的两种工作方式都具有一定的不适用性。选择性重传需要利用反馈信道进行信息反馈,但是,VLC的反馈信道不仅代价高而且技术复杂。前向纠错会产生大量的冗余数据,降低系统的传输效率。1998年,Michael Luby第一次提出数字喷泉的概念[5]。2002年,Michael Luby提出了第一种实用化的喷泉码-LT码,充分实现了数字喷泉的概念[6]。2006年,Shokrollahi提出一种改进型的喷泉码-Raptor码(Raptor codes)。与LT码相比,Raptor码具有很多优点,例如线性编码(linear time encoding),线性解码(linear time decoding),复杂度低等[7]。在文献[8]中,喷泉码第一次在可见光系统中实现应用。与其他差错控制方案相比,喷泉码可以提高可见光系统的抗干扰能力和传输效率,降低系统通信协议的复杂度和包延迟。

室内VLC系统利用LED的快速闪烁进行数据传输,另一方面,VLC系统需要满足用户的照明需求,允许用户根据自身的需求,将灯光强度控制在需要的范围之内,从而保护人眼健康。调光控制技术(Dimming Control)可以帮助VLC系统实现对LED亮度的控制,从而实现调光控制。调光控制技术主要包括闪烁缓解和明暗控制两部分。在文献[9]中,作者采用一种反转信源编码(inverse source coding)方案来实现系统的调光控制,但是,该方案是在传输链路可靠的前提条件下进行,没有考虑系统的抗干扰问题。在文献[10]中,一种改进型的RM码(Modified Reed-Muller code)可以帮助VLC系统实现照明控制。RM码属于前向纠错码,也是一种线性分组码,其纠错能力有限。当VLC的传输信道被人或者物体随机阻挡时,数据大面积丢失,RM码无法实现纠错,不能保证系统数据传输的可靠性。在文献[8]中,LT码被应用在VLC系统中,而且实现了系统的调光控制。LT码产生一个编码的运行量与信源信息的长度k成对数关系,即o(clnk),c是位于0到1之间的常数。与LT码相比,Raptor码每产生一个编码的运行量为常数,即o(ln(1/ε)),该特点使Raptor码更适合应用在VLC系统中。本文中,系统的差错控制方案将采用Raptor码,同时兼顾系统的调光控制功能,也可以称为可调光差错控制方案。该方案不仅可以使系统具有较强的抗干扰能力,而且还可以提高系统的调光控制效率。

2 系统结构

本文提出的可调光差错控制方案的结构如图1所示,由编码器、调光控制器,OOK调制、调光消除器、OOK解调、译码器六部分组成。发送端主要包括编码器、调光控制器,OOK调制;接收端主要包括调光消除器、OOK解调、译码器。本文主要考虑VLC的下行信道,上行信道可以采用额外的射频技术或者红外技术搭建。

在发送端中,首先将输入的信源符号序列分成K组,即S=(s1,s2,… ,sK),每组的长度可根据系统的实际需要进行设定。然后经过编码器,按照Raptor码的编码规则进行编码,产生编码包C=(c1,c2,…),该过程持续进行,直到收到来自接收端的ACK信号,编码器才会开始处理下一组信源符号序列。然后,调光控制器会对Raptor码的编码包重新进行数字编码,输出符合调光需要的码字序列U=(u1,u2,…)。OOK调制自身不具备闪烁缓解和明暗控制的功能,如果系统不采用调光控制器,当编码包cn中含有较长连续的信息比特“0”或者“1”时,则会产生光源闪烁现象,危害人眼的健康;室内VLC系统也需要具有明暗控制功能,否则无法允许用户根据需要来控制LED光源的亮度。最后,经过OOK调制,利用驱动电路驱使LED光源产生光信号s(t),辐射到整个通信空间。

图1 可调光差错控制方案的结构

经过信道传输,在接收端,光电探测器将接收到的光信号r(t)转化为电信号,经过OOK解调,恢复出码字序列U=(u1,u2,…)。该序列中,un中不仅包括用于通信的码字,也包括用于调光控制的码字,因此需要经过调光消除器,先将非通信用途的码字消除掉,恢复出C=(c1,c2,…)。然后再按照Raptor码的译码规则进行译码,最终恢复出输入的信源符号序列S=(s1,s2,…,sK)。

光信号在传输的过程中,会受到不同的干扰,如图1所示,室内人员或者物体的移动对阻挡光信号的传输链路,造成通信中断,引起突发错误。相比于其他调制方式,例如OFDM、CSK等,OOK调制方式简单[11],容易部署实现。本文主要考虑如何增强室内VLC系统的抗干扰能力与调光控制能力,调制方式非本文的研究重点。

3 可调光差错控制方案

可调光差错控制方案主要具有两大功能:差错控制和调光控制。本章将对两大功能进行详细的阐述。

3.1 差错控制技术

可调光差错方案的差错控制通过Raptor码实现,主要包括编码和译码两个过程。

在进行编码之前,首先,将输入的信源符号序列分成K组,S=(s1,s2,…,sK)。Raptor码的编码过程如图2所示,编码包括两部分:预编码和LT码编码。在进行LT码的编码过程之前,先进行预编码,产生中间编码序列V=(v1,v2,… ,vK)。预编码采用低密度奇偶校验码(Low Density Parity Check Code,LDPC)作为编码方式。预编码会产生少量的冗余节点,如图中黑色的方框所示,详细过程可参考文献[12~14];然后信源符号和冗余节点一起进行弱化的LT编码,最终输出Raptor码的编码包。不断重复上述过程,直到来自接收端的ACK信号为止。ACK信号表示接收端已经接收到足够数量的编码符号ck并且成功进行了译码。在上述流程中,其Raptor码的度分布函数Ω采用弱化的度分布,计算公式为

图2 Raptor码的编码示意图

在接收端,译码器接收到足够长度的C=(c1,c2,…)时,开始译码。与发射端的编码过程相反,首先进行 LT 译码[6~7],然后再进行 LDPC 译码[13~14]。LT译码码过程的采用置信传播(Belief Propagation,BP)算法,通过在结点与结点之间相互传递信息进行译码。

3.2 调光控制技术

调光控制器是实现系统调光控制的关键,结构如图3所示,主要包括两部分:扰码(Scrambling Codes)和补码(Dimming Compensator)。扰码的主要作用是解决LED光源的闪烁问题;补码则是对光源的亮度进行控制,实现明暗控制功能。喷泉码的编码包中,比特“0”和“1”是随机产生的。在每一个编码包cn的中,“0”和“1”各个所占的比例也是随机不确定的,直接经过OOK调制则会产生光源闪烁现象。调光控制器会产生一个与Raptor编码包长度N相同的伪噪声序列(Pseudo-noise Sequence),然后与编码包进行异或运算。经过扰码处理之后,比特“0”和“1”的数量相等,各占总长度的50%,从而解决LED光源的闪烁问题。照明控制功能通过补码的方式实现。经过扰码处理之后,比特“0”和“1”的数量相等,需要在编码包中插入不同数量的比特“1”或“0”,才能实现任意的照明值d。照明值d的计算公式如下:

式中Nc代表需要产生的插入补码的数量,N代表单个编码包的长度。插入不同数量的补码,LED光源的点亮和熄灭次数也会产生变化,从而实现系统的明暗控制功能。

图3 调光控制器的工作原理图

4 仿真与分析

4.1 系统抗干扰性

当人员和物体的移动对可见光信号的传输链路造成阻挡时,接收端光信号的信噪比会迅速衰落。当信噪比低于13.6dB时,系统会产生大量的误码,甚至造成通信中断[15]。对信源符号序列分组长度K=500、1000、2000三种情况进行误码率仿真,仿真结果如图4所示。空圈线代表源符号序列分组长度K=500的误码率;星线代表源符号序列分组长度K=1000的误码率;倒三角线代表源符号序列分组长度K=2000的误码率。通过对比可以发现,在信道条件恶劣时,当接收端光信号的信噪比大于4dB时,系统可以实现无差错通信。如果不采用该方案,接收端光信号的信噪比大于13.6dB时,才能实现系统无差错通信。另外,在信道条件处于比较恶劣的1dB~4dB之间时,对比K=500,1000,2000三种情况可以发现,信源符号序列分组长度K越长,系统输出的误码率低,增加信源符号序列分组K的长度可以提高系统的抗干扰能力,但是,信源符号序列分组K较长时,会增加系统的译码复杂度,因此,需要在系统的抗干扰能力和译码复杂度之间寻找平衡点。

图4 可调光差错控制方案误码率仿真图

4.2 冗余率

冗余率ε(Overhead)反映接收端以一定概率恢复信源数据时,需要接收的额外编码包的程度,其计算公式为

式中L代表接收端接收到的编码包数量,当接收端接收到L编码包,接收端可以一定概率成功进行译码;K代表信源编码序列的分组数量,通过下面的公式可推出:

对在信源编码分组的长度K=500、1000、2000三种情况下对译码失败概率与冗余率的关系进行了分析与仿真,重复译码100次,保证接收端以0.99的概率成功进行译码,仿真结果如图5所示。从仿真的结果中可以看出,接收端需要在接收到一定数量的编码包后才能保证以0.99的概率成功进行译码,其数量L会比信源编码分组长度K大。接收到的编码包越多,则冗余率ε越高,译码成功的概率越大。当信源的原始长度不同时,保证接收端进行译码所需要的冗余率也不一样。K=1000,冗余率ε=0.36才能保证接收端以0.99的概率成功进行译码;K=2000时,冗余率ε=0.25;K=3000时,则需要冗余率ε=0.22。可以推断出,信源符号序列的分组长度K越大,则接收端成功译码所需要的冗余率则越低。

图5 冗余率与译码失败概率的关系

4.3 照明效率

当 K=500时,ε=0.36,K=1000时,ε=0.25,K=2000时,ε=0.22,即接收端可以0.99的概率成功译码的条件下,为了获得预定的照明值,调光控制器对每一个编码包插入额外的码字。此时,实际码率Ra(Code Rate)是一项反映调光效率的重要参数,其计算公式为

式中Nc代表实现系统照明值d而插入补码的数量,N代表单个Raptor码编码包的长度,通过该下面的公式可以计算Nc:

对实际码率Ra与系统照明值的关系进行仿真,结果如图6所示。当目标照明值是0.5时,实际码率最大,原因在于系统在进行照明控制时,首先经过扰码。经过扰码的编码包中,其比特“0”和“1”的数量相等,照明值为50%,此时系统不要添加任何用于照明功能的码字。当目标照明值不是50%时,则需要插入补码。目标照明值偏离50%越远,需要插入的补码数量越多,实际码率Ra越低。通过仿真图的纵向比较可以看出,系统需要实现的照明值d相同时,K值越大,系统的编码效率越高。仿真图中,将Raptor码与LT码和RM码的调光性能进行对比。通过横线对比,系统采用的喷泉码可以进行任意照明值的调光控制,调光控制功能更加精准;通过纵向对比,可以看出,系统采用的Raptor码进行的调光控制的效率更高。

图6 照明值与实际码率的关系

5 结语

本文提出了一种基于Raptor码的可调光差错控制方案,该方案不仅提高了系统的抗干扰性,而且提高了系统的调光控制性能。可调光差错控制方案的抗干扰性能主要依靠Raptor码实现,调光控制性能主要依靠扰码和补码来实现。通过仿真、对比与分析,本文针对VLC系统提出的方案,在误码率、冗余率以及照明效率三方面性能出色,具有一定的实用意义。

猜你喜欢
译码信源调光
河惠莞高速隧道智能调光照明节能系统升级改造方案探讨
极化码自适应信道译码算法
基于极化码的分布式多信源信道联合编码
基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法
广播无线发射台信源系统改造升级与实现
这个鲜有厂商提及的参数,是贯穿整个手机屏幕供应链的利益博弈
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
基于稀疏对称阵列的混合信源定位
基于空间差分平滑的非相关与相干信源数估计*