基于LDPC码的可见光通信方法技术领域
本发明涉及一种通信方法,尤其涉及一种可见光通信方法。
背景技术
白光LED具有响应灵敏度高、调制性能好等优点,其能够作为发射器将信号信息调
制到可见光上,因此可以被用于进行高速的数据通信,可见光通信正是在白光LED技术
上发展起来的一种新型的无线接入技术。由于在可见光通信的过程中存在各种干扰,为了
保证系统的可靠性,信道编码技术在可见光通信中的应用必不可少。
目前,在可见光通信系统中主要有LDPC码的对数域置信传播译码算法(LLRBP)
及最小和译码算法
LDPC码的对数域置信传播算法译码算法误码性能较好,但其运算量过大,且乘法及
除法次数较多,当码长很长时,计算量很大,因此这种算法对硬件要求较高,不利于硬件
实现。
LDPC码的最小和译码算法仅有线性运算,运算量方面较经典的对数域BP译码算法
而言得到了有效降低,有利于硬件实现,但其译码性能严重下降,不能满足对误码性能要
求较高的通信系统使用。
发明内容
本发明为了解决现有的基于LDPC码可见光通信方法存在的计算量过大以及误码性
能较差的问题。
基于LDPC码的可见光通信方法,包括以下步骤:
步骤1、建立可见光通信系统模型:
Y
(
t
)
=
T
X
(
t
)
⊗
h
(
t
)
+
N
(
t
)
-
-
-
(
1
)
]]>
式中,t表示时间,Y(t)为接收信号的幅度值,T为光电转换系数,X(t)为发送信号的光
功率,h(t)为可见光信道的冲击响应,N(t)为加性高斯白噪声;
步骤2、编码:
采用有限域乘法群的思想来构造不规则QC-LDPC码,即通过在校验矩阵中放置具有
准双对角线结构的循环矩阵来构造,具体构造如下:
步骤2.1、首先构造索引矩阵G,设索引矩阵G的维数为k×l,元素来自GF(M)域(M
阶有限域),索引矩阵G的第(α,β)个元素Gα,β=aβbα,0≤α≤k,0≤β≤l,a,b均为素
数,索引矩阵G可表示为:
G
=
1
a
...
a
1
-
1
b
a
b
...
a
1
-
1
b
.
.
.
b
k
-
1
ab
k
-
1
...
a
l
-
1
b
k
-
1
-
-
-
(
2
)
]]>
然后以G中元素值作为校验矩阵H中子矩阵的循环位数,构造校验矩阵H,设单位
阵I和零矩阵的维数为q,H的维数为kq×lq,令M=kq,N=lq,l'=l-k=(N-M)/q;
![]()
Ia表示把单位阵I右循环移位a位,Ib表示把单位阵I右循环移位b位,以此类推I(·)
表示把单位阵I右循环移位(·)位;
步骤2.2、QC-LDPC快速编码:
设信息向量为s=[s1s2...sK],校验向量为p=[p1p2...pM],编码后的码字
向量为c=[sp],其长度为N=K+M;
根据校验等式H·cT=0得到码字向量方程组,求得p1T;由递归得到p2T,p3T,直到
pMT;
得到pi后,校验向量p就能够确定,实现快速编码;
步骤3、译码:
步骤3.1、初始化:
预先设定一个高斯信道下信息的先验概率为:
l
n
=
l
o
g
(
P
(
x
n
=
0
|
y
)
P
(
x
n
=
1
|
y
)
)
=
2
y
n
σ
2
-
-
-
(
4
)
]]>
其中,σ2为加性高斯白噪声方差;x指信道的输入,即信源,xn为信源输出的第n个比特;
y指信道的输出,即信宿,yn为信宿接受到的第n个比特;
步骤3.2、校验节点的更新公式如公式(5)所示:n在更新公式中记为信息节点n,
L
m
n
=
Π
n
′
∈
N
(
m
)
\
n
s
i
g
n
(
Z
n
′
m
)
min
n
′
∈
N
(
m
)
\
n
|
Z
n
′
m
|
-
-
-
(
5
)
]]>
其中,Lmn为校验节点m传给信息节点n的消息;N(m)表示参与公式(5)的所有比特集
合,N(m)\n表示除去第n个比特的集合,n′为集合N(m)\n中的一个比特,Zn′m表示从信
息节点n′传给校验节点m的信息;
步骤3.3、变量节点的处理和更新:
从信息节点n传给校验节点m的消息Znm和信息节点n的后验概率LQn分别由式(6)
和式(7)得到:
Z
n
m
=
μ
·
[
l
n
+
Σ
m
′
∈
N
(
m
)
\
n
L
m
′
n
]
-
-
-
(
6
)
]]>
LQ
n
=
l
n
+
Σ
m
∈
N
(
m
)
L
m
n
-
-
-
(
7
)
]]>
其中,m′为N(m)\n集合中的一个比特,Ln′m表示校验节点n′传给信息节点m的消息,μ
为乘性因子;
步骤3.4、译码判决:
计算全部信息节点的后验概率LQn,当LQn>0时,该信息位判决为
否则![]()
最终完成LDPC码的译码。
本发明具有以下有益效果:
本发明在误码性能方面,与可见光通信IEEE802.15.7标准中所采用的RS(160,128)
码相比,LDPC码优势明显,尤其当信噪较高时,编码增益可达到2dB左右。本发明
与现有的可见光通信方法中的MS译码算法相比具有一定优势,编码增益可达到
0.4dB左右;与现有的可见光通信方法中的对数域BP译码算法相比,可见光通信系统信
噪比较低时,两种算法性能接近,一旦系统信噪比超过4dB,本发明提出的算法误码率更
低。
在算法复杂度方面,本发明的译码算法不包含除法运算,乘法运算次数相较于对数域
BP算法几乎降低了一个数量级,更易于硬件实现。
因此,本发明提出的译码算法在保证系统误码性能不受到较大损失的情况下很大程度
上的降低了算法的复杂度,在算法复杂度和系统误码性能方面实现了良好的平衡,综合性
能较为优秀
附图说明
图1为本发明的光路示意图;
图2为校验矩阵的四环检验仿真结果图;
图3为迭代次数对误码性能的影响效果图;
图4为不同信噪比下乘性因子对性能的影响效果图;
图5为不同乘性因子下性能与信噪比的关系效果图;
图6为不同译码算法误码率比较效果图。
具体实施方式
具体实施方式一:结合图1说明本实施方式,
基于LDPC码的可见光通信方法,包括以下步骤:
步骤1、建立可见光通信系统模型:
Y
(
t
)
=
T
X
(
t
)
⊗
h
(
t
)
+
N
(
t
)
-
-
-
(
1
)
]]>
式中,t表示时间,Y(t)为接收信号的幅度值,T为光电转换系数,X(t)为发送信号的光
功率,h(t)为可见光信道的冲击响应,N(t)为加性高斯白噪声;
步骤2、编码:
采用有限域乘法群的思想来构造不规则QC-LDPC码,即通过在校验矩阵中放置具有
准双对角线结构的循环矩阵来构造,具体构造如下:
步骤2.1、首先构造索引矩阵G,设索引矩阵G的维数为k×l,元素来自GF(M)域(M
阶有限域),索引矩阵G的第(α,β)个元素Gα,β=aβbα,0≤α≤k,0≤β≤l,a,b均为素
数,索引矩阵G可表示为:
G
=
1
a
...
a
1
-
1
b
a
b
...
a
1
-
1
b
.
.
.
b
k
-
1
ab
k
-
1
...
a
l
-
1
b
k
-
1
-
-
-
(
2
)
]]>
然后以G中元素值作为校验矩阵H中子矩阵的循环位数,构造校验矩阵H,设单位
阵I和零矩阵的维数为q,H的维数为kq×lq,令M=kq,N=lq,l'=l-k=(N-M)/q;
![]()
Ia表示把单位阵I右循环移位a位,Ib表示把单位阵I右循环移位b位,以此类推I(·)
表示把单位阵I右循环移位(·)位;
步骤2.2、QC-LDPC快速编码:
设信息向量为s=[s1s2...sK],校验向量为p=[p1p2...pM],编码后的码字
向量为c=[sp],其长度为N=K+M;
根据校验等式H·cT=0得到码字向量方程组,求得p1T;由递归得到p2T,p3T,直到
pMT;
得到pi后,校验向量p就能够确定,实现快速编码;
步骤3、译码:
步骤3.1、初始化:
预先设定一个高斯信道下信息的先验概率为:
l
n
=
l
o
g
(
P
(
x
n
=
0
|
y
)
P
(
x
n
=
1
|
y
)
)
=
2
y
n
σ
2
-
-
-
(
4
)
]]>
其中,σ2为加性高斯白噪声方差;x指信道的输入,即信源,xn为信源输出的第n个比特;
y指信道的输出,即信宿,yn为信宿接受到的第n个比特;
步骤3.2、校验节点的更新公式如公式(5)所示:n在更新公式中记为信息节点n,
L
m
n
=
Π
n
′
∈
N
(
m
)
\
n
s
i
g
n
(
Z
n
′
m
)
min
n
′
∈
N
(
m
)
\
n
|
Z
n
′
m
|
-
-
-
(
5
)
]]>
其中,Lmn为校验节点m传给信息节点n的消息;N(m)表示参与公式(5)的所有比特集
合,N(m)\n表示除去第n个比特的集合,n′为集合N(m)\n中的一个比特,Zn′m表示从信
息节点n′传给校验节点m的信息;
步骤3.3、变量节点的处理和更新:
从信息节点n传给校验节点m的消息Znm和信息节点n的后验概率LQn分别由式(6)
和式(7)得到:
Z
n
m
=
μ
·
[
l
n
+
Σ
m
′
∈
N
(
m
)
\
n
L
m
′
n
]
-
-
-
(
6
)
]]>
LQ
n
=
l
n
+
Σ
m
∈
N
(
m
)
L
m
n
-
-
-
(
7
)
]]>
其中,m′为N(m)\n集合中的一个比特,Ln′m表示校验节点n′传给信息节点m的消息,μ
为乘性因子;
步骤3.4、译码判决:
计算全部信息节点的后验概率LQn,当LQn>0时,该信息位判决为
否则![]()
最终完成LDPC码的译码。
具体实施方式二:
本实施方式步骤1中冲击响应h(t)的求解过程如下:
在特定的光源S及接收机R的条件下,冲击响应h(t)可以表示为:
h
(
t
;
S
,
R
)
=
Σ
g
=
0
∞
h
(
g
)
(
t
;
S
,
R
)
-
-
-
(
8
)
]]>
式中,h(g)(·)表示第g次反射后信道的冲击响应;
对于不同的光源和接收机,h(t)公式的形式一样,但光源和接收机的不同会导致参数
AR、φ、θ、FOV、D不同,因此,将h(t)写成h(t;S,R)形式;
g=0时,h(0)(t;S,R)表示直射情况下信道的冲击响应,如式(9)所示:
h
(
0
)
(
t
;
S
,
R
)
=
(
ξ
+
1
)
A
R
2
πR
2
cos
n
(
φ
)
c
o
s
(
θ
)
r
e
c
t
(
θ
F
O
V
)
δ
(
t
-
D
c
)
-
-
-
(
9
)
]]>
其中,ξ为光源的朗伯系数,AR为接收器的接收面积,φ为光源发出的光线照到某一接收
器时这条光线相对于光源轴的夹角,θ为接收器的入射角,FOV为接收机的视场角,D为
光源和接收器的距离;c为光速;rect(·)为矩形函数;
第g次反射的冲击响应由第g-1次反射的冲击响应迭代得到,如式(10)所示:
h
(
g
)
(
t
,
S
,
R
z
)
=
[
ξ
+
1
2
π
Σ
v
=
1
g
ρ
g
cos
n
(
φ
)
c
o
s
θ
S
g
2
r
e
c
t
(
θ
F
O
V
)
]
*
h
(
g
-
1
)
(
t
-
d
S
v
c
,
S
,
R
)
Δ
A
-
-
-
(
10
)
]]>
其中,Rz为非视距信道的接收机,就是整个可见光通信系统的总接收机,这个接收机
接收了g次反射的光信号,ρg为第g次反射所经反射面的反射系数,Sg为从第g-1次反
射接收端位置到第g次反射接收端位置的距离,dSv为光源S与第v次反射的反射点之间
的距离;△A是接收机的接收面积。
其他步骤和参数与具体实施方式一相同。
具体实施方式三:
本实施方式所述rect(·)的具体形式为:
r
e
c
t
(
λ
)
=
1
,
|
λ
|
≤
1
0
,
|
λ
|
≥
1
]]>
其中,λ表示rect(·)的自变量。
其他步骤和参数与具体实施方式二相同。
具体实施方式四:
本实施方式步骤2.1中造校验矩阵H的具体过程如下:
采用分别设计矩阵的思路,即令H=[H1H2],分别设计H1以及H2;
H1采用乘法群结构来构造,即在校验矩阵中放置循环矩阵,H2采用双对角线结构;
(a)设计H1:
H1的大小为M×K,M=kq,K=l′q,则有:
H
1
=
I
1
I
a
...
I
a
l
′
-
1
I
b
I
a
b
...
I
a
l
′
-
1
b
.
.
.
I
b
k
-
1
I
b
k
-
1
...
I
a
l
′
-
1
b
k
-
1
k
q
×
l
′
q
-
-
-
(
11
)
]]>
(b)设计H2:
如式(8)所示,H2的大小为kq×kq,
H
2
=
I
a
I
0
...
0
0
0
I
I
...
0
0
0
0
I
...
0
0
.
.
.
I
b
0
0
...
0
0
.
.
.
0
0
0
...
I
0
0
0
0
...
I
I
I
r
0
0
...
0
I
k
q
×
k
q
-
-
-
(
12
)
]]>
(c)校验矩阵H表示为:
![]()
校验矩阵H的四环检验:编码过程中短环的出现,不利于提高系统的误码性能,为此,
利用四环检验定理对校验矩阵H进行四环检验;
给定M×N的LDPC码校验矩阵H,定义矩阵O为:
O=HTH=[h(1)...h(N)]T[h(1)...h(N)](13)
如果在矩阵O中,能够满足对角线除外的元素都是1或0,判断构造的LDPC码的校
验矩阵H是否包含四环等短环;如果无四环,则所构造的校验矩阵H可作为LDPC码的
校验矩阵;如果有四环,则通过修正a,b,r等参数以及调整Ia、Ib和Ir的位置来满足校
验矩阵H无四环;
通过以上步骤即可得到无四环、可快速编码的不规则准循环LDPC码的校验矩阵H。
其他步骤和参数与具体实施方式一至三之一相同。
具体实施方式五:
本实施方式步骤2.2具体过程如下:
根据校验等式
H·cT=0(14)
可得
H
1
H
2
·
s
T
p
T
=
0
-
-
-
(
15
)
]]>
由上式可以得到关于p1T的等式:
[
I
a
+
I
b
+
...
+
I
r
]
·
p
1
T
=
Σ
i
=
1
M
Σ
j
=
1
K
H
(
i
,
j
)
·
s
j
T
-
-
-
(
16
)
]]>
H(i,j)为校验矩阵H中第i行第j列的元素;
进而求得p1T如下:
p
1
T
=
[
I
a
+
I
b
+
...
+
I
r
]
-
1
·
Σ
i
=
1
M
Σ
j
=
1
K
H
(
i
,
j
)
·
s
j
T
-
-
-
(
17
)
]]>
将上式带入到公式(14)中,可得:
p
2
T
=
Σ
j
=
1
K
H
(
1
,
j
)
·
s
j
T
+
I
a
·
p
1
T
-
-
-
(
18
)
]]>
以此类推,可得:
p
M
T
=
Σ
j
=
1
K
H
(
M
-
1
,
j
)
·
s
j
T
+
p
M
-
1
T
-
-
-
(
19
)
]]>
通过得到pi确定校验向量p,从而实现快速编码。
其他步骤和参数与具体实施方式一至四之一相同。
实施例
根据下面模型,使用MATLAB仿真平台对基于LDPC码的可见光通信系统进行实验
仿真。系统仿真参数的具体设置如表1所示。
表1系统仿真参数设置
![]()
(1)QC-LDPC码的四环检验
首先,检验LDPC码的校验矩阵是否存在短环现象,尤其是检验四环是否存在。本
发明所使用的QC-LDPC码采用码率为0.8的LDPC码型,具体参数设置为:
a=2,b=7,q=123,x1=x2=x3=0,校验矩阵行数为615,列数为3075。根据四环检验定理对
校验矩阵进行检验,仿真结果如图2所示。
从图2中可以看出,在主对角线上的元素为3或5,除此之外,元素均为0,这说明
本发明构造的QC-LDPC码不含四环,保证了LDPC码的误码性能。
(2)迭代次数对LDPC码性能的影响
迭代次数是影响译码质量的重要因素,迭代次数越多,系统的误码性能越优异,但同
时译码的复杂度增大,不利于硬件实现;迭代次数过少,系统的误码性能可能达不到要求。
因此必须寻找合适的迭代次数,在满足性能要求的情况下尽可能降低实现复杂度。本发明
对迭代次数分别选取为5次、10次、20次、30次和50次进行仿真实验,仿真结果如图3
所示。
从图3可以看出,迭代次数为5时误码性能最差,随着迭代次数的增加,误码性能不
断提升,当迭代次数达到30次时,系统的误码性能在一定程度上趋于稳定,很难再通过
增大迭代次数来提高系统的性能。因此,从系统误码性能和译码复杂度两方面考虑,接下
来的仿真过程中迭代次数选取为10次。
(3)不同乘性因子对LDPC码性能的影响
通过前文的分析可知,改进的译码算法中乘性因子μ的选取将决定该算法译码性能的
好坏。μ的引入是为了降低校验节点的幅度值,因此它的取值应在0到1之间。仿真过程
中,通过设定合理的步长,使μ取0至1间不同的值,在信噪比不同的情况下分别进行仿
真,从而确定μ的最佳取值,使译码算法的性能达到最佳。仿真结果如图4及图5所示。
图4所示为在迭代次数取10次,信噪比分别取3.0dB、3.3dB和3.6dB的情况下,系
统的误码率随乘性因子μ取值变化而变化的情况。
可以明显地看出,乘性因子对系统误码率的影响较大,在乘性因子由0.5增大至0.8
的过程中,系统的误码率表现为先下降后上升的走势,而且当乘性因子取值在0.65附近
时,误码性能最好。
图5所示为当乘性因子取不同值时,系统的误码性能随信道的信噪比的改变而变化的
过程。
可以看出,在信道信噪比较低的情况下,乘性因子取不同值时系统的误码性能差异不
大,即乘性因子的取值对误码性能影响较小,而在信噪比较高时,乘性因子的作用开始体
现,乘性因子取值不同的系统的误码性能差异逐渐增大。仿真结果同样可以看出,乘性因
子取值为0.65时,系统的误码性能最好。
(4)三种LDPC码译码算法性能比较
确定了迭代次数和乘性因子的最佳取值后,通过仿真实验对LDPC码的LLRBP译码,
MS译码算法以及本发明提出的译码算法的性能进行了对比仿真和分析,同时,与可见光
通信IEEE802.15.7标准中所采用的RS(160,128)码的性能进行了比较,其与LDPC码的
码率相同。仿真结果如图6所示。
由图6可以看出,LDPC码的性能远优于RS码性能,尤其当信噪较高时,编码增益
可达到2dB左右。
而在LDPC的三种译码算法中,MS算法是性能最差的,不能满足一些对误码性能要
求较高的通信系统的要求,LLRBP算法相对于MS算法的编码增益为0.4dB;而本发明
(即改进MS译码算法)的性能接近经典BP算法,在信噪比较低时略逊于LLRBP算法,
当信噪比超过4dB时优于LLRBP算法。
同时,对三种译码算法的复杂度进行了比较。当迭代次数为10次,乘性因子μ取值
为0.65时,LDPC码的三种译码算法所需计算量如表3所示。
表3LDPC各译码算法复杂度比较
![]()
从表3中可以看出,LLRBP算法的计算量最大,且乘法及除法次数较多,当码长很
长时,计算量很大,因此这种算法对硬件要求较高,不利于硬件实现。计算量最小的是
MS算法,该算法仅有线性运算,有利于硬件实现。改进的MS译码算法虽然有一定的乘
法计算量,但相比于LLRBP算法几乎降低了一个数量级,更易于硬件实现。
综合以上分析可知,改进的MS译码算法在保证系统误码性能不受到较大损失的情况
下很大程度上的降低了算法的复杂度,在算法复杂度和系统误码性能方面实现了较好的折
中。