基于极化码的可见光通信自适应调光方法研究

2021-06-21 09:28彭小峰
激光与红外 2021年5期
关键词:码长曼彻斯特调光

罗 超,曹 阳,彭小峰

(重庆理工大学电气与电子工程学院,重庆 400054)

1 引 言

可见光通信(VLC)技术已受到越来越多的关注,因为它可以基于固有的发光二极管(LED)同时提供照明和通信。Dang等人在文献[1]中分析了LED拓扑结构对VLC系统的性能影响,给出了优化的LED拓扑结构。开/关键控(OOK)调制可以在VLC中轻松使用,因为二进制位(1/0)是通过开/关脉冲发送的。根据VLC标准[2]定义的曼彻斯特编码,为一种游程长度限制编码。由于是双极化码,可用于保持DC平衡,且0和1的数目相同,对应于50%的调光。高效传输的调光控制是VLC中的重要问题,可以采用补偿比特来控制调光。

极化码是新兴的前向纠错编码(FEC)码,其接近二进制输入离散无记忆通道(B-DMC)的香农容量。对于B-DMC,可以通过基于Bhattacharyya参数的极化码构造的组合和极化过程将信道分为无错误信道和完整的噪声信道。无错误通道用于传输消息比特,完整的噪声通道用于传输冻结比特。Wu等人在文献[3]中,提出了一种在二进制输入加性高斯白噪声(AWGN)信道中极坐标构造的高斯近似(GA)方法,它具有较低的复杂度。Zhang等人在文献[4]中提出了自由光通信(FSO)环境下的极化码改进BP译码方案,降低了译码设备性能要求。

在最近VLC系统的研究中,重点研究了使用差错控制码来增强通信性能的高效调光系统。Lee和Kwon于文献[5]中提出了一种基于带有打孔和加扰的Turbo码的调光控制方法。Kim于文献[6]中提出了一种基于低密度奇偶校验(LDPC)码的FEC,用于调整调光值,其中采用打孔和插入补偿比特,通过置信传播(BP)用于LDPC解码。Wang和Kim[7]讨论了基于极化码的调光控制,但是针对不同数值的调光控制时需更改代码长度。此外,Wang和Kim在其论文中使用的打孔方法基于原始冻结索引。极化不是最佳的。Wang和Kim在文献[8]中提出了支持50%调光的比特级软RLL解码。Wang和Liu于文献[9]中提出了一种新的极化码打孔方法,其中部分冻结位被设计为构造接收方已知的打孔位,极化码的打孔用于提高自适应码字长度的代码效率,但由于VLC存在闪烁问题,因此该打孔不适用于VLC。此外,系统在不限制打孔集范围的情况下会打孔RLL符号中的所有位。因此,我们考虑利用极化码的冻结集特性对曼彻斯特编码进行高效打孔,从而可以自适应地对曼彻斯特编码的片段进行打孔。

连续消除(SC)算法由于其复杂度低而通常被用作极化码的解码算法,但是,SC解码不适用于长度短至中等的极化码。由Tal和Vardy提出的连续消除列表(SCL)解码是一种具有多个候选对象的增强型SC,以增强解码性能。此外,循环冗余校验(CRC)可用于检查来自SCL解码的候选对象,Wang和Liu的论文仿真结果表明,目前CRC-SCL是极化码的最优秀的解码算法。Niu等人在文献[10]中比较了极化码和LDPC之间的解码复杂度,表明极化码在采用CRC-SCL解码的情况下具备中等复杂度,而采用BP解码的LDPC具有很高的复杂度。

针对以上问题,本文提出了一种通过打孔方法来实现极化码VLC系统的自适应调光方案。所提出的方案可以自适应地对曼彻斯特编码符号中的0或1片段进行打孔,与针对相同调光值的常规方案相比,其打孔的位数更少。此外,仿真结果表明所提出的方案比参考方案具有更好的误码率(BER)性能。

2 系统模型

2.1 拟定的VLC系统

图1给出了所提出的VLC系统的框图。它由图1(a)中的发射端和图1(b)中的接收端组成。发射器包括一个极化编码器,一个曼彻斯特编码器,打孔设备与补偿比特插入和OOK调制光。调光控制提供调光值d。接收器包括极化解码器,曼彻斯特解码器和OOK解调光电二极管(PD)。本文假设调光值d由上层确定,并提供给发端和接收端。

图1 系统架构模型框图

在图1(a)中,u=(u1,u2,…,un)是极化码器的输入,其中n位中的k位是消息比特,而其他(n-k)位是冻结比特。极化码器的输出为x=(x1,x2,…,xn),其中n=2N,N>0。极化码的编码率为η1=k/n。曼彻斯特编码被定义为双极化码,并且每个1位符号被编码为一个2位符号,并且0和1的数量相同。因此,x的n个1位符号被曼彻斯特编码为c的n个2位符号。曼彻斯特编码器的输出为c=(c1,c2,…,cn),曼彻斯特编码率为η2=n/l=1/2。根据调光值d,使用打孔和补偿比特在c上获得s=(s1,s2,…,sl),将s进行OOK调制并将其发送到接收器。

2.2 编码处理过程

极化码器与曼彻斯特编码器串联在一起。对于极化码的编码,将u编码为x,如下所示:

x=uG-uAGA+uAfGAf

(1)

其中,G是一个生成矩阵,下标A和Af分别表示消息集和冻结集。然后,uA和uAf分别表示通过完全无差错信道和完全有噪声信道发送的消息比特和冻结比特。可以使用GA方法通过组合和极化过程确定指标A和Af。

对于曼彻斯特编码的编码,根据VLC标准[2],将1位映射为2位,将0编码为(0,1),将1编码为(1,0)。

在图2中,示出了在曼彻斯特编码上打孔以使调光值高于50 %。为了简单起见,将冻结位预置为0(对于i∈D,ui=0)。当u中的最后f位为0时,x中的最终f位也为0,因为x=uG且G是一个较低的单矩阵矩阵。因此,对于i∈D,xi=0。在曼彻斯特编码之后,在每2位符号中有1个0和1个1。在设计的曼彻斯特编码字c中0和1的位置是已知的,打孔集定义为={λi,λ2,…,λp},这意味着对cλi进行了打孔,总打孔位数为p。如果调光值大于50%,则可以对cλi=0进行打孔,并插入值为的补偿比特,以将码字长度保持为常数l。然后,用p位补偿比特代替p位打孔部分。另一方面,如果调光值d<50%,则可以对cλi=1进行打孔,并插入补偿比特

图2 调光值高于50 %的打孔

对于给定的调光值d,可以计算出应打孔的位数p。经过曼彻斯特编码后,调光值为50%,c中有l/2个1和l/2个零。如果d>50%,则d=(l/2+p)/l,且p=⎣(d-0.5)l」,其中⎣t」表示不大于t的最大整数。类似地,当d小于50%时,p=|⎣(d-0.5)l)」|。为了确保接收端知道被打孔的p个比特,预定的冻结比特数为f=⎣p」。

其中「t⎤表示不小于t的最小整数,f≤n-k。因此,f有一个最大值,而调光也有一个最大值。例如,当极化码(1024,512)与曼彻斯特编码级联,则编码后码字长度l=2048。f的最大值为1024-512=512,然后p=f=512,d=(l/2+p)/l=75%是可实现的最大调光值。

2.3 解码处理过程

曼彻斯特解码采用比特级软曼彻斯特解码算法[11],其中输出似然比(LR)信息是极化解码器的输入。我们只讨论调光值d>50%的解码,因为调光d<50%的区别在于在补偿比特中使用0而不是1。对于曼彻斯特编码中未打孔的比特,每个比特的概率为:

(2)

其中,si为0或1。

对于索引为λi∈的打孔比特;比特概率为p(ri|si=1)=1。

因为接收器知道sλi=1是根据从cλi=0 打孔获得。这也意味着p(ri|si=0)=0) 。

然后,可以基于曼彻斯特解码算法[6]从p(ri|si)计算p(yi|xi)。通过将2位符号中的1位概率乘以2位符号概率,然后根据VLC标准[2]中的映射表将其映射到1位符号概率。然后,可以计算1位符号中的位概率。曼彻斯特编码的输出的LR,如下所示:

(3)

(4)

3 仿真与性能分析

本次实验采用MATLAB R2019b软件进行仿真,在高斯信道环境下采用OOK调制。信道带宽设置为15 kHz,信道噪声为-174 dBm/Hz。如表1所示。

表1 信道仿真条件

实验考虑25 %、45 %和55 %、75 %两组共四种调光值和(2048,1024)、(512,256)两种码长的极化码,其中极化码(2048,1024)进行55 %和75 %两种调光控制,(512,256)进行45 %和25 %两种调光控制。由于LDPC和RS码子构造原因,选择LDPC码长(2304,1152)、(576,288)和分别对应极化码(2048,1024)和(512,256),RS码长采用(64,32)。极化码采用CRC-SCL译码,LDPC采用BP译码,列表路径和迭代次数都设置为8。信噪比(SNR)定义为Eb/No(dB),分别统计了以上情况下个码字的BER性能。如表2所示。

表2 较长码长的实验参数

如表2和图3所示为码长较长以及调光值大于50 %的试验参数和仿真结果,基本仿真参数设置为:极化码码长为(n,k)=(2048,1024)、横坐标表示SNR,纵坐标表示BER。

图3 Pro PC:(n,k)=(2048,1024),调光值d=55 %(a)or 75 %(b)

由图3(a)可知,当调光值d=55%、本文所提出的极化码“Pro PC”在SNR小于6dB时,BER性能比“RS”和LDPC”略差,与“PC”较为相同,当SNR大于8dB时,“Pro PC”BER性能明显好于“PC”、“LDPC”、“RS”,并随着SNR的增大,BER性能差距也逐渐加大,在BER=10-4时,“Pro PC”分别比“PC”、“LDPC”、“RS”高出了0.15 dB、35 dB、0.6 dB的SNR增益。

由图3(b)可知,当调光值d=75%本文所提出的极化码“Pro PC”在SNR小于7 dB时,BER性能比“RS”略差,与“PC” 和LDPC”较为相同,当SNR大于9 dB时,“Pro PC”BER性能明显好于“PC”、“LDPC”、“RS”,并随着SNR的增大,BER性能差距也逐渐加大,在BER=10-4时,所提出的“Pro PC”对比“PC”、“LDPC”、“RS”的SNR增益为0.2 dB、0.5 dB、0.6 dB。

表3和图4为较短码长和调光值低于50 %的试验参数和仿真结果,基本参数设置为:当极化码码长为(n,k)=(512,256),横坐标表示SNR,纵坐标表示BER。

表3 较短码长的实验参数

由图4(a)可知,当调光值d=45%,SNR小于2dB时,各方案码子的BER性能十分接近,当SNR大于2dB时,“Pro PC”BER性能明显好于“PC”、“LDPC”、“RS”,并随着SNR的增大,BER性能差距也逐渐加大,在BER=10-4时,“Pro PC”分别比“PC”、“LDPC”、“RS”增益为0.35 dB、0.5 dB、0.8 dB。

图4 Pro PC:(n,k)=(512,256),调光值d=45 %(a)or 25 %(b)

由图4(b)可知,当调光值d=25%本文所提出的极化码“Pro PC”在SNR小于3 dB时,各码子方案BER性能十分接近,当SNR大于5 dB且时,“Pro PC”BER性能明显好于“PC”、“LDPC”、“RS”,并随着SNR的增大,BER性能差距也逐渐加大,在BER=10-4时,“Pro PC”分别比“PC”、“LDPC”、“RS”具有0.45 dB、0.65 dB、0.9 dB的SNR增益。

由以上仿真结果可看出,码长较长和较大的调光范围相较于码长较短和较小的调光范围对SNR要求更高。“RS”在低信噪比下具有比比其余三个方案较好的BER性能,但是在较高信噪比的情况对比其他码子性能较差,这是由其码子本身码长较短,在低信噪比条件下表现较好,但是在信噪比足够高时,其性能差距会被明显体现。由于“PC”、“Pro PC”采用CRC-SCL译码方式,比采用BP译码的“LDPC”具有更低的运算复杂度,所以“PC”、“Pro PC”在总体上表现出了更好的BER性能。而“Pro PC”对比“PC”限定了打孔集的选择,所需插入的补偿比特也更少,并且接收端和发送端都已知打孔集,所以所提出的“Pro PC”具有较好的BER性能。

4 结 论

调光控制能够很好改善VLC系统的闪烁问题,本文针对采取OOK调制的VLC系统,提出了通过纠错编码实现的自适应调光控制方案。该方案通过曼切斯特编码级联极化码提供给系统50 %的调光值,并通过对编码后的码子打孔来实现所需要的调光值,打孔集由部分冻结位所构,对打孔集中的“1”或者“0”打孔并插入对应的补偿比特来进行自适应的调光控制,打孔集由部分冻结位所构。所对比其他类似调光方案,本文提出的方案所需的打孔位数和补偿比特更少、BER性能更为优异。

猜你喜欢
码长曼彻斯特调光
基于信息矩阵估计的极化码参数盲识别算法
服务区LED照明调光算法探究
观电影《海边的曼彻斯特》
观电影《海边的曼彻斯特》
全海深ARV水下LED调光驱动电路设计
浅谈公路隧道照明调光方案比选
环Fq[v]/上循环码的迹码与子环子码
基于单片机的大棚自动调光设计
码长为2nps的重根自对偶负循环码
Huffman编码