用于借助于极化码对消息进行编码或解码的设备和方法与流程

文档序号:31208528发布日期:2022-08-20 03:06阅读:122来源:国知局
用于借助于极化码对消息进行编码或解码的设备和方法与流程

1.本发明涉及编码和解码数据。具体地,本发明涉及使用极化码编码和解码数据。因此,本发明的实施例提供了通过应用滑动窗口来编码和解码数据的设备和方法。


背景技术:

2.信道码在所有数字通信系统中都是必不可少的。用于前向纠错(forward error correction,fec)编解码的系统——通常也称为编解码方案——由发送器侧的编码器和接收器侧的解码器组成。编码器向要传输的数据添加冗余,即附加的冗余数据,而解码器利用这种冗余来纠正传输错误,使得在编码器与解码器之间的通信信道存在噪声的情况下,接收器也可以获得无错误的传输数据。
3.具体地,极化码是依赖于极化效应的线性块码(参见,例如,e.arikan的“信道极化:一种为对称二进制输入无记忆信道构造容量实现码的方法(channel polarization:a method for constructing capacity achieving codes for symmetric binary-input memoryless channels)”,ieee信息论汇刊,第55卷,第7期,第3051

3073页,2009年7月),其允许按可靠性顺序对比特信道的比特位置进行排序。随着码长度趋向无穷大,极化现象会影响比特信道的可靠性,所述比特信道全部有噪声,或者全部无噪声。更重要的是,无噪声比特信道的分数等于信道容量。
4.信道的可靠性可以根据巴特查理亚(bhattacharyya)参数确定:
[0005][0006]
其中,w是二进制无内存对称通道,w(y|0)、w(y|1)是转换概率,y是输出字母表,z是巴特查理亚参数。巴特查理亚参数越小,信道越可靠。可使用其他方法估计比特信道可靠性。例如,可以使用密度进化(density evolution,de)方法,并且对于加性高斯白噪声(additive white gaussian noise,awgn),信道可靠性可以根据高斯近似(gaussian approximation,ga)确定。例如,可以使用蒙特卡罗(monte-carlo)统计方法对二进制对称信道(binary symmetric channel,bsc)或二进制擦除信道(binary erasure channel,bec)等其他类别的噪声信道进行建模。
[0007]
对于有限的实际码长度,比特信道的极化是不完整的。因此,存在具有部分噪声的比特信道。极化编码过程包括将比特信道分成两组:最可靠的比特信道,其将携带信息比特,并由信息集合来索引;以及较不可靠的比特信道,其被固定至预定义值(通常为0),并由冻结集合来索引。在有限码长度的情况下,可靠性最高的比特信道被选择以形成信息集合,而其余的比特信道则被冻结。
[0008]
极化码基于核矩阵
[0009]
[0010]
这种长度为n=2n且信息长度为k的极化码的编码将在下文中解释。如上所述,选择大小为n-k的冻结集合f。对于i∈f,输入矢量u的比特ui被设置为0,否则,被设置为信息比特。码字x用变换矩阵计算为x=ut,表示n倍克罗内克(kronecker)乘积。
[0011]
一般而言,可以在码设计中引入不同大小的不同核,以获得多核极化码(例如,参见v.bioglio等人的“极化码的多核构造(multi-kernel construction ofpolar codes)”,2017ieee通信国际会议研讨会(icc研讨会),巴黎,2017年,第761-765页)。因此,变换矩阵采用形式并且冻结集合必须相应地被计算。
[0012]
极化码解码可以基于连续抵消(successive cancellation,sc)解码算法(例如,参见上述arikan著作),该算法本质上是顺序的。它可以被视为二叉树搜索,其中,在叶子节点处对比特进行估计,并对树进行深度优先地遍历,其中优先级给予左分支。在sc解码中,解码器从对比特u1的决策开始,并将该决策反馈到解码过程中。然后,进行对比特u2的决策,并将该决策反馈到解码过程中。以这种方式继续,直到获得对最后一比特un的设计。
[0013]
sc列表(sc list,scl)解码是sc的增强版本,其中,决策被推迟到解码过程结束,并且通常在循环冗余校验(cyclic redundancy check,crc)的帮助下执行(例如,参见o.afisiadis等人的“改进的用于极化码的低复杂性连续抵消解码器(a low-complexity improved successive cancellation decoder for polar codes)”,asilomar conf.on signals,syst.,and comput.,2014年11月,第2116-2120页)。
[0014]
当需要传输太多信息比特时,通常将这些信息比特分成块,在长度为m的独立码字上单独传输。但是,独立传输增加了系统的误块率,因为只有当所有s码字都被正确解码时,信息才能正确恢复。即使只在其中一个传输中存在单个错误,也会导致整体解码失败。
[0015]
此外,许多基于极化码的编码和解码设备和方法过于复杂。因此,通常需要改进的用于使用极化码对数据进行编解码的设备。


技术实现要素:

[0016]
鉴于上述缺点,本发明的旨在改进用于基于极化码编码和解码的设备和方法。具体地,本发明的目的是提供一种基于极化码的编码设备和方法,以及提供一种基于极化码的解码设备和方法,所述设备和方法的操作复杂性可以降低。
[0017]
通过所附独立权利要求中提供的实施例实现该目的。在从属权利要求中进一步定义本发明的实施例的有利实现方式。
[0018]
根据第一方面,提供了一种用于使用极化码将包括消息比特的输入序列编码成码字的设备。所述设备用于通过将滑动窗口应用于所述输入序列,顺序地对所述输入序列的多个块中的每个块进行编码,其中,所述输入序列的每个块基于所述输入序列的所述块和先前块的异或运算被编码,以获得码字的码字块;顺序地输出所述码字的每个获得的码字块。
[0019]
第一方面的设备——其可以在编码器中实现——被设计用于使用滑动窗口执行基于极化码的编码,从而降低编码复杂性。例如,该设备支持将码字计算为公共码字的线性组合。这样可以降低要安装在设备中的附加硬件的成本,因为设备可以依赖于标准的极化码硬件。此外,使用该设备可以降低编码延迟,因为消息比特可以被即时处理。最后,该设备
具有与用于基于极化码在无滑动窗口的情况下编码的传统设备相同的误块率(block error rate,bler)性能。
[0020]
在第一方面所述的设备的一个实施例中,所述先前块是预定块,或者所述先前块等于所述输入序列的最后一个块。
[0021]
这提供了编解码方案的简单但高效的实现。
[0022]
在第一方面所述的设备的一个实施例中,所述设备还用于将长度为m/2的极化码的变换矩阵t
m/2
应用于所述输入序列的所述块和所述先前块,以获得所述码字的所述码字块,其中,其中n=log2(m)且m是所述滑动窗口的大小。
[0023]
这提供了用于极化码编码的滑动窗口的具体实现。
[0024]
在第一方面所述的设备的一个实施例中,所述设备还用于基于所述预定块和所述变换矩阵计算第一块。
[0025]
在第一方面所述的设备的一个实施例中,所述设备用于:确定所述输入序列ui的每个块的比特位置的可靠性;为所述输入序列ui的每个块确定大小为ki的信息集合ii,其中,ki对应于所述消息比特mi的对应块的大小,并且所述集合ii对应于所述输入序列ui的每个块的具有最高可靠性的ki个比特位置;以及通过将所述消息比特mi放置在由ii限定的位置中,生成所述输入序列ui的每个块。
[0026]
根据第二方面,提供了一种用于使用极化码将比特序列解码成输出序列的设备,其中,所述比特序列表示在通信信道上传输之后的码字。所述设备用于:通过应用滑动窗口,顺序地对所述比特序列的多个块中的每个块进行解码,以获得辅助序列;对所述辅助序列进行处理,以获得所述输出序列,其中,所述输出序列的每个块基于所述辅助序列的块和所述辅助序列的先前块的异或运算被处理。
[0027]
第二方面的设备——其可以在解码器中实现——被设计用于使用滑动窗口执行基于极化码的解码,从而降低解码复杂性。这样可以降低要安装在设备中的附加硬件的成本,因为设备可以依赖于标准的极化码硬件。
[0028]
在第二方面所述的设备的一个实施例中,所述设备还用于从所述输出序列中获得消息比特。
[0029]
根据第三方面,提供了一种使用极化码将包括消息比特的输入序列编码成码字的方法。所述方法包括:通过将滑动窗口应用于所述输入序列,顺序地对所述输入序列的多个块中的每个块进行编码,其中,基于所述输入序列的所述块和先前块的异或运算对所述输入序列的每个块进行编码,以获得所述码字的码字块;以及顺序地输出所述码字的每个获得的码字块。
[0030]
根据第四方面,提供了一种用于使用极化码将比特序列解码成输出序列的方法,其中,所述比特序列表示在通信信道上传输之后的码字。所述方法包括:通过应用滑动窗口,顺序地对所述比特序列的多个块中的每个块进行解码,以获得辅助序列;对所述辅助序列进行处理,以获得所述输出序列,其中,所述输出序列的每个块基于所述辅助序列的块和所述辅助序列的先前块的异或运算被处理。
[0031]
第三方面和第四方面的方法分别实现了与第一方面和第二方面的设备相同的优点。第三方面的方法可以具有根据第一方面的设备的实现方式所述的实现方式。第四方面的方法可以具有根据第二方面的设备的实现方式所述的实现方式。
[0032]
根据第五方面,提供了一种计算机程序,所述计算机程序包括程序代码,所述程序代码在计算机上运行时用于执行根据第三方面或第四方面所述的方法。
[0033]
在一个实施例中,计算机程序可以提供在非瞬时性计算机可读存储介质或记录介质上。所述计算机程序在由处理器执行时,使所述处理器执行根据第三方面或第四方面所述的方法。
[0034]
在一个实施例中,计算机程序在可编程硬件中实现。可编程硬件可以包括专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)、数字信号处理器(digital signal processor,dsp)或多用途处理器等组件。
[0035]
需要说明的是,本技术中描述的所有设备、元件、单元和模块可以在软件或硬件元件或其任何类型的组合中实现。本技术中描述的各种实体执行的所有步骤和所描述的由各种实体执行的功能旨在表明相应的实体用于执行相应的步骤和功能。即使在以下具体实施例的描述中,外部实体要执行的特定功能或步骤未反映在执行该特定步骤或功能的实体的特定详细元件的描述中,技术人员应清楚,这些方法和功能可以在相应的软件或硬件元件中实现,或以此类元件的任何种组合实现。
附图说明
[0036]
结合所附附图,下面具体实施例的描述阐述上述本发明的各方面及实现方式,在所述附图中:
[0037]
图1示出了实施例提供的包括用于对输入序列进行编码的设备的通信系统;
[0038]
图2示出了实施例提供的由设备编码的示例性消息;
[0039]
图3示出了实施例提供的用于对输入序列进行编码的矩阵的示意图;
[0040]
图4示出了实施例提供的由设备编码的输入序列的示意图;
[0041]
图5示出了实施例提供的包括用于对输入序列进行编码的设备的通信系统;
[0042]
图6示出了实施例提供的包括用于对输入序列进行编码的设备的通信系统;
[0043]
图7示出了实施例提供的由设备编码的码字;
[0044]
图8示出了实施例提供的用于对包括消息的输入序列进行编码的方法;
[0045]
图9示出了实施例提供的用于对包括消息的序列进行解码的方法。
具体实施方式
[0046]
图1示出了本发明的实施例提供的包括设备101(“编码器”)的数据通信系统100。设备101用于使用极化码将包括消息比特m的输入序列u编码成码字x。
[0047]
设备101通常用于获得要传输的输入序列u(“输入序列”也可以称为“信息字”或“输入矢量”),并产生码字x,该码字可以包含冗余。然后,例如根据本发明的另一个实施例,该码字x可以通过有噪声的通信信道102传输到设备103(“解码器”),以用于解码。这种传输通常会引入错误。解码器103可以接收噪声信号作为比特序列y(“比特序列”也可以称为“输出矢量”)。然后,解码器103可以使用接收到的比特值来计算传输的码字x和传输的消息m的估计。可能的码字集合称为码或信道码。在该实施例中,在编码器101处使用极化码来对输入序列u进行编码。编码器101和解码器103都可以知道极化码,因此,可以分别知道冻结比
特f或信息集合i的位置。解码器103可以使用信息集合i(有时也称为“可靠性序列”)确定输入序列u(例如在连续解码期间)并从输入序列u提取消息比特m。
[0048]
具体地,根据本发明的实施例,编码器101用于通过将滑动窗口应用于输入序列u,顺序地对输入序列u的多个块ui中的每个块进行编码。输入序列u的每个块ui基于输入序列u的块ui和先前块ui–1的异或运算被编码,以获得码字x'的码字块x'i。此外,编码器101用于顺序地输出码字x'的每个获得的码字块x'i。
[0049]
此外,解码器103用于使用极化码将比特序列y解码成输出序列u。比特序列y表示在(有噪声)通信信道102上传输后的码字x。根据本发明的实施例,解码器103用于通过应用滑动窗口,顺序地对比特序列y的多个块中的每个块进行解码,以获得辅助序列u'。此外,解码器103用于处理辅助序列u

,以获得输出序列u,其中,输出序列u的每个块基于辅助序列的块ui′
和辅助序列的先前块u
i-1

的异或运算被处理。此外,设备103可以用于从输出序列u获得消息比特m。
[0050]
为了完整起见,下面给出了应用于本发明实施例中的滑动窗口极化编解码背后的理论概述。
[0051]
可通过大小为m的滑动窗口解码的长度为n和维度为k的示例性滑动窗口极化码可以设计如下。给定s=n/m,其变换矩阵可以定义为其中,其中m=log2(m)是长度为m/2的经典极化码的变换矩阵,而w
2s
是大小为2s的全二进制下三角矩阵。该矩阵是由一个大小为2s
×
2s的方矩阵给出,该方矩阵在对角线上和对角线下方为1,在对角线上方为0。得到的变换矩阵t可以描述为多核极化码(参见bioglio等人上述著作)。这也支持相应地计算冻结集合f。
[0052]
在下文中,如图2所示,给出了长度为n=16、维度为k=8、窗口大小为m=8的滑动窗口极化码的所提出的框架的示例。假设消息m=00011110要被编码。该消息m可以借助于矩阵编码,其中,矩阵w4、t4和t的数值表示如图3中所示。为了执行对消息m的编码,需要信息集合i,或等效地,冻结比特集合f。对于生成矩阵t,信息集合i如图3所示,并且可以由i={4,8,11,12,13,14,15,16}给出。此外,如图3所示,基于信息集合i,可以获得子信息集合i1={4}、i2={4}、i3={3,4}、i4={1,2,3,4},以及相应地填充的四个对应子输入矢量u1至u4(见图2)。
[0053]
根据子信息集合i1、
……
、i4,消息m的比特可以分为四个块m0=0001、m1=1、m2=1和m3=10(见图2)。输入矢量块ui由u0=0001、u1=0001、u2=0001和u3=0010给出(见图2)。滑动窗口编码器101可以首先计算x
′1=u0·
t4=1111并进行传输,然后可以顺序地计算其他码字块,以获得他码字块,以获得(见图2)。
[0054]
在解码器侧,接收到的块可以成对处理,以恢复辅助输入矢量u

。第一输入矢量被索回为u1=u
′1=0001。在第二辅助输入矢量u
′2=0000被解码后,第二输入矢量块可以计算为并可以提取消息块m1=1。其他消息块可以用随后的辅助输入矢量相应地计算。在图4中,示出了示例性输入矢量u、其移位矢量基于获得的矢量u

和对应码字x

。传输的码字x

在通信信道传输后作为矢量y被接收,如图1所示。
[0055]
所提出的极化码设计和解码过程提高了设备到设备(device-to-device,d2d)场景中的bler性能(见图5),而不增加解码计算复杂性,并且在一些情况下可以达到全长极化
码的性能。
[0056]
下面,描述用于确定信息集合i的一些方法。
[0057]
在awgn信道下,de/ga方法(例如,参见h.vangala、e.viterbo和y.hong的“awgn信道的极化码结构的比较研究(a comparative study of polar code constructions for the awgn channel)”,arxiv preprint arxiv:1501.02473,2015年)可用于评估核w
2s
的比特信道极化,以跟踪llr平均值,如下所示:
[0058][0059]
其中,μ是输入llr平均值,函数φ可以如j.ha、j.kim和s.w.mclaughlin的“低密度奇偶校验码的速率兼容删截(rate-compatible puncturing of low-density parity-check codes)”(ieee信息论汇刊,第50卷,第11期,第2824-2836页,2004年)中所述。使用上述度量,可以计算输入矢量u的每个比特的可靠性。具有最高可靠性的k个比特可以形成信息集合i,而其余n-k个比特信道的索引可以形成码的冻结集合f。然后,k个消息比特可以根据先前计算的信息集合i插入输入矢量u中,即将其值存储在i中列出的索引中,而u的其余比特设置为零。然后,码字x

被计算为x

=u
·
t并通过信道102传输(见图7)。
[0060]
n信道llr可以存储在矢量y中(见图7)。滑动窗口解码器103可以执行(m/2,k
t
)极化码的2s极化解码。上llrl0可以初始化为零(见图7)。在步骤t中,可以从信息集合i计算子信息集合i
t
,作为与t
·
m/2减(t-1)
·
m/2之间包括的i的项集合。该子信息集合可以用作具有变换矩阵t
m/2
的极化码的信息集合。该解码器103的m/2llr可以基于y被计算如下:矢量是从y中提取,而长度为m/2的第二矢量l2被计算为:
[0061][0062]
基于这两个矢量将要提供给当前解码器的llr计算为=(l0+l1)田l2,其中
[0063][0064]
接下来,由i
t
限定的(m/2,k
t
)极化码可以经由sc使用l作为信道llr进行解码。可以用任何其他极化解码器(设备103)例如scl执行解码。然后,得到的输入矢量u
t
可用于将sc解码中使用的部分和计算为x
t
=u
t
·
t
m/2
;然后,这些部分和用于将上llr l0更新为l0=(l0+l1)
·
(1-2x
t
)。当t=2s,解码结束,并输入矢量u被计算,将所有子输入矢量附加为u=[u
1 u2...u
2s
]。
[0065]
下面,根据本发明的实施例,给出了由设备101执行的编码和由设备103执行的解码的鲁棒性的数学证明。
[0066]
首先,设备101可以用于使用经典极化码独立地编码输入矢量u的部分。此外,滑动窗口编码器机制可以由设备101实现,以对消息m的传入比特执行即时编码。
[0067]
设备101可以将输入矢量u划分为长度为m/2的2s个块u=[u
1 u
2 ...u
2s
],并独立地对每个块进行极化编码,即通过与大小为m/2的信道变换矩阵进行矩阵乘法,以得到ci=
ui·
t
m/2
。这些中间极化码字ci可用于创建具有特殊输入矢量u

的滑动窗口极化码字x

,方法是首先传输最后一个码字,并在传输之前对所有后续极化码字执行异或运算。因此,最终传输的码字x

被获得为
[0068]
获得所述框架的基本原理可以在滑动窗口极化码的信道变换矩阵的结构中找到。可以即时创建码字,而无需等待收集消息m的所有比特。从原始输入矢量u=[u
1 u2...u
2s
]开始,可以获得该结果,以创建辅助输入矢量u

=[u

1 u
′2...u

2s
],使其中,u0=0。然后,该辅助输入矢量u

可以具有结构给定冻结集合的嵌套属性,已知,其中,ii是输入矢量块ui的信息集合,因此,u和u

共用相同的冻结集合,并且u

被明确定义。该中间矢量实际上是用所提出的框架计算的码字x

,x

=u

.t的输入矢量,而.t的输入矢量,而因此,传输的码字x

的滑动窗口解码结果将是中间输入矢量u

。但是,需要输入矢量u来提取消息比特,因此需要在接收器处进行进一步的后处理步骤来索回消息比特。
[0069]
在解码器103侧,与码字x

相对应的信道结果y可以通过应用滑动窗口来解码。如先前所述,解码过程的结果是辅助输入矢量u

。必须对该矢量进行后处理以索回原始输入矢量u。该过程包括对每个输入矢量块与先前解码的矢量块执行异或运算,使得,其中,u
′0=0。因此,原始输入矢量可以计算为=0。因此,原始输入矢量可以计算为
[0070]
因此,所提出的框架支持创建基于极化的码,这些码具有即时编码和解码。最后一个输入矢量块u
2s
可以移动到消息m的开头。可以假设消息m的k个比特将要通过具有窗口大小m和信息集合i的长度为n和维度为k的滑动窗口极化码进行传输。对于形成输入矢量u的每个块ui,在这种情况下,可以提取大小为ki的子信息集合ii。然后,存储在矢量m中的k个消息比特被划分成2s个块,分别为大小为k0、k1、k2、......、k
2s-1
的m=[m
0 m
1 m2...m
2s-1
],其中,|m0|=k
2s
且i0=i
2s
。然后,对于i=1、......、2s,编码矢量x

的每个块x
′i计算为但计算为x
′1=u0·
t
m/2
的第一个块除外。然后,仅使用两个子输入矢量即第一个和当前的子输入矢量来计算码字x

的每个块。
[0071]
在解码器103侧,滑动窗口解码可以顺序地输出辅助输入矢量u

的块。即时解码可以将原始输入矢量块计算为并提取消息比特mi。最后一个输入矢量块u
2s
用于计算第一个消息块m0。
[0072]
图6示出了实施例提供的包括用于对输入序列u进行编码的设备101的通信系统100。
[0073]
具体地,图6示出了包括基站101和用户设备(user equipment,ue)103的无线通信系统100,其中,ue 103可以是便携式设备,例如智能手机或平板电脑。基站101包括发送器,ue 103包括接收器,由此基站101能够例如在根据电信协议建立的下行链路或上行链路连接102中向ue 103发送数据。本发明的实施例可以应用于各种通信系统。例如,它可以应用于全球移动通信系统(global system for mobile communications,gsm)、码分多址(code division multiple access,cdma)、宽带码分多址(wideband code division multiple access,wcdma)、通用分组无线业务(general packet radio service,gprs)、长期演进(long term evolution,lte)、lte频分双工(frequency division duplex,fdd)、lte时分
双工(time division duplex,tdd)、通用移动通信系统(universal mobile telecommunications system,umts)、增强移动宽带(enhanced mobile broadband,embb)、超可靠低延迟通信(ultra-reliable low-latency communication,urllc)和海量机器类通信(massive machine-type communication,mmtc)或任何第五代(5th generation,5g)无线通信系统中的任何一个。
[0074]
图8示出了实施例提供的用于使用极化码将包括消息比特的输入序列编码成码字的方法800。
[0075]
方法800包括以下步骤:
[0076]-通过将滑动窗口应用于输入序列,顺序地对输入序列的多个块中的每个块进行编码801;
[0077]-基于输入序列的块和先前块的异或运算对输入序列的每个块进行编码802,以获得码字的码字块;
[0078]-顺序地输出803码字的每个获得的码字块。
[0079]
图9示出了实施例提供的用于使用极化码将比特序列解码成输出序列的方法900,其中,比特序列表示在通信信道102上传输之后的码字。
[0080]
方法900包括:
[0081]-通过应用滑动窗口,顺序地对比特序列的多个块中的每个块进行解码901,以获得辅助序列;
[0082]-处理902辅助序列,以获得输出序列,其中,输出序列的每个块基于辅助序列的块和辅助序列的先前块的异或运算被处理。
[0083]
在权利要求以及说明书中,词语“包括”不排除其他元件或步骤,且词语“一”或“一个”不排除多个。单个元件或其他单元可满足权利要求中列举的若干实体或项目的功能。在互不相同的从属权利要求中列举某些措施并不表示这些措施的组合不能被有效地使用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1