本发明总体上涉及动态优化数据编码器的分治(divide-and-conquer)结构,其中,所述数据编码器依赖于极性码编码方案。本发明总体上涉及动态规定对应的解码行为。
背景技术:
极性码是根据信息理论考虑而不是依赖于代数结构构建的线性块纠错码。极性码基于由核的多分支递归构建的分治(d&c))结构,该分治结构将物理信道变换成虚拟外部信道。当递归的量变得较大时,虚拟信道往往具有高可靠性或低可靠性。换句话说,虚拟信道发生极化。然后,将有用数据比特(也被称为信息比特)分配给最可靠的虚拟信道,而将冻结比特分配给剩余的虚拟信道。
极性码的编码和解码复杂度大约为n.log(n)级,其中,n是所考虑的极性码的尺寸。然而,当n较小(例如n=512)时,与其它编码技术(例如turbo码或ldpc(低密度奇偶校验)码)相比,极性码的性能是相当较差。此外,极性码应针对打算使用所述极性码的给定bdmc(二进制离散输入无记忆信道(binarydiscrete-inputmemory-lesschannel))进行优化。
下面,我们考虑由编码器110和解码器120组成的系统,如图1中示意性地表示的那样。编码器110根据尺寸为n=2l的极性码生成码字,其中,l是极性码的d&c结构的深度。换句话说,n是“2”的幂。使生成的码字经由bdmc130传递至解码器120。这种传递可以是有线传输,或无线传输,或非暂时性信息存储介质上的中间存储,其中,编码器110将数据存储在非暂时性信息存储介质上,并且解码器从非暂时性信息存储介质中取回该数据。
设xi表示矢量x的第i个项,并且xi:k表示由从矢量x提取的项xi、xi+1、…、xk组成的尺寸为(k-i+1)的矢量。而且,设xi:j:k表示由从矢量x提取的项xi、xi+j、…、xi+j/(k-i)/j/组成的矢量,其中,
因此,这里考虑速率r<1的基于极性码的编码器,该编码器将由信息比特和冻结比特组成的尺寸为n的矢量b转换成尺寸为n的码字x。必须要注意,n.r信息比特存在于矢量b的n个项当中。然后,还必须要注意,n.(1-r)个冻结比特存在于矢量b的n个项当中,并且通过设计获知矢量b内的所述冻结比特的位置和值。大多数时候,所述比特被设定成值“0”并且它们在矢量b内的位置由矢量f表示,使得如果矢量b中的第i个位置处的比特携带冻结比特,则f(i)=1,并且使得如果矢量b中第i个位置处的比特携带信息比特,则f(i)=0。
因此,如图2a所示,为了应用极性码,由复用器mux210通过根据由矢量f规定的冻结比特位置插入数量为n.(1-r)的冻结比特,来将由n.r个信息比特组成的第一矢量b'转换成长度为n的矢量b。然后,通过尺寸为n的极化器(也称为极化块)pol-n220处理矢量b,以便将矢量b编码成长度为n的码字x,从而导致等于r的编码率。极化器pol-n220表示编码器110的编码部分。
极性码的主要方面在于这样的事实:无论实际码率r和所考虑的bdmc的有效特性如何,从矢量b到码字x的转换是静态的,这意味着极性码的d&c结构保持不变。然后,通过适当地选择矢量b中的冻结比特的位置来执行速率自适应和性能优化。
如图2b中示意性表示的模块化结构所示,尺寸为n的极化器pol-n220是由一对尺寸为n/2的互补极化器构建的,即,尺寸为n/2的上极化器upol-n/2271和尺寸为n/2的下极化器lpol-n/2272。上极化器upol-n/2271和下极化器lpol-n/2272具有相同的结构,并且像极化器pol-n220一样构建,但具有极化器pol-n220的一半尺寸。这意味着尺寸为n/2的每个极化器是由另外两个尺寸为n/4的极化器构建的等等,如此递归,直到达到一对尺寸等于“2”的极化器即可,如图2c所示。因此,该分治结构能以等于l的深度进行递归,因此规定了l个子极化级。
考虑将矢量b输入至尺寸为n的极化器pol-n220,如图2a所示。矢量b由一组250并行核来处理。各个核本身是尺寸等于“2”的极化器,如图2c所示。矢量b的比特按对分组,各个对被输入专用核中。然后,将由该组250并行核输出的n个比特输入到混洗器260中,混洗器260将其奇数项分配给上极化器upol-n/2271,并将其偶数项分配给下极化器lpol-n/2272。因此,混洗器260执行可以如下规定的混洗运算shuff:
其中,混洗运算shuff更精确为如下:
其中,x(1)表示在混洗器260中输入的矢量,并且x(2)表示由混洗器260输出的对应矢量。
设invshuff表示允许恢复混洗运算的运算,并且被规定如下:
invshuff(shuff(x))=x
如已经提到的,图2c示意性地表示尺寸为“2”的极化器200。将两个比特(
其中,
设
这意味着该极化运算可以保证容量保存。
在图3中示意性地示出了由极化器pol-n220实现的用于执行前述递归的示例性算法。
在步骤s301中,极化器pol-n220执行用于执行数据
在随后步骤s302中,极化器pol-n220检查n是否等于“2”。如果n等于“2”,则执行步骤s303;否则执行步骤s304。
在步骤s303中,极化器pol-n220执行以下运算以得到由此考虑的核的两个输出值:
然后,执行步骤s308。
在步骤s304中,极化器pol-n220执行以下运算,以得到由此考虑的并行核的输出值(n>2):
其中,
在随后步骤s305中,极化器pol-n220将混洗运算shuff应用到所述并行核的输出
在随后步骤s306中,极化器pol-n220调用针对数据
在随后步骤s307中,极化器pol-n220调用针对数据
必须要注意,步骤s306和步骤s307可以颠倒或并行执行。
在步骤s308中,极化器pol-n220将输出值
根据极性码的d&c结构恰当地选择冻结比特的相应位置对于实现良好的解码性能是至关重要的。实际上,极化器pol-n220将具有相同性质和相等特性的一组并行有效bdmc转换成具有不相等性质和特性的等效的一组并行虚拟bdmc。换句话说,通过将极化器pol-n220包括在实际的bdmc的模型内,可以规定等效信道,经由该等效信道,考虑传递前述矢量b。
一般来说,bdmc与输入x′、输出y′(即,观测)以及表征信道转变概率的概率函数p(y′|x′)的交互信息i(x′;y′)被规定如下:
i(x′;y′)=1-el′[log2(1+e-l′)]
其中,el′[]表示针对称为对数似然比(llr)并规定如下的随机变量l′的数学期望值:
l′=log(p(y′|x′)/p(y′|1-x′))
其中,p(y′|x′)和p(y′|1-x′)都取决于输入比特和输出信道观测。
因此,bdmc的交互信息取决于作为所述bdmc的至少一个参数的概率函数p的转变概率p(y′|x′),如下面将利用bdmc的二进制删除和加性高斯白噪声信道示例来进行说明的。等同地,bdmc的交互信息由llr值概率分布表征,llr值概率分布可以根据概率函数p计算得出。换句话说,概率函数p与bdmc相关联,其中,x′是输入,而l′是观测llr。
设
因此,在极性码的d&c结构的任何子极化阶段,各个核具有输入
考虑到以下情况:
换句话说,函数
根据第一示例,bdmc是通过依赖于删除率作为参数来建模的二进制删除信道(bec)。任何信道观测yi等于具有概率(1-εi)的xi并且以概率εi进行擦除(这意味着没有可用的观测)。因此,bec的概率函数是由删除率参数规定的条件概率质量函数。该信道的特征在于作为似然函数的转变概率函数pi以及bec信道的参数εi的函数,使得
pi(εi)=p(yi|xi)=1-εi。
因此,bec的交互信息取决于转变概率函数p(yi|xi),并且可以简化成删除率εi的函数。
那意味着在核级别:
这意味着:
因此,关于
其中,函数(
根据第二示例,bdmc是加性高斯白噪声(awgn)信道,在该加性高斯白噪声信道上,通过依赖信噪比(snr)ρ作为参数来使用并建模二进制相移键控(bpsk)调制。
bpsk调制将等于′0′的比特转换成等于′+1′的符号,并且将等于′1′的比特转换为等于′-1′的符号。因此,如果比特值是xi,那么符号值为(2xi-1)。该信道的特征在于作为pi似然函数的转变概率函数pi和具有bpsk输入的awgn信道的参数ρi的函数,使得
结果,在核的级别:
其中,
awgnbdmc的交互信息取决于转变概率函数,并且可以简化成仅信噪比的函数。
awgnbdmc与bpsk输入的交互信息针对每个snr参数值ρ都具有一个值,所述交互信息的特征在于可以在所述bdmc上发送的数据速率的上限(在′0′至′1′之间)。应当明白,该数据速率以′1′为界,这是在信息未被编码信息时,即,编码率等于“1”时bpsk调制的频谱效率。在实践中,该交互信息给出了应当选择纠错码的哪个编码率用于在给定snrρ下传输的指示。
因此,我们可以将
而且,
因此,与输入
可以注意,由于极化运算的容量保存特性:
这意味着:
还可以注意,
其中,
因此,关于
换句话说,在这些情况下:
由此,函数
因此,最后为函数(
如上表达的,概率函数使能计算等效bdmc的交互信息。极化器pol-n220的d&c结构允许保证各个核的两个输入或两个输出之间的随机变量的独立性,因此,概率函数计算可以贯穿极化器pol-n220的所有d&c结构进行传播,因此,使得能够根据用于执行传递并在极化器pol-n220的输出处加以考虑的有效bdmc的概率函数
根据前述,可以引出图2d中示意性示出的概率函数传播的算法,然后将该算法用于决定冻结比特位置。
在步骤s291中,极化器pol-n220执行调用以执行概率函数
在随后步骤s292中,极化器pol-n220检查n是否等于“2”。如果n等于“2”,则执行步骤s293;否则执行步骤s294。
在步骤s293中,极化器pol-n220执行以下运算以得到由此考虑的概率函数
然后执行步骤s298。
在步骤s294中,极化器pol-n220调用概率函数
在随后步骤s295中,极化器pol-n220调用概率函数
必须要注意,步骤s294和步骤s295可以颠倒或并行执行。
在随后步骤s296中,极化器pol-n220针对中间概率函数p′1:n应用混洗运算invshuff的反函数invshuffp′1:n,以便获得关于所考虑的并行核的输出的中间概率函数。
在随后步骤s297中,极化器pol-n220计算如下:
以便获得关于所考虑的并行核的输入的概率函数。然后执行步骤s298。
在步骤s298中,极化器pol-n220将输出值
最后,对于极化器pol-n220,概率函数
因此,如图4a中示意性表示的模块化结构所示,按能够从解码器120进行的观测y中取回矢量b的估计b*的方式,所述解码器120包括llr计算模块421、置信传播解码器422以及决策器423,它们一起形成解码器120的解码部分420。解码器120还包括解复用器410,该解复用器根据编码器110使用的冻结比特的位置的知识,将矢量b的估计b*转换成矢量b′的估计b′*。llr计算模块421以llr形式输出观测(即,矢量lx)lx,然后该矢量lx由置信传播解码器422结合作为极性码输入处的先验概率的矢量并且由于冻结比特值和位置的先验知识而被初始化的、也采用llr形式的lb来使用所述观测,以便输出同样是llr形式的估计
通过图4b中的算法示意性地示出解码器120的行为。
在步骤s451中,解码器120首先将矢量lb初始化为空矢量,然后解码器120根据编码器110使用的冻结比特的位置的知识来修改矢量lb如下:
其中,+∞表示第j个比特的llrlb(j)给出′0′作为该比特的值,其中概率为1。必须要注意,冻结比特是利用值′1′而不是值′0′来初始化的,llr的值应为-∞。
其中,+∞在数值上用一个足够高的值来表示,该值超出了在任何尺寸为n的极化器的输入处可能存在的llr值的范围,其中,n为“2”的幂,以使0<n≤n/2。这表示,对于与矢量b中的冻结比特的位置相对应的任何索引值,将所述索引值处的矢量lb的值设定成无穷大或者代表其的默认值,否则设定成“0”。
在随后步骤s452中,解码器120利用空值来初始化内部变量
在随后步骤s453中,解码器120根据极化器pol-n220的已知d&c并且根据采用llr形式的观测lx,利用内部变量
在随后步骤s454中,解码器120根据置信传播解码器422输出的估计
然后,由于解码器120获知矢量b中的冻结比特的位置,因此解码器能够从该位置提取信息比特,以便形成矢量b′的估计b′*,这结束了使用极性码方法将所述信息比特从编码器110传递至解码器120。
通过应用图4c中示意性地示出的因子图,根据图4d中的算法示意性地示出了置信传播解码器422的行为,如在步骤s453中显见的。
置信传播在极化器pol-n220的各个核内从左到右和从右到左传播概率(置信)。参照图4c中示意性地表示的核,让我们考虑这样的核,即,从该核的左侧起具有输入置信(采用llr的形式)
在步骤s471中,置信传播解码器422针对输入置信(
在步骤s472中,置信传播解码器422检查n是否等于“2”。如果n等于“2”,则执行步骤s473;否则,执行步骤s474。
在步骤s473中,置信传播解码器422执行以下运算,以便得到所涉及的输出置信
然后,执行步骤s479。
在步骤s474中,置信传播解码器422执行用于进行置信
在随后步骤s475中,置信传播解码器422调用置信
在随后步骤s476中,置信传播解码器422调用置信
必须要注意,步骤s474、步骤s475以及步骤s476可以颠倒或并行执行。
在随后步骤s477中,置信传播解码器422将混洗运算invshuff的反函数invshuff应用到数据
在随后步骤s478中,置信传播解码器422将混洗运算shuff应用到数据
必须要注意,步骤s477和步骤s478可以颠倒或并行执行。
在随后步骤s479中,置信传播解码器422将输出置信度
极性码方法的主要优势在于其渐近最优性。渐近条件导致用于传递信息比特的完美信道(交互信息等于“1”,或错误率等于“0”)并且导致用于传递冻结比特的空信道(交互信息等于“0”,或错误率等于“1”)。从上面的介绍性描述中可以看出,在有限长度下,信道极化尚未完全收敛至完美的等效信道和空的等效信道,从而导致具有非空错误率的非完美等效全局信道和用于信息比特的非单一交互信息。而且,由此在具有非零交互信息的信道上传递冻结比特,这涉及因极化器pol-n220保存容量而造成的信息速率损失。
技术实现要素:
希望改进,优选地最小化错误概率和/或改进,优选地最大化针对有限长度极性码的信息率。
还希望提供一种允许保持极性码的低复杂性益处的解决方案。还希望提供一种简单且成本有效的解决方案。
为此,本发明涉及一种用于配置基于极性码的编码器的分治结构的方法,所述基于极性码的编码器执行经由二进制离散输入无记忆信道向基于极性码的解码器传递有用数据,所述方法由所述基于极性码的编码器执行,所述分治结构包括复用器和随后的尺寸为n=2l的极化块,所述复用器以有用数据比特和一组冻结比特作为输入,以便形成输入数据
因此,实现了在bdmc上使用的有限长度极性码的性能的改进。此外,保持了所述极性码的低复杂性益处。
根据特定实施方式,所述品质因数是基于交互信息的,并且规定如下:
其中,假设所述输入
因此,通过依赖于这种交互信息,可以成本有效地实现极性码改进。
根据特定实施方式,所述品质因数与信息字解码成功相关,并且规定如下:
其中,
因此,通过依赖于这种误码概率,可以成本有效地实现极性码改进。
根据特定实施方式,所述动态可配置交织器的所述一组交织配置是通过考虑所有可能的交织配置输入-输出关联开关,利用遗传法来规定的。
因此,交织配置测试是经成本有效地执行的,以便达到适应在bdmc上发生的变化的优化交织配置。
根据特定实施方式,所述动态可配置交织器的所述一组交织配置聚集因所述动态可配置交织器而成为可能的所有交织配置。
因此,彻底地执行交织配置测试。
根据特定实施方式,所述动态可配置交织器的所述一组交织配置包括交织配置的预先规定的码本。
因此,成本有效地执行交织配置测试。
根据特定实施方式,所述动态可配置交织器的所述一组交织配置包括所述动态可配置交织器的预先规定的随机配置。
因此,成本有效地执行交织配置测试。
根据特定实施方式,所述二进制离散输入无记忆信道是通过依赖于擦除率来建模的二进制擦除信道,所述擦除率是为获得所述概率函数
因此,改进了二进制擦除信道上的传输。
根据特定实施方式,所述二进制离散输入无记忆信道是加性高斯白噪声信道,在所述加性高斯白噪声信道上,通过依赖于信噪比来使用并建模二进制相移键控调制,所述信噪比是为获得所述概率函数
因此,改进了在其上使用二进制相移键控调制的加性高斯白噪声信道上的传输。
本发明还涉及一种用于执行经由二进制离散输入无记忆信道从基于极性码的编码器向基于极性码的解码器传递有用数据的方法,所述基于极性码的编码器包括分治结构,所述分治结构包括以有用的数据比特和一组冻结比特作为输入的复用器以及随后的尺寸为n=2l的极化块,其中,所述基于极性码的编码器执行权利要求1至9中的任一项所述的方法,并且所述基于极性码的解码器执行:检测所述二进制离散输入无记忆信道中的变化;根据检测到的所述二进制离散输入无记忆信道中的变化,获得由所述基于极性码的编码器动态地规定的交织配置;根据获得的交织配置来配置置信传播解码器。所述方法还使得如此配置的置信传播解码器是在基于极性码的解码器中实现的,以便解码在来自基于极性码的编码器的有用数据的传递期间由所述基于极性码的解码器经由所述二进制离散输入无记忆信道进行的观测。
根据特定实施方式,所述基于极性码的解码器在动态地确定要应用的所述交织配置时,通过考虑到概率函数
因此,可以避免从所述基于极性码的编码器到所述基于极性码的解码器的极性码结构信息传递。
本发明还涉及一种基于极性码的编码器,所述基于极性码的编码器旨在执行经由二进制离散输入无记忆信道向基于极性码的解码器传递有用数据,所述基于极性码的编码器包括分治结构,所述分治结构包括以有用的数据比特和一组冻结比特作为输入的复用器以及随后的尺寸为n=2l的极化块,其中,尺寸为n的极化块包括一组前核以及随后的混洗器和两个尺寸为n/2的互补极化子块,互补极化子块的结构与尺寸为n的极化块相似但具有一半尺寸,其中,所述混洗器将其奇数项分配至所述互补极化子块中的一个并将其偶数项分配至所述互补极化子块中的另一个,使得所述分治结构能以等于l的深度进行递归。所述基于极性码的编码器还使得在所述分治结构的每次递归时,在所述混洗器与所述互补极化子块中的一个和/或另一个之间存在动态可配置交织器,并且所述基于极性码的编码器还包括:用于检测所述二进制离散输入无记忆信道中的变化的装置;用于根据检测到的二进制离散输入无记忆信道中的变化来获得概率函数
本发明还涉及一种包括基于极性码的编码器和基于极性码的解码器的系统,所述基于极性码的编码器旨在执行经由二进制离散输入无记忆信道向所述基于极性码的解码器传递有用数据,所述基于极性码的编码器包括分治结构,所述分治结构包括以有用的数据比特和一组冻结比特作为输入的复用器以及随后的尺寸为n=2l的极化块,其中,如上所述的基于极性码的编码器,和所述基于极性码的解码器还包括:用于检测所述二进制离散输入无记忆信道中的变化的装置;用于以下步骤的装置:根据所检测到的所述二进制离散输入无记忆信道中的变化,获得由所述基于极性码的编码器动态地规定的交织配置;用于根据所获得的交织配置来配置置信传播解码器的装置。所述系统还使得由此配置的置信传播解码器是在基于极性码的解码器中实现的,以便解码在来自基于极性码的编码器的有用数据的传递期间由所述基于极性码的解码器经由所述二进制离散输入无记忆信道进行的观测。
在至少一个实施方式中,本发明还涉及一种可以从通信网络下载和/或存储在可以通过计算机读取并且通过处理器或处理电子设备电路运行的非暂时性信息存储介质上的计算机程序。该计算机程序包括当所述程序通过处理器或处理电子设备电路运行时,用于实现本发明的不同实施方式中的任一个实施方式中的前述方法的指令。
本发明还涉及存储包括一组指令的计算机程序的非暂时性信息存储介质,当所存储信息通过计算机从非暂时性信息存储介质读取并且通过处理器或处理电子设备电路运行时,该组指令可以通过处理器运行,以实现本发明的不同实施方式中的任一个实施方式中的前述方法。
根据阅读实施方式的示例的下列描述,本发明的特征将更清楚地显现,所述描述参照附图生成。
附图说明
图1示意性地表示包括极性码编码器和对应的极性码解码器的系统。
图2a示意性地表示根据现有技术的编码器的编码部分。
图2b示意性地表示根据现有技术的编码部分的模块化架构。
图2c示意性地表示在根据现有技术的编码部分中使用的核结构。
图2d示意性地表示根据现有技术的用于决定冻结比特位置的概率函数传播的算法。
图3示意性地表示用于根据图2b中所示的模块化架构执行编码的递归算法。
图4a示意性地表示根据现有技术的解码部分的模块化架构。
图4b示意性地表示根据现有技术的解码算法。
图4c示意性地表示应用于图2c中示意性示出的核结构的因子图。
图4d示意性地表示根据现有技术的置信传播算法。
图5a示意性地表示根据本发明的编码部分的模块化架构的第一实施方式。
图5b示意性地表示根据本发明的编码部分的模块化架构的第二实施方式。
图5c示意性地表示根据本发明的编码部分的模块化架构的第三实施方式。
图6示意性地表示根据本发明的解码部分的模块化架构。
图7示意性地表示根据本发明的用于配置编码部分的算法。
图8示意性地表示根据本发明的用于按遗传方法确定编码部分的恰当配置的算法。
图9示意性地表示根据本发明的用于决定冻结比特位置的概率函数传播的算法。
图10示意性地表示可以用于实现极性码编码器和/或极性码解码器的硬件架构。
图11示意性地表示根据本发明的解码算法。
图12示意性地表示可以用于实现极性码解码器的硬件架构。
图13示意性地表示根据本发明的置信传播算法。
具体实施方式
以下描述适用于包括基于极性码的编码器的发送器与包括包括对应的基于极性码的解码器的接收器的接收器之间的无线通信。以下详述的原理也可以应用于其它种类的通信,例如光通信或有线通信。此外,本文详述的原理还可以应用于编码原始数据、将编码的数据存储在存储器中并稍后读取存储的数据以进一步解码和取回原始数据的背景下。
本文所述的系统依赖于与图1中所示相同的背景。然而,编码器110和解码器120如下文详述地设置。
图5a示意性地表示根据本发明的极化器pol-n220的模块化架构的第一实施方式。
如在图2b中,极化器pol-n220包括前核250、混洗器260、尺寸为n/2的上极化器upol-n/2271、尺寸为n/2的下极化器lpol-n/2272以及合并器280。与图2b中的排布结构相反,图5a所示的第一实施方式还包括插入在混洗器260与尺寸为n/2的下极化器lpol-n/2272之间的交织器500。上极化器upol-n/2271和下极化器lpol-n/2272具有相同的结构,并且像极化器pol-n220一样构建,但具有极化器pol-n220的一半尺寸。这意味着尺寸为n/2的每个极化器是由另外两个尺寸为n/4的极化器构建的等等,直到达到一对尺寸等于“2”的极化器即可,如图2c所示。因此,在第一实施方式中,将这样的交织器500布置在每个混洗器与每个下极化器之间。每个交织器500可以进行动态配置,以便能够动态地规定所讨论的混洗器的n/2(其中,n为2的幂,以使2<n≤n/2)的所涉及输出当中的哪个输出连接至所讨论的下极化器的哪个输入。如下文所述,每个交织器500可以独立于极化器pol-n220的任何其它交织器500来进行配置。
极化器pol-n220还包括配置器512,每个交织器500都连接到配置器512。配置器512负责配置每个交织器500。因此,配置器512动态地规定所讨论的混洗器的n/2(其中,n为2的幂,以使2<n≤n/2)的所涉及输出当中的哪个输出连接至所讨论的下极化器的哪个输入。下面,关于图7和图8来详细说明该方面。
极化器pol-n220还包括检测器511,该检测器连接至配置器512,以便激活配置器512,以规定要由极化器pol-n220的交织器500应用的新配置。下文中,针对图7对该方面进行详细说明。
图5b示意性地表示根据本发明的极化器pol-n220的模块化架构的第二实施方式。
如在图2b中,极化器pol-n220包括前核250、混洗器260、尺寸为n/2的上极化器upol-n/2271、尺寸为n/2的下极化器lpol-n/2272以及合并器280。与图2b中的排布结构相反,图5b所示的第二实施方式还包括交织器500。在图5b中,交织器500插入在混洗器260与尺寸为n/2的上极化器upol-n/2271之间。上极化器upol-n/2271和下极化器lpol-n/2272具有相同的结构,并且像极化器pol-n220一样构建,但具有极化器pol-n220的一半尺寸。这意味着尺寸为n/2的每个极化器是由另外两个尺寸为n/4的极化器构建的等等,直到达到一对尺寸等于“2”的极化器即可,如图2c所示。因此,在第二实施方式中,将这样的交织器布置在每个混洗器与每个上极化器之间。每个交织器可以进行动态配置,以便能够动态地规定所讨论的混洗器的n/2(其中,n为2的幂,以使2<n≤n/2)的所涉及输出当中的哪个输出连接至所讨论的上极化器的哪个输入。如下文所述,每个交织器可以独立于极化器pol-n220的任何其它交织器来进行配置。
极化器pol-n220还包括配置器512,每个交织器500都连接到配置器512。配置器512负责配置每个交织器500。因此,配置器512动态地规定所讨论的混洗器的n/2(其中,n为2的幂,以使2<n≤n/2)的所涉及输出当中的哪个输出连接至所讨论的上极化器的哪个输入。下面,关于图7和图8来详细说明该方面。
极化器pol-n220还包括检测器511,该检测器连接至配置器512,以便激活配置器512以规定要由极化器pol-n220的交织器500应用的新配置。下文中,针对图7对该方面进行详细说明。
图5c示意性地表示根据本发明的极化器pol-n220的模块化架构的第三实施方式。
如在图2b中,极化器pol-n220包括前核250、混洗器260、尺寸为n/2的上极化器upol-n/2271、尺寸为n/2的下极化器lpol-n/2272以及合并器280。与图2b中的排布结构相反,图5b所示的第三实施方式还包括两个交织器501和502。在图5c中,交织器501插入在混洗器260与尺寸为n/2的上极化器upol-n/2271之间,并且交织器502插入在混洗器260与尺寸为n/2的下极化器lpol-n/2272之间。上极化器upol-n/2271和下极化器lpol-n/2272具有相同的结构,并且像极化器pol-n220一样构建,但具有极化器pol-n220的一半尺寸。这意味着尺寸为n/2的每个极化器是由另外两个尺寸为n/4的极化器构建的等等,直到达到一对尺寸等于“2”的极化器即可,如图2c所示。因此,在第三实施方式中,将这样的一个交织器501布置在每个混洗器与每个上极化器之间,并且将这样的另一个交织器502布置在每个混洗器与每个下极化器之间。每个交织器501和502可以进行动态配置,以便能够动态地规定所讨论的混洗器的n/2(其中,n为2的幂,以使2<n≤n/2)的所涉及输出当中的哪个输出连接至所讨论的上极化器的哪个输入,并且能够动态地规定所讨论的混洗器的n'/2(其中,n'为2的幂,以使2<n'≤n/2)的所涉及输出当中的哪个输出连接至所讨论的下极化器的哪个输入。如下文所述,每个交织器501和502可以独立于极化器pol-n220的任何其它交织器501和502来进行配置。
必须注意,在极化器pol-n220的内部结构中引入交织器501和502保持输入至上极化器upol-n/2271的随机变量与输入至下极化器lpol-n/2272的随机变量之间的独立性。
极化器pol-n220还包括配置器512,每个交织器501和502都连接到配置器512。配置器512负责配置每个交织器501和502。因此,配置器512动态地规定所讨论的混洗器的n/2(其中,n为2的幂,以使2<n≤n/2)的所涉及输出当中的哪个输出连接至所讨论的下极化器的哪个输入,并且配置器512动态地规定所讨论的混洗器的n/2(其中,n为2的幂,以使2<n≤n/2)的所涉及输出当中的哪个输出连接至所讨论的上极化器的哪个输入。下面,关于图7和图8来详细说明该方面。
极化器pol-n220还包括检测器511,该检测器连接至配置器512,以便激活配置器512以规定要由极化器pol-n220的交织器501和502应用的新配置。下文中,针对图7对该方面进行详细说明。
如已提到的,极化器pol-n220的尺寸为n=2l,并且包括具有分别等于n/2的尺寸的两个子极化块,并且所述子极化块中的每一个都包括具有分别等于n/4的尺寸的两个子极化块等等。最后,极化器pol-n220包括l-1个子极化级,这意味着2(2l-1-1)个子极化块,其内2i个子极化块具有等于2l-i的尺寸。
例示性地考虑
-ub(i)=1表明所讨论的交织器位于d&c结构的第i次递归的下分支上;和
-ub(i)=0表明所讨论的交织器位于d&c结构的第i次递归的上分支上。
当由索引u标识的交织器存在于第i个子极化级处时(强制地处于所述第i个次极化级的混洗器与下子极化块之间),这意味着输入ub(i)=1,然后输入ub(j>i)=0。
换句话说,对于给定的交织配置
图6示意性地表示根据本发明的解码部分的模块化架构。
如在图4b中,解码器120包括llr计算模块421、置信传播解码器422以及决策器423,它们一起形成解码器120的解码部分420。解码器120还包括解复用器410,该解复用器根据编码器110所使用的冻结比特的位置的知识,将矢量b的估计b*转换成矢量b′的估计b′*。llr计算模块421输出观测lx(因此采用llr形式),然后,所述观测被置信传播解码器422结合先验概率lb(也采用llr形式)使用,以便输出估计
解码器120还包括配置器602以及检测器601。检测器601负责检测bdmc的变化应当已经暗示了编码器110的d&c结构的变化。检测器601通过监测bdmc的相关参数来检测这种变化,或者通过编码器110通知检测器601发生了这种变化。配置器602负责对置信传播解码器422进行配置,使得置信传播解码器422考虑编码器110的最新d&c结构。
图7示意性地表示根据本发明的用于配置极化器pol-n220的算法。
在步骤s701中,检测器511检测到必须确定并应用极化器pol-n220的新配置。在所考虑的bdmc参数(例如,擦除率或snr)的变化(超过预定义阈值)之后,检测对极化器pol-n220的所述新配置的需要,其中,对所述考虑的bdmc参数进行监测。
在随后步骤s702中,配置器512获得使用中的实际bdmc的更新的概率函数
当以数值方式估计概率函数
在随后步骤s703中,配置器512确定待检查的交织配置,即,交织器500的一组相应配置或交织器501和502的一组相应配置。预期配置器512检查交织器500的各种配置或者交织器501和502的各种配置。
根据特定实施方式,配置器512在图7的算法的范围内检查交织器500的所有可能配置或者交织器501和502的所有可能配置。
根据另一特定实施方式,配置器512在图7的算法的范围内检查交织器500的所有可能配置或者交织器501和502的所有可能配置,所述所有可能配置是在交织配置的预定义码本中规定的。
根据又一特定实施方式,配置器512在图7的算法的范围内检查交织器500的预先规定的量的随机配置或者交织器501和502的预先规定的量的随机配置,所述预先规定的量的随机配置包括所有交织器被配置为透明的配置。
根据又一特定实施方式,配置器512通过考虑所有可能的交织配置输入-输出关联开关,利用遗传方法,在图7的算法的范围内检查交织器500的配置或者交织器501和502的配置。下面,关于图8,通过示例来详细说明该方面。
在随后步骤s704中,配置器512通过考虑根据在步骤s703中确定的交织配置设置的极化器pol-n220的d&c结构,获得与在步骤s702中获得的更新的概率函数
在随后步骤s705中,配置器512通过将相对于在步骤s704中获得的更新的概率函数
在随后步骤s706中,配置器512计算预定义的品质因数的值,该预定义的品质因数的值是表示从编码器110到解码器120的数据传递的性能的估计。
根据步骤s706的第一实施方式,所述品质因数基于交互信息,并且规定如下:
其中,假设输入
根据步骤s706的第二实施方式,所述品质因数与信息字解码成功相关,并且被规定如下:
其中,
在随后步骤s707中,配置器512确定是否存在待检查的至少一个其它交织配置。如果存在待检查的至少一个其它交织配置,则重复步骤s703;否则执行步骤s708。
在步骤s708中,配置器512保持交织配置和冻结比特的位置,所述交织配置和冻结比特联合提供最佳的品质因数值,即,显示从编码器110到解码器120的数据传递的最佳性能的值。配置器512应用保留的交织配置,即,根据保留的交织配置来对交织器500或交织器501和502进行配置。
在特定实施方式中,编码器110向解码器120通知保留的交织配置以及冻结比特的对应位置。在变型实施方式中,解码器120的配置器602使用与编码器110的配置器512相同的方法,通过模拟来确定保留的交织配置和冻结比特的对应位置。解码器120的检测器601可以监测所考虑的bdmc参数并且自己检测所述bdmc中的变化。另一种方法是编码器110向解码器120通知bdmc的变化,并将表示更新的概率函数
图8示意性地表示用于按遗传方法确定极化器pol-n220的恰当配置的算法。为简单考虑起见,图8描述了如何通过使用遗传方法来优化交织配置φ1。主要原理是通过修改由索引u=1(其中,u是如上所述定义的)标识的交织器中的输入-输出关联来测试各种交织配置,并因此测试极化器pol-n220的各种配置。通过重新计算等效bdmc的概率函数
在步骤s802中,极化器pol-n220初始化交织配置φ1如下:
这意味着交织配置φ1在初始化后是透明的。
在步骤s803中,极化器pol-n220将局部变量psbestsav初始化成“0”。
在步骤s804中,极化器pol-n220利用φ1的内容来初始化局部变量φbest,并且利用局部变量psbestsav的内容来初始化局部变量psbest。此外,极化器pol-n220将第一索引i1设定成“1”。
在步骤s805中,极化器pol-n220利用第一索引i1的值初始化第二索引i2。
在步骤s806中,极化器pol-n220利用φ1的内容来初始化局部变量φtest。
在步骤s807中,极化器pol-n220交换φtest(i1)和φtest(i2)两者的输入,这意味着连接至输出φtest(i1)的交织配置φtest的输入被反转成,其中φtest(i2)交织配置φtest的输入被连接至输出φtest(i2)。因此除了迭代之外,获得新的交织配置,其中,i1=i2。这种方法考虑其中i1=i2允许测试其中所有和任何交织器被设定为透明的配置的情况(这导致现有技术的d&c结构)。
在步骤s808中,极化器pol-n220根据在步骤s807中获得的交织配置φtest,计算解码成功概率
在步骤s809中,极化器pol-n220执行排序运算,用于按降序对由
在步骤s810中,极化器pol-n220计算如下规定的乘积值ps:
这意味着只保留矢量p′s的前n.r个项以计算乘积值ps,因此,它表示利用交织配置φtest获得的n.r个最佳虚设bdmc的全局信息字解码成功概率,或者,换句话说,使用中的品质因数对应于字解码成功率。
在步骤s811中,极化器pol-n220检查乘积值ps是否大于局部变量psbest。如果乘积值ps大于局部变量psbest,则执行步骤s812;否则执行步骤s813。
在步骤s812中,极化器pol-n220在局部变量φbest中存储局部变量的内容φtest。而且,极化器pol-n220在局部变量psbest中存储乘积值ps。然后执行步骤s813。
在步骤s813中,极化器pol-n220检查第二索引i2是否等于n/2。如果第二索引i2等于n/2,则执行步骤s815;否则执行步骤s814。
在步骤s814中,极化器pol-n220将第二索引i2递增一个单位。接着,重复步骤s806。
在步骤s815中,极化器pol-n220检查第一索引i1是否等于n/2。如果第一索引i1等于n/2,则执行步骤s817;否则执行步骤s816。
在步骤s816中,极化器pol-n220将第二索引i1递增一个单位。接着,重复步骤s805。
在步骤s817中,极化器pol-n220检查存储在局部变量psbest中的值是否大于存储在局部变量psbestsav中的值,即,极化器pol-n220检查导致存储在局部变量psbest中的值的配置与任何先前考虑的交织配置φ1相比,相对于所考虑的品质因数是否显示数据传递改进。如果存储在局部变量psbest中的值大于存储在局部变量psbestsav中的值,则执行步骤s818;否则执行步骤s819。在步骤s819中,图8中的算法结束,这意味着已经找到了要应用的交织配置φ1。
在步骤s818中,极化器pol-n220将交织器配置φtest存储为交织配置φ1。而且,极化器pol-n220将存储在局部变量psbest中的值存储在局部变量psbestsav中。接着,重复步骤s804。
在图8的算法的范围内,例示性地使用的品质因数是字解码成功率,并且通过选择示出关于概率函数
图10示意性地表示编码器110的架构的实施方式。根据所示架构,编码器110包括通过通信总线1006互连的以下组件:处理器、微处理器、微控制器或cpu(中央处理单元)1000;ram(随机存取存储器)1001;rom(只读存储器)1002;sd(安全数字)读卡器1003,或适于读取存储在诸如hdd(硬盘驱动器)的存储装置上的信息的任何其它装置;以及,经由使用极性码的bdmc朝向解码器120的通信接口1004。
cpu1000能够执行从rom1002或从诸如hdd或sd卡的外部存储器加载到ram1001中的指令。在编码器110加电之后,cpu1000能够从ram1001读取指令并且执行形成一个计算机程序的这些指令。
由编码器110执行的任何和所有步骤可以通过由可编程计算机器执行一组指令或程序而以软件实现,诸如pc(个人计算机)、dsp(数字信号处理器)或微控制器;要不就通过诸如fpga(现场可编程门阵列)或asic(专用集成电路)的机器或专用组件而以硬件实现。类似地,图5a、图5b以及图5c中呈现的模块化架构实施方式可以以软件形式或以硬件形式来实现。通常,编码器110包括处理电子设备电路,该处理电子设备电路被配置用于实现本文所述的要由编码器110执行的相关步骤。
通过图11中的算法示意性地示出了根据本发明的解码器120的行为。
在步骤s1101,解码器120检测到bdmc的变化表示了编码器110的d&c结构的变化。解码器120通过监测bdmc的相关参数来(与编码器110所进行的类似)检测自身的这种变化,或者通过编码器110利用信令信道通知发生了这种变化。
在步骤s1102中,解码器120首先将矢量lb初始化为空矢量,然后解码器120根据编码器110使用的冻结比特的位置的知识来修改矢量lb如下:
其中,+∞在数值上用一个足够高的值来表示,该值超出了在任何尺寸为n的极化器的输入处可能存在的llr值的范围,其中,n为“2”的幂,使得0<n≤n/2。这意味着对于与矢量b中的冻结比特的位置相对应的任何索引值,将矢量lb的所述索引值处的值设定成无穷大或者代表其的默认值,否则设定成“0”。
解码器120能够通过根据概率函数
类似地,解码器120能够通过根据概率函数
在随后步骤s1103中,解码器120利用空值来初始化内部变量
在随后步骤s1104中,解码器120根据极化器pol-n220的已知d&c结构(包括交织配置)并且根据采用llr形式的观测lx,利用内部变量
置信传播的输出是矢量
在随后步骤s1105中,解码器120等待在bdmc上进行的观测的可用性,并且所述观测是通过llr计算模块421以llr形式来进行提供的,即,矢量lx。
在随后步骤s1106中,解码器120已经获得与由编码器110利用极坐标编码传递的信息字(即,矢量b)相对应的矢量lx,并且解码器120根据置信传播解码器422输出的估计
然后,由于解码器120获知矢量b中的冻结比特的位置,因此解码器能够从该位置提取信息比特,以便形成矢量b′的估计b′*,这结束了使用极性码方法将所述信息比特从编码器110传递至解码器120。
在随后步骤s1107中,解码器120检查使用中的实际bdmc是否有变化。如已提到的,检测器601可以监测bdmc的相关参数,以便检测前述概率函数
图12示意性地表示解码器120的架构的实施方式。根据所示架构,解码器120包括通过通信总线1006互连的以下组件:处理器、微处理器、微控制器或cpu1200;ram1201;rom1202;sd读卡器1203,或适于读取存储在诸如hdd的存储装置上的信息的任何其它装置;以及经由被使用极性码的bdmc接收来自解码器129的通信的通信接口1204。
cpu1200能够执行从rom1202或从诸如hdd或sd卡的外部存储器加载到ram1201中的指令。在解码器120已经加电之后,cpu1200能够从ram1201读取指令并且执行形成一个计算机程序的这些指令。
由解码器120执行的任何和全部步骤可以通过由可编程计算机器执行一组指令或程序而以软件实现,诸如pc、dsp或微控制器;要不就通过诸如fpga或asic的机器或专用组件而以硬件实现。类似地,图6中呈现的模块化架构实施方式可以以软件形式或以硬件形式实现。通常,解码器120包括处理电子设备电路,该处理电子设备电路被配置用于实现本文所述的要由解码器120执行的相关步骤。