2024年5月19日发(作者:臧清一)
2021年12月25日第38卷第24期
Telecom Power Technology
Dec. 25, 2021, Vol.38 No.24
doi:10.19399/j.cnki.tpt.2021.24.035
运营探讨
无线网络中的信道编码综述
周宇翔
1
,周 华
2
(1.南京信息工程大学 长望学院,江苏 南京 210044;2.南京信息工程大学 通信工程系,江苏 南京 210044)
摘要:在无线网络中,由于没有有线通信信道,信息源和接收端之间的信息共享非常复杂,因此无线信道经常
受到许多干扰的影响而导致信宿接收到错误的码字。为了检测和纠正传输数据中的错误,信道编码技术应运而生。
信道编码能够在传输的数据中找出错误,并且往往有着一定的纠错能力,能够恢复出原始数据。在噪声较大的无线
网络中通常需要优异的编码码字,以保证较好的传输性能。以此为基础的数据传输通常有两个过程,一个是利用映
射或编码的方式将输入数据转换为信道输入序列,另一个是利用反向映射或解码以检索原始传输数据。信道编码的
类型有很多,常用的有线性分组码、卷积码、Turbo码以及LDPC码等。通过对无线网络中的信道编码进行论述,
旨在为相关人员提供参考。
关键词:信道编码;无线网络;线性分组码;卷积码;Turbo码;LDPC码
Overview of Channel Coding in Wireless Networks
ZHOU Yuxiang
1
, ZHOU Hua
2
(1. Changwang School of Honors, Nanjing University of Information Science & Technology, Nanjing 210044, China;
2. School of Electronics and Information Engineering, Nanjing University of Information Science and Technology,
Nanjing 210044, China)
Abstract: In a wireless network, because there is no wired communication channel, the information sharing
between the information source and the receiver is very complicated, so the wireless channel is often affected by many
interferences, resulting in the sink receiving wrong codewords. In order to detect and correct errors in the transmitted
data, channel coding technology came into being. Channel coding can find errors in the transmitted data, and often has
a certain error correction ability, which can restore the original data. In a noisy wireless network, an excellent coding
codeword is usually required to ensure better transmission performance. Data transmission based on this usually has two
processes, one is to convert the input data into the channel input sequence by means of mapping or encoding, and the
other is to use reverse mapping or decoding to retrieve the original transmission data. There are many types of channel
coding, commonly used linear block codes, convolutional codes, Turbo codes and LDPC codes. By discussing the channel
coding in wireless network, it is intended to provide reference for related personnel.
Keywords: channel encoding; wireless network; linear packet code; convolutional code; Turbo code; LDPC code
0 引 言
信源向信宿发送数据主要受信道带宽等因素约
束,在有限的带宽中通常用吞吐量、误码率(Symbol
Error Rate,SER)和信噪比(Signal-to-Noise Ratio,
SNR)等数值衡量各类信道编码的性能。在信道编码
中引入冗余位往往可以降低误码率。在分组码中,信
息被分成大小恒定的码块在信道中传输,这些在无记
忆信道中被发送到接受节点的码块将一定程度上降低
误码率。奇偶校验矩阵的意义在于获取高质量的码块,
从而提高信道的传输质量
[1]
。分组码有线性、循环、
BCH等形式。卷积码是一种性能更好的码字,通常
应用于数字无记忆信道传输。在这种码字中,数据串
行传输,而冗余的码字被用于卷积编码
[2]
。
当信道带宽受限时,网格编码调制(Trellis
Coded Modulation,TCM)方案就发挥了相应作用。该
方案采用移相键控(Phase Shift Keying,PSK)和幅度
调制,使得在有限的带宽内编码调制的误码率得到
有效改善
[3]
。低密度奇偶校验码(Low Density Parity
Check Code,LDPC)使用奇偶校验矩阵降低误码率,
包括结构化LDPC码和随机LDPC码两种类型
[4]
。为
了实现快速编译码操作,引入了喷泉码,其中的LT
码和Raptor码被验证了具有较为优异的性能
[5-7]
。
1 线性分组码
在线性分组码中,信息以比特流的形式传递,
这些比特流按某种规律分组后作为信道的输入。在该
编码过程中,存在冗余项作为纠错码被一起发送至接
收端,用于纠正实际传输信息的码字中的错误。在接
收端,这些码字再次被转化为比特流,从中检索出原
有的信息。码字传输原理如图1所示。
收稿日期:
2021-10-25
作者简介:
周宇翔(2001—),男,江苏淮安人,本科在读,
主要研究方向为信道编码;
周 华(1984—),男,江苏盐城人,通信作者,博士研究生,
副教授,主要研究方向为信息论编码和无线通信。
2021年12月25日第38卷第24期
Telecom Power Technology
Dec. 25, 2021, Vol.38 No.24
图1 码字传输原理
在分组码中,信息序列被划分成固定长度的消
息分组,每一个消息分组含有
k
个信息比特,一共有
2
k
个不同的消息。在(
n
,
k
)分组码中,这
k
个消息比
特按照一定的编码规则被编码成长为
n
(
n
>
k
)的
二进制序列
c
=(
c
1
,
c
1
,…,
c
n-1
),由编码器产生的
n
-
k
个
添加到每个输入消息中的比特称为冗余比特。在接收
节点处对码字进行译码后,接收端得到原始信息。
常用的线性分组码有汉明码、循环码、二进制
BCH码以及RS码。令
v
和
w
是
GF
(2)上的两个
n
维
向量,
v
和
w
之间的汉明距离记为
d(v
,
w
),即
v
和
w
相应位置元素不相同的元素个数。对于线性码,
d
H
(
(v
,
w
)=
d
(0,
w
-
(v
)=
d
(0,
c
)=
w
(
c
)。其中
w
(
c
)为
c
的汉明
重量,表示
c
中非零元素的个数
[8]
。
在汉明码中,两个码字之间的距离小于或等于
汉明距离,其纠错上限为:
E
pc
=
(
D
m
−
1
)
2
(1)
式中,
D
m
表示该分(
n
,
k
)组码中两个不同码字之间的
最小汉明距离。
循环码任一码字的循环移位(左移或右移)构
成该码的另一个码字,其编码电路和伴随式运算电路
可以用简单的反馈移位寄存器来实现。因为线性循环
码具有相当多固有的代数结构,可以找到各种简单有
效的译码方法,所以得到了广泛应用
[9]
。
BCH码和RS码是两类能够先确定纠错能力或最
小码距,然后设计码长和生成多项式的循环码。BCH
码在二元域中寻找最小多项式,而RS码是BCH码
的一个子类,其码字向量的每一个分量称为一个符号,
并且每个符号均可表示为
m
比特。一个可以纠正任
意小于等于
t
个符号差错的RS码的基本参数为:
n
=
2
m
−
1
(
符号
)
=
m
⋅
(
2
m
−
1
)
(
比特
)
r
=
n
−
k
=
2
t
(
符号
)
=
m
⋅
2
t
(
比特
)
(2)
式中,
n
为码长;
r
为校验位长。多项式误差定位器
找到发生差错的位置并计算差错的大小,然后从传输
的码字中纠正该误差,恢复得到原有的信息。
2 卷积码
卷积码的编码器是有记忆的,在一定的时间内
编码器的输出不仅取决于该时刻的输入,也与一定数
量以前的输入相关。以码率为
R
=
k
/
n
的卷积编码器为
例,信息序列
u
被划分为长度为
k
的数据帧,在任意
时刻一个
k
比特长的数据帧被作为信息序列送入卷积
编码器,相应的输出是
n
比特的编码序列。每
n
比特
的编码输出块不仅依赖于当前时刻的
k
比特输入序列,
也依赖于
m
个以前输入的
k
比特序列。
图2给出了一个存储级数
m
=2、码率
R
=1/2的卷
积码编码器,该编码器有1路输入、两路输出。其中,
删余卷积码定期删除编码位,使得码率提高,性能也
更加优异。
图2 卷积码编码器
3 Turbo码
Turbo码又称为并行级联卷积码(Parallel
Concatenated Convohtional Code,PCCC),它巧妙地
将卷积码和随机交织器结合在一起,实现了Shannon
随机编码的思想,同时采用软输出迭代译码来逼近
最大似然译码。Turbo码的一个重要特点在于它的
分量码采用递归系统卷积码(Recursive Systematic
Convolutional,RSC)。不同于一般的卷积码器,
Turbo码编码器中不仅有前向结构,而且还有后向反
馈结构,如图3所示。
信息序列
u
a
(0),…
移位移位
b
(0),…
寄存器寄存器
图3 Turbo码编码器
RSC编码器一般有2~5级移位寄存器,用生
成多项式表示为:
G
(
D
)
=
g
2
1,
g
1
(3)
式中,1表示系统比特;
g
1
和
g
2
分别表示编码器的
前馈多项式和反馈多项式。
4 LDPC码
LDPC码是一类具有逼近信道容量限性能的(
n
,
k
)
2021年12月25日第38卷第24期
周宇翔,等:无线网络中的
信道编码综述
Telecom Power Technology
Dec. 25, 2021, Vol.38 No.24
线性分组码,其校验矩阵
H
=[
h
ij
]是
m
×
n
的稀疏矩
阵,包含有更多的零元素和较少的非零元素。根据
H
矩阵中非零元素的分布情况,该码可以分为规则
LDPC码和不规则LDPC码。若矩阵
H
具有恒定的列
重和行重(即每行或每列上的非零元素个数相同),
则称为规则LDPC码。矩阵
H
可以用Tanner图表示,
其中一个顶点集合表示符号变量,称为变量节点;另
一个顶点集合表示局部约束,称为约束节点或校验节
点
[10]
。
H
矩阵的列数等于Tanner图中的变量节点数,
行数等于校验节点数。(10,5)线性分组码的Tanner图
如图4所示。
s
校验
1
s
2
s
3
s
4
s
5
节点
变量
节点
c
1
c
2
c
3
c
4
c
5
c
6
c
7
c
8
c
9
c
10
图4 (10,5)线性分组码的Tanner图
图4中共有5个校验节点和10个变量节点,这
意味着它对应的
H
矩阵是5行、10列。两种节点间
的连线表示行与列之间的连接,对应于
H
矩阵里的
非零元素,代表变量节点将信息发送到了相应的校验
节点。图4对应的矩阵为:
1100111100
011010100
H
=
1
1010101011
(4)
图4中变量节点
c
1
分别连接着校验节点
s
1
、
s
2
、
s
4
,对应式(4)中矩阵
H
第1列的非零元素位于第
1、2、4行。同理,变量节点
c
10
分别连接着校验节
点
s
3
、
s
4
,对应式(4)中矩阵
H
第10列的非零元素
位于第3、4行。
5 编码方式
一个二元(
n
,
k
)线性分组码
C
是
GF
(2)上所有
n
维向量组成的向量空间的一个
k
维子空间,
C
中存在
k
个线性独立的码字
g
0
,
g
1
,…,
g
k-1
,
C
中每个码字
c
i
是这
k
个线性独立码字的线性组合,即:
c
i
=
u
0
g
0
+
u
1
g
1
+
2024年5月19日发(作者:臧清一)
2021年12月25日第38卷第24期
Telecom Power Technology
Dec. 25, 2021, Vol.38 No.24
doi:10.19399/j.cnki.tpt.2021.24.035
运营探讨
无线网络中的信道编码综述
周宇翔
1
,周 华
2
(1.南京信息工程大学 长望学院,江苏 南京 210044;2.南京信息工程大学 通信工程系,江苏 南京 210044)
摘要:在无线网络中,由于没有有线通信信道,信息源和接收端之间的信息共享非常复杂,因此无线信道经常
受到许多干扰的影响而导致信宿接收到错误的码字。为了检测和纠正传输数据中的错误,信道编码技术应运而生。
信道编码能够在传输的数据中找出错误,并且往往有着一定的纠错能力,能够恢复出原始数据。在噪声较大的无线
网络中通常需要优异的编码码字,以保证较好的传输性能。以此为基础的数据传输通常有两个过程,一个是利用映
射或编码的方式将输入数据转换为信道输入序列,另一个是利用反向映射或解码以检索原始传输数据。信道编码的
类型有很多,常用的有线性分组码、卷积码、Turbo码以及LDPC码等。通过对无线网络中的信道编码进行论述,
旨在为相关人员提供参考。
关键词:信道编码;无线网络;线性分组码;卷积码;Turbo码;LDPC码
Overview of Channel Coding in Wireless Networks
ZHOU Yuxiang
1
, ZHOU Hua
2
(1. Changwang School of Honors, Nanjing University of Information Science & Technology, Nanjing 210044, China;
2. School of Electronics and Information Engineering, Nanjing University of Information Science and Technology,
Nanjing 210044, China)
Abstract: In a wireless network, because there is no wired communication channel, the information sharing
between the information source and the receiver is very complicated, so the wireless channel is often affected by many
interferences, resulting in the sink receiving wrong codewords. In order to detect and correct errors in the transmitted
data, channel coding technology came into being. Channel coding can find errors in the transmitted data, and often has
a certain error correction ability, which can restore the original data. In a noisy wireless network, an excellent coding
codeword is usually required to ensure better transmission performance. Data transmission based on this usually has two
processes, one is to convert the input data into the channel input sequence by means of mapping or encoding, and the
other is to use reverse mapping or decoding to retrieve the original transmission data. There are many types of channel
coding, commonly used linear block codes, convolutional codes, Turbo codes and LDPC codes. By discussing the channel
coding in wireless network, it is intended to provide reference for related personnel.
Keywords: channel encoding; wireless network; linear packet code; convolutional code; Turbo code; LDPC code
0 引 言
信源向信宿发送数据主要受信道带宽等因素约
束,在有限的带宽中通常用吞吐量、误码率(Symbol
Error Rate,SER)和信噪比(Signal-to-Noise Ratio,
SNR)等数值衡量各类信道编码的性能。在信道编码
中引入冗余位往往可以降低误码率。在分组码中,信
息被分成大小恒定的码块在信道中传输,这些在无记
忆信道中被发送到接受节点的码块将一定程度上降低
误码率。奇偶校验矩阵的意义在于获取高质量的码块,
从而提高信道的传输质量
[1]
。分组码有线性、循环、
BCH等形式。卷积码是一种性能更好的码字,通常
应用于数字无记忆信道传输。在这种码字中,数据串
行传输,而冗余的码字被用于卷积编码
[2]
。
当信道带宽受限时,网格编码调制(Trellis
Coded Modulation,TCM)方案就发挥了相应作用。该
方案采用移相键控(Phase Shift Keying,PSK)和幅度
调制,使得在有限的带宽内编码调制的误码率得到
有效改善
[3]
。低密度奇偶校验码(Low Density Parity
Check Code,LDPC)使用奇偶校验矩阵降低误码率,
包括结构化LDPC码和随机LDPC码两种类型
[4]
。为
了实现快速编译码操作,引入了喷泉码,其中的LT
码和Raptor码被验证了具有较为优异的性能
[5-7]
。
1 线性分组码
在线性分组码中,信息以比特流的形式传递,
这些比特流按某种规律分组后作为信道的输入。在该
编码过程中,存在冗余项作为纠错码被一起发送至接
收端,用于纠正实际传输信息的码字中的错误。在接
收端,这些码字再次被转化为比特流,从中检索出原
有的信息。码字传输原理如图1所示。
收稿日期:
2021-10-25
作者简介:
周宇翔(2001—),男,江苏淮安人,本科在读,
主要研究方向为信道编码;
周 华(1984—),男,江苏盐城人,通信作者,博士研究生,
副教授,主要研究方向为信息论编码和无线通信。
2021年12月25日第38卷第24期
Telecom Power Technology
Dec. 25, 2021, Vol.38 No.24
图1 码字传输原理
在分组码中,信息序列被划分成固定长度的消
息分组,每一个消息分组含有
k
个信息比特,一共有
2
k
个不同的消息。在(
n
,
k
)分组码中,这
k
个消息比
特按照一定的编码规则被编码成长为
n
(
n
>
k
)的
二进制序列
c
=(
c
1
,
c
1
,…,
c
n-1
),由编码器产生的
n
-
k
个
添加到每个输入消息中的比特称为冗余比特。在接收
节点处对码字进行译码后,接收端得到原始信息。
常用的线性分组码有汉明码、循环码、二进制
BCH码以及RS码。令
v
和
w
是
GF
(2)上的两个
n
维
向量,
v
和
w
之间的汉明距离记为
d(v
,
w
),即
v
和
w
相应位置元素不相同的元素个数。对于线性码,
d
H
(
(v
,
w
)=
d
(0,
w
-
(v
)=
d
(0,
c
)=
w
(
c
)。其中
w
(
c
)为
c
的汉明
重量,表示
c
中非零元素的个数
[8]
。
在汉明码中,两个码字之间的距离小于或等于
汉明距离,其纠错上限为:
E
pc
=
(
D
m
−
1
)
2
(1)
式中,
D
m
表示该分(
n
,
k
)组码中两个不同码字之间的
最小汉明距离。
循环码任一码字的循环移位(左移或右移)构
成该码的另一个码字,其编码电路和伴随式运算电路
可以用简单的反馈移位寄存器来实现。因为线性循环
码具有相当多固有的代数结构,可以找到各种简单有
效的译码方法,所以得到了广泛应用
[9]
。
BCH码和RS码是两类能够先确定纠错能力或最
小码距,然后设计码长和生成多项式的循环码。BCH
码在二元域中寻找最小多项式,而RS码是BCH码
的一个子类,其码字向量的每一个分量称为一个符号,
并且每个符号均可表示为
m
比特。一个可以纠正任
意小于等于
t
个符号差错的RS码的基本参数为:
n
=
2
m
−
1
(
符号
)
=
m
⋅
(
2
m
−
1
)
(
比特
)
r
=
n
−
k
=
2
t
(
符号
)
=
m
⋅
2
t
(
比特
)
(2)
式中,
n
为码长;
r
为校验位长。多项式误差定位器
找到发生差错的位置并计算差错的大小,然后从传输
的码字中纠正该误差,恢复得到原有的信息。
2 卷积码
卷积码的编码器是有记忆的,在一定的时间内
编码器的输出不仅取决于该时刻的输入,也与一定数
量以前的输入相关。以码率为
R
=
k
/
n
的卷积编码器为
例,信息序列
u
被划分为长度为
k
的数据帧,在任意
时刻一个
k
比特长的数据帧被作为信息序列送入卷积
编码器,相应的输出是
n
比特的编码序列。每
n
比特
的编码输出块不仅依赖于当前时刻的
k
比特输入序列,
也依赖于
m
个以前输入的
k
比特序列。
图2给出了一个存储级数
m
=2、码率
R
=1/2的卷
积码编码器,该编码器有1路输入、两路输出。其中,
删余卷积码定期删除编码位,使得码率提高,性能也
更加优异。
图2 卷积码编码器
3 Turbo码
Turbo码又称为并行级联卷积码(Parallel
Concatenated Convohtional Code,PCCC),它巧妙地
将卷积码和随机交织器结合在一起,实现了Shannon
随机编码的思想,同时采用软输出迭代译码来逼近
最大似然译码。Turbo码的一个重要特点在于它的
分量码采用递归系统卷积码(Recursive Systematic
Convolutional,RSC)。不同于一般的卷积码器,
Turbo码编码器中不仅有前向结构,而且还有后向反
馈结构,如图3所示。
信息序列
u
a
(0),…
移位移位
b
(0),…
寄存器寄存器
图3 Turbo码编码器
RSC编码器一般有2~5级移位寄存器,用生
成多项式表示为:
G
(
D
)
=
g
2
1,
g
1
(3)
式中,1表示系统比特;
g
1
和
g
2
分别表示编码器的
前馈多项式和反馈多项式。
4 LDPC码
LDPC码是一类具有逼近信道容量限性能的(
n
,
k
)
2021年12月25日第38卷第24期
周宇翔,等:无线网络中的
信道编码综述
Telecom Power Technology
Dec. 25, 2021, Vol.38 No.24
线性分组码,其校验矩阵
H
=[
h
ij
]是
m
×
n
的稀疏矩
阵,包含有更多的零元素和较少的非零元素。根据
H
矩阵中非零元素的分布情况,该码可以分为规则
LDPC码和不规则LDPC码。若矩阵
H
具有恒定的列
重和行重(即每行或每列上的非零元素个数相同),
则称为规则LDPC码。矩阵
H
可以用Tanner图表示,
其中一个顶点集合表示符号变量,称为变量节点;另
一个顶点集合表示局部约束,称为约束节点或校验节
点
[10]
。
H
矩阵的列数等于Tanner图中的变量节点数,
行数等于校验节点数。(10,5)线性分组码的Tanner图
如图4所示。
s
校验
1
s
2
s
3
s
4
s
5
节点
变量
节点
c
1
c
2
c
3
c
4
c
5
c
6
c
7
c
8
c
9
c
10
图4 (10,5)线性分组码的Tanner图
图4中共有5个校验节点和10个变量节点,这
意味着它对应的
H
矩阵是5行、10列。两种节点间
的连线表示行与列之间的连接,对应于
H
矩阵里的
非零元素,代表变量节点将信息发送到了相应的校验
节点。图4对应的矩阵为:
1100111100
011010100
H
=
1
1010101011
(4)
图4中变量节点
c
1
分别连接着校验节点
s
1
、
s
2
、
s
4
,对应式(4)中矩阵
H
第1列的非零元素位于第
1、2、4行。同理,变量节点
c
10
分别连接着校验节
点
s
3
、
s
4
,对应式(4)中矩阵
H
第10列的非零元素
位于第3、4行。
5 编码方式
一个二元(
n
,
k
)线性分组码
C
是
GF
(2)上所有
n
维向量组成的向量空间的一个
k
维子空间,
C
中存在
k
个线性独立的码字
g
0
,
g
1
,…,
g
k-1
,
C
中每个码字
c
i
是这
k
个线性独立码字的线性组合,即:
c
i
=
u
0
g
0
+
u
1
g
1
+