发明内容
本发明要解决的问题是提出一种Turbo码编码器及编码方法,解决现有系统中编码复杂度高和处理延迟较大的问题。
本发明要解决的问题还包括提出一种Turbo码译码器及译码方法,解决现有系统中译码处理的复杂度高和译码延迟较大的问题。
为了达到上述目的,本发明公开了一种Turbo码编码器,包括:
交织器,所述交织器将输入信息序列
进行交织,得到交织后的序列
其中K表示输入信息序列的比特分组的数目;复用器,所述复用器将输入信息序列
与交织后的序列
复接为
分量编码器,所述分量编码器将序列
输入进行第一次编码,得到分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值,将所述循环状态值初始化分量编码器的寄存器,再将所述
送入分量编码器进行第二次编码输出校验序列
将所述输入信息序列和校验序列输出。
根据本发明的实施例,所述分量编码器包括递归卷积编码器。
根据本发明的实施例,所述递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/或{1,0,0,1}。
根据本发明的实施例,所述校验序列Xp由前馈多项式{1,0,1,1}和/或{1,0,0,1}输出。
根据本发明的实施例,所述Turbo码为双二进制编码,相应的,每两比特为一组,所述输入信息序列的长度为2K比特。
根据本发明的实施例,所述查表获得相应的循环状态值包括:对所述输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2m-1)取模,即r=[(1+t)×K]mod(2m-1),其中t为交织器的个数,m为分量编码器寄存器的个数;根据所述r值以及所述S值,查表得到相应的循环状态值。
根据本发明的实施例,所述交织器为1个,所述分量编码器寄存器为3个,相应地,r=2Kmod(7)。
根据本发明的实施例,所查询的状态表为:
其中,S02K-1表示分量编码器的寄存器第一次编码结束时的状态值。
本发明还公开了一种Turbo码编码方法,包括以下步骤:将所述输入信息序列
以及交织处理后的序列
复接为
其后送入分量编码器进行第一次编码,其中K表示输入信息序列的比特分组的数目;获得分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值;将所述循环状态值初始化分量编码器的寄存器,再将所述
送入分量编码器进行第二次编码输出校验序列
将所述输入信息序列和校验序列输出。
根据本发明的实施例,所述分量编码器包括递归卷积编码器。
根据本发明的实施例,所述递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/或{1,0,0,1}。
根据本发明的实施例,所述校验序列Xp由前馈多项式{1,0,1,1}和/或{1,0,0,1}输出。
根据本发明的实施例,所述Turbo码为双二进制编码,相应的,每两比特为一组,所述输入信息序列的长度为2K比特。
根据本发明的实施例,所述查表获得相应的循环状态值包括:对所述输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2m-1)取模,即r=[(1+t)×K]mod(2m-1),其中t为交织器的个数,m为分量编码器寄存器的个数;根据所述r值以及所述S值,查表得到相应的循环状态值。
根据本发明的实施例,所述交织器为1个,所述分量编码器寄存器为 3个,相应地,r=2K mod(7)。
根据本发明的实施例,所查询的状态表为:
其中,S02K-1表示分量编码器的寄存器第一次编码结束时的状态值。
本发明还公开了一种Turbo码译码器,包括:分离器,所述分离器将输入的接收信息分为系统比特流、校验比特流输出;分量译码器,所述分量译码器将输入的所述系统比特流、所述校验比特流、先验信息以及状态估计信息,译码输出对应于所述系统比特流的似然比和附加信息,所述分量译码器迭代译码直到迭代译码的次数达到预定的次数为止;先验信息产生器,所述先验信息产生器将输入的所述附加信息进行变化加权后输出所述先验信息;状态估计器,所述状态估计器根据输入的所述系统比特流、所述校验比特流、以及所述先验信息,输出更新后的状态估计信息,所述分量译码器每次迭代译码开始时采用所述状态估计信息进行译码器状态的初始化;判决器,所述判决器将所述系统比特流的似然比判决输出译码信息。
根据本发明的实施例,所述分离器包括:交织器,所述交织器将所述接收信息中的信息序列X={x0,x1,…,xK-1}进行交织,得到序列X∏={x∏(0),x∏(1),…,x∏(K-1)};复用器,所述复用器将X和X∏进行复接,得到所述系统比特流X′={X,X∏}。
根据本发明的实施例,所述分量译码器将输入的系统比特流X′、校验比特流以及先验信息,译码输出对应于X′的似然比LLR={l0,l1,…,l2K-1}以及附加信息W={w0,w1,…,w2K-1}。
根据本发明的实施例,所述先验信息产生器包括:置换器,所述置换器将附加信息序列W={w0,w1,…,w2K-1}进行置换处理,得到置换的附加信息序列 其中, ∏-1代表去交织器的去交织运算,∏-1(i)代表去交织器输出的第i个元素;将置换的附加信息序列 进行加权后输出,得到先验信息序列Z=α×W′,α为加权权值。
根据本发明的实施例,所述判决器包括:解复用器,所述解复用器用于将所述似然比LLR={l0,l1,…,l2K-1}截取分为以下两个部分解复用得到D={l0,l1,…,lK-1}和E={lK,lK+1,…,l2K-1};硬判决器,所述硬判决器将所述D输入,硬判决译码输出Xo,其中Xo={H(d0),H(d1),…,H(dK-1)}, 或者
根据本发明的实施例,所述判决器还包括:解交织器,所述解交织器将E经过解交织后得到 所述判决器将D和F的对应位求和,其后输入所述硬判决器。
根据本发明的实施例,所述判决器还包括:所述判决器将所述F输入所述硬判决器。
本发明还公开了一种Turbo码译码方法,包括以下步骤:将输入的接收信息分为系统比特流、校验比特流输出;所述分量译码器将输入的所述系统比特流、所述校验比特流、先验信息以及状态估计信息进行译码,所述分量译码器每次迭代译码开始时采用更新后的所述状态估计信息进行译码器状态的初始化,译码输出对应于所述系统比特流的似然比和附加信息,所述分量译码器迭代译码直到迭代译码的次数达到预定的次数为止;将所述系统比特流的似然比判决输出译码信息。
根据本发明的实施例,所述分量译码器译码采用的算法包括:MAP算法、Log-MAP算法或Max-Log-MAP算法。
根据本发明的实施例,所述似然比判决输出译码信息包括:将所述系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列 分别为D和E,将D序列硬判决输出作为译码信息。
根据本发明的实施例,所述似然比判决输出译码信息包括:将所述系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列分别为D和E,将E序列解交织后与D序列对应位求和,并将求和结果得到的序列硬判决输出作为译码信息。
根据本发明的实施例,所述似然比判决输出译码信息包括:将E序列解交织后再硬判决输出作为译码信息。
相对于需要经过4次编码过程和2次循环状态值的计算的WiMAX中的Turbo码,本发明采用分量编码器对输入信息序列以及经过交织的数据序列进行第一次连续的编码,基于这个连续编码的结果,计算一个循环状态值,并用这个循环状态值初始化分量编码器的寄存器,把分量编码器的寄存器的状态值设置为循环状态值,分量编码器再对输入信息序列以及经过交织的数据序列进行第二次连续的编码,并输出第二次连续编码结果作为最终的编码结果。本发明的编码方案只需要经过2次编码过程和1次循环状态值的计算,采用本发明公开的技术方案,降低了编码的复杂度、编码的处理延迟,提高了编码的处理速度。
相应地,本发明采用一个分量译码器对系统信息位序列、校验位序列、先验信息序列进行连续的SISO译码,在SISO译码完成后,输出对应于系统信息位的附加信息序列和似然值序列。在后续的迭代译码的过程中,置换处理单元对附加信息序列进行置换处理,并将输出用于先验信息序列的更新。在迭代译码结束时,判决处理单元对似然值序列进行判决处理,输出最终的译码结果。其中,系统信息位序列、先验信息序列、附加信息序列和似然值序列都包含对应于输入信息序列的系统信息位信息、先验信息、附加信息以及对应于输入信息序列经过交织处理后的数据序列的系统信息位信息、先验信息、附加信息。其中,校验位序列包含对应于编码输出的校验序列的信息,即包括对应于输入信息序列的校验序列的信息和对应于输入信息序列经过交织处理后的数据序列的校验序列的信息。在每次迭代译码时,本发明的译码方法只需要进行1次分量译码过程、对1个循环状态值进行1次准确估计,有效降低了译码处理的复杂度和减少译码延迟。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
如图1所示,为本发明编码器结构的示意图。
本发明公开的Turbo码编码器,包括交织器、复用器和分量编码器。
上述Turbo码编码器可以有多个交织器,交织器完成对输入信息序列交织的功能。交织器将输入信息序列 进行交织,得到交织后的序列 其中K表示输入信息序列的比特分组的数目,即以比特分组为基本单元进行交织。
复用器将输入信息序列
与交织后的序列
复接为
分量编码器将序列
输入进行第一次编码,得到分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值,将所述循环状态值初始化分量编码器的寄存器,再将所述
送入分量编码器进行第二次编码输出校验序列
将所述输入信息序列和校验序列输出。
如图2所示,为本发明分量编码器具体实施例的示意图。
在图2的实施例中,分量编码器采用的是递归卷积编码器。显然,分量编码器也可以采用其它编码器,例如非递归的卷积编码器、分组码编码器等。
作为本发明的实施例,该递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/或{1,0,0,1}。
在本实施例中,校验序列Xp由前馈多项式{1,0,1,1}和{1,0,0,1}输出,当然,也可以仅由前馈多项式{1,0,1,1}或{1,0,0,1}中的某一个抽头输出。
显然,上述实施例中的分量编码器不局限于这些反馈多项式和馈多项式,还可以采用其它的反馈多项式和前馈多项式。
优选地,在本实施例中,所述Turbo码为双二进制编码,相应的,每两比特为一组,每个输入信息序列的总长度为2K比特。其中,序列
分为A、B两路输入分量编码器进行编码,通过抽头Y、W两路输出校验序列。此外,序列
还可以全部从A或B路输入编码器进行编码。显然,完全输出校验序列构成编码后序列比部分输出校验序列构成编码后序列的编码效率低。
本发明公开的编码器首先通过分量编码器将
送入分量编码器进行第一次编码,得到分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值。即,对输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2
m-1)取模,得到r=[(1+t)×K]mod(2
m-1),其中t为交织器的个数,m为分量编码器寄存器的个数,然后根据r值以及S值,查表得到相应的循环状态值。
结合本发明如图2所示的实施例,交织器为1个,分量编码器寄存器为3个,相应地,r=2K mod(7)。
以S0 2K-1表示本实施例中分量编码器的寄存器第一次编码结束时的状态值,则通过利用2K mod(7)和S0 2K-1查询表1,获得相应的循环状态值,并将该循环状态值初始化分量编码器的寄存器,再进行第二次编码。
表1
下面结合图1和图2,对本发明公开的编码器的具体工作流程进行详细描述:
(1)初始化分量编码器的寄存器,将寄存器设置为全“0”。
(2)本发明使用交织器对输入信息序列 进行交织处理,获得经过交织后的数据序列 其中,输入信息序列Xs包含了K组信息符号。xi s(0≤i<K)是序列Xs的第i个元素,代表第i组信息符号。数据序列X∏ s也包含了K组信息符号。x∏(i) s(0≤i<K)是序列X∏ s中的第i个元素,对应于输入信息序列Xs的第∏(i)个元素、或第∏(i)组信息符号。
(3)本发明使用一个复用处理单元,将输入信息序列X
s与数据序列X
∏ s进行复用处理,获得一个合并序列
其中,合并序列
包含了2K组信息符号。
是序列
的第i个元素,
(4)本发明使用分量编码器对合并序列
进行第一次编码,当这次编码完成时,根据编码结果和表1计算出一个循环状态值。
(5)本发明使用这个循环状态值初始化分量编码器的寄存器,即把分量编码器的寄存器的状态值设置为这个循环状态值,使用分量编码器再对合并序列
进行第二次编码,得到校验序列
(6)最后将信息序列 校验序列 输出。
本发明还公开一种编码方法,如图3所示,为本发明编码方法的流程 图,包括以下步骤:
S301:将输入信息序列以及交织处理后的序列送入分量编码器进行第一次编码。
在步骤S301中,将所述输入信息序列
以及交织处理后的序列
复接为
其后送入分量编码器进行第一次编码,其中K表示输入信息序列的比特分组的数目。
其中,本发明公开的编码方法可以有多个交织器,交织器完成对输入信息序列交织的功能。交织器将输入信息序列 进行交织,得到交织后的序列 其中K表示输入信息序列的比特分组的数目,即以比特分组为基本单元进行交织。
其中,分量编码器采用的是递归卷积编码器。显然,分量编码器也可以采用其它编码器,例如非递归的卷积编码器、分组码编码器等。
作为本发明的实施例,该递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/或{1,0,0,1}。
显然,上述实施例中的分量编码器不局限于这些反馈多项式和馈多项式,还可以采用其它的反馈多项式和前馈多项式。
优选地,在本实施例中,所述Turbo码为双二进制编码,相应的,每两比特为一组,每个输入信息序列的总长度为2K比特。
S302:根据分量编码器的寄存器第一次编码结束时的状态值、输入信息序列的比特分组的数目以及交织器的个数查表获得相应的循环状态值。
在步骤S302中,通过获得分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值。即,对输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2m-1)取模,求得r=[(1+t)×K]mod(2m-1),其中t为交织器的个数,m为分量编码器寄存器的个数,然后根据r值以及S值,查表得到相应的循环状态值。
作为本发明的实施例,对于交织器为1个、分量编码器寄存器为3个的情况,相应地,r=2K mod(7)。
以S0 2K-1表示本实施例中分量编码器的寄存器第一次编码结束时的状态值,则通过利用2K mod(7)和S0 2K-1查询表1,获得相应的循环状态值,并将该循环状态值初始化分量编码器的寄存器,再进行第二次编码。
S303:将循环状态值初始化分量编码器的寄存器,进行第二次编码并输出。
在步骤S303中,将得到的循环状态值初始化分量编码器的寄存器,再将所述送入分量编码器进行第二次编码输出校验序列 将所述输入信息序列和校验序列输出。
在本实施例中,校验序列Xp由前馈多项式{1,0,1,1}和{1,0,0,1}输出,当然,也可以仅由前馈多项式{1,0,1,1}或{1,0,0,1}中的某一个抽头输出。显然,完全输出校验序列构成编码后序列比部分输出校验序列构成编码后序列的编码效率低。
本发明还公开了一种Turbo码译码器,如图4所示,为本发明公开的译码器的结构示意图。
该Turbo码译码器包括:分离器、分量译码器、先验信息产生器、状态估计器以及判决器。
其中,分离器将输入的接收信息分为系统比特流、校验比特流输出。具体地,分离器还包括交织器和复用器,交织器将接收信息中的信息序列X={x0,x1,…,xK-1}进行交织,得到序列X∏={x∏(0),x∏(1),…,x∏(K-1)};复用器将X和X∏进行复接,得到所述系统比特流X′={X,X∏}并输出。
分量译码器将输入的系统比特流、校验比特流、先验信息以及状态估计信息,译码输出对应于所述系统比特流的似然比和附加信息,分量译码器迭代译码直到迭代译码的次数达到预定的次数为止。具体地,分量译码器将输入的系统比特流X′、校验比特流以及先验信息,译码输出对应于X′的似然比LLR={l0,l1,…,l2K-1}以及附加信息W={w0,w1,…,w2K-1}。
先验信息产生器将输入的所述附加信息进行变化加权后输出所述先验信息。具体地,先验信息产生器还包括置换器,置换器将附加信息序列W={w0,w1,…,w2K-1}进行置换处理,得到置换的附加信息序列 其中, ∏-1代表去交织器的去交织运算,∏-1(i)代表去交织器输出的第i个元素;将置换的附加信息序列 进行加权后输出,得到先验信息序列Z=α×W′,α为加权权值。
状态估计器,根据输入的系统比特流、校验比特流、以及先验信息,输出更新后的状态估计信息,分量译码器每次迭代译码开始时采用更新后的状态估计信息进行译码器状态的初始化。
判决器将系统比特流的似然比判决输出译码信息。具体地,判决器进一步包括解复用器和硬判决器,解复用器用于将所述似然比LLR={l0,l1,…,l2K-1}截取分为以下两个部分解复用得到D={l0,l1,…,lK-1}和E={lK,lK+1,…,l2K-1};硬判决器将所述D输入,硬判决译码输出Xo,其中Xo={H(d0),H(d1),…,H(dK-1)}, 或者
此外,判决器进一步还包括解交织器,解交织器将E经过解交织后得到 判决器将D和F的对应位求和,其后输入所述硬判决器。
此外,判决器进一步还包括将所述F输入所述硬判决器。
下面结合图4,对本发明公开的译码器的具体工作流程进行详细描述:
(1)接收来自信道的信号X={x0,x1,…,xK-1}和Y={y0,y1,…,y2K-1},其中,X、Y分别对应于Turbo编码中的信息序列Xs、校验序列Xp。
(2)将X进行交织处理,得到序列X∏={x∏(0),x∏(1),…,x∏(K-1)},并将X和X∏进行复用处理,得到系统比特流序列X′={X,X∏}={x0,x1,…,xK-1,x∏(0),x∏(1),…,x∏(K-1)}
(3)在第一次迭代译码的开始之前,将对应于X′的先验信息序列Z={z0,z1,…,z2K-1}的所有的元素的取值设置为相同的数值,例如,每个元素取值为“0”。
(4)状态估计器接收X′、Y、Z,分别作为系统信息位序列、校验位序列、先验信息序列,进行状态估计,计算循环状态值的分布概率或者似然值。
(5)分量译码器接收X′、Y、Z,分别作为分量译码器的系统信息位序列、校验位序列、先验信息序列,并使用状态估计信息进行译码器状态的初始化,分量译码器通过执行MAP或者Log-MAP或者Max-Log-MAP算法,进行连续的软输入软输出SISO译码。
(6)在SISO译码结束时,输出对应于X′的似然值序列LLR={l0,l1,…,l2K-1}和附加信息序列W={w0,w1,…,w2K-1}。
(7)将附加信息序列W={w0,w1,…,w2K-1}进行置换处理,得到置换的附加信息序列 其中, ∏-1代表去交织器的去交织处理和运算,∏-1(i)代表去交织器输出的第i个元素,它对应于去交织器输入的第∏-1(i)个元素。
(8)将置换的附加信息序列 进行加权处理后,得到更新的先验信息序列Z。此外,还可以直接将置换的附加信息序列 作为更新的先验信息序列Z。
(9)在迭代译码过程中,分量译码器对系统信息位序列X′、校验位序列Y和更新的先验信息序列Z进行状态估计和SISO译码;
(10)当迭代译码结束时,将似然值LLR={l0,l1,…,l2K-1}进行判决处理,并输出译码结果Xo。此时,Turbo译码结束。其中,输出的译码结果Xo为 或者
Xo={H(l0),H(l1),…,H(lK-1)}。
其中,H(x)代表变量x的硬判决函数, 或者
在上述步骤中,分量译码器译码可以通过执行MAP或者Log-MAP或者Max-Log-MAP算法实现,下面对各种算法进行介绍。
MAP算法的目标是在无记忆信道环境下求马氏数据源的最大后验概率译码,它在译码序列比特错误概率最小化的意义上是最优的,MAP算法计算所有可能的路径,它不仅提供了译码比特序列,还提供了每个比特的译码正确概率。
MAP算法对每个被译比特uk给出了在接收序列为y的条件下uk等于+1或-1的概率。
如果时刻k的前一状态Sk-1=`s、当前状态Sk=s已知,则uk也能得到。因此,上式可改写为
其中,符号P(a∧b)代表a和b的联合概率。为简化,P(Sk-1=`s∧Sk=s∧y)写为P(`s∧s∧y)。显然,y可分为3段,k时刻以前收到的序列y j<k,k时刻收到的序列y k和k时刻以后收到的序列y j>k。因此
P(`s∧s∧y)=P(`s∧s∧y j<k∧y k∧y j>k) (3)
由于信道是无记忆信道,则y j>k只与s有关。
P(`s∧s∧y)=P(`s∧s∧y j<k∧y k∧y j>k)
=P(y j>k|s)·P(`s∧s∧y j<k∧y k)
=P(y j>k|s)·P({y k∧s}|`s) (4)
·P(`s∧y j<k)
=βk(s)·γk(`s,s)·αk-1(`s)
其中,
αk-1(`s)=P(Sk-1=`s∧y j<k) (5)
βk(s)=P(y j>k|Sk=s) (6)
γk(`s,s)=P({y k∧Sk=s}|Sk-1=`s) (7)
所以,在接收序列为y的条件下uk的似然概率为
下面推导αk(s)、βk(s)和γk(`s,s)。
1)αk(s)
因此,只要得到γk(`s,s),则可依次求得αk(s)。另外,由于初始状态=0,所以
α0(S0=0)=1
α0(S0=s)=0 当所有s≠0 (11)
2)βk(s)
只要得到γk(`s,s),则可依次求得βk(s)。
3)γk(`s,s)
γk(`s,s)=P({y k∧s}|`s)
=P(y k|{`s∧s})·P(s|`s) (13)
=P(y k|{`s∧s})·P(uk)
=P(y k|x k)·P(uk) (14)
其中,
uk:状态Sk-1=`s转移到状态Sk=s所需的输入比特;
P(uk):该比特的先验概率;
x k:这一转移对应的编码比特;
P(y k|x k):与信道转移概率有关。
在无记忆高斯信道、BPSK调制方式中
其中,
ykl和xkl:是x k和y k的具体比特;
n:每个码字包含比特的个数;
Eb:每个比特的发送功率;
σ2:噪声方差;
a:衰落幅度;
R:码率。
可以看到,一旦收到所有的接收序列,就可以得到γk(`s,s),也就可以求得αk(s)和βk(s),从而得到L(uk|y)。
在以往的译码方案中,通常认为先验等概,因而P(uk)=1/2。而在迭代译码方案中,把上一级得到的L(uk|y)作为新一级译码器的先验概率,再经过多次迭代,得到了很好的效果。
通过对MAP算法进行简化,得到Max-Log-MAP算法。定义Ak(s),Bk(s)和Гk(s)如下:
由于
Ak(s)可以重写为
同理,
而
其中,C是一常数,可以忽略不计,Lc=4R(Eb/No),No为噪声谱密度。所以在Max-Log-MAP算法中,
由于Max-log-MAP算法中使用了近似算法,其性能较MAP算法有0.35dB的损失。后来Robertson用Jacobian对数算法
取代了近似算法
如图5所示,本发明还公开了一种译码方法,包括以下步骤:
S501:将接收信息分为系统比特流、校验比特流输出。
在步骤S501中,将输入的接收信息分为系统比特流、校验比特流输出包括:
将接收的信息解复用,得到待译码信息序列以及所述校验比特流;
将待译码信息序列X={x0,x1,…,xK-1}交织得到待译码信息交织序列X∏={x∏(0),x∏(1),…,x∏(K-1)},将X和X∏进行复接,得到所述系统比特流X′={X,X∏}。
其后,将校验比特流和系统比特流输出进入步骤S502。
S502:将输入信息迭代译码,直到迭代译码的次数达到预定的次数为止。
在步骤S502中,首先将先验信息初始化为0,将输入的所述系统比特流、所述校验比特流、先验信息以及状态估计信息,译码输出对应于所述系统比特流的似然比和附加信息,分量译码器迭代译码直到迭代译码的次数达到预定的次数为止。
其中,分量译码器每次迭代译码开始时采用更新后的状态估计信息进 行译码器状态的初始化。
同时,将SISO译码输出的附加信息进行变化加权后输出所述先验信息,并反馈输入回到分量译码器译码。其中,可以利用MAP算法、Log-MAP算法或Max-Log-MAP算法进行SISO译码。
S503:系统比特流的似然比判决输出译码信息。
在步骤S503中,将系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列分别为D和E,将D序列硬判决输出作为译码信息。
此外,还可以将系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列分别为D和E,将E序列解交织后与D序列对应位求和,并将求和结果得到的序列硬判决输出作为译码信息。
此外,还可以将E序列解交织后再硬判决输出作为译码信息。
相对于需要经过4次编码过程和2次循环状态值的计算的WiMAX中的Turbo码,本发明采用分量编码器对输入信息序列以及经过交织的数据序列进行第一次连续的编码,基于这个连续编码的结果,计算一个循环状态值,并用这个循环状态值初始化分量编码器的寄存器,把分量编码器的寄存器的状态值设置为循环状态值,分量编码器再对输入信息序列以及经过交织的数据序列进行第二次连续的编码,并输出第二次连续编码结果作为最终的编码结果。本发明的编码方案只需要经过2次编码过程和1次循环状态值的计算,采用本发明公开的技术方案,降低了编码的复杂度、编码的处理延迟,提高了编码的处理速度。
相应地,本发明采用一个分量译码器对系统信息位序列、校验位序列、先验信息序列进行连续的SISO译码,在SISO译码完成后,输出对应于系统信息位的附加信息序列和似然值序列。在后续的迭代译码的过程中,置换处理单元对附加信息序列进行置换处理,并将输出用于先验信息序列的更新。在迭代译码结束时,判决处理单元对似然值序列进行判决处理,输出最终的译码结果。其中,系统信息位序列、先验信息序列、附加信息序列和似然值序列都包含对应于输入信息序列的系统信息位信息、先验信息、附加信息以及对应于输入信息序列经过交织处理后的数据序列的系统信息 位信息、先验信息、附加信息。其中,校验位序列包含对应于编码输出的校验序列的信息,即包括对应于输入信息序列的校验序列的信息和对应于输入信息序列经过交织处理后的数据序列的校验序列的信息。在每次迭代译码时,本发明的译码方法只需要进行1次分量译码过程、对1个循环状态值进行1次准确估计,有效降低了译码处理的复杂度和减少译码延迟。
图6为实现本发明编码、译码实施例的电子设备的结构示意图。在图6中,用户设备610通过访问接入网620实现通信。其中,用户设备610包括数据处理器613,连接数据处理器613的存储器612,以及能接收和发送的无线收发器614,用户设备610通过无线收发器614实现与接入网620的双向通信。存储器612储存着程序611。接入网620包括数据处理器623,连接数据处理器623的存储器622,以及能接收和发送的无线收发器624,接入网620通过无线收发器624实现与用户设备610的双向通信。存储器622储存着程序621。其中接入网620通过数据通道连接到一个或多个外部网络或系统,例如是移动通信网络或Internet,由于所述部分内容是本领域的公知技术,因此在图6中未画出。
数据处理器613和数据处理器623执行对应的程序611、程序621,程序611、程序621中包括的程序指令用于执行本发明上述阐述的实施例,实现本发明的编码、译码方案。本发明的实施例可以通过用户设备610和接入网620中的数据处理器613和数据处理器623执行计算机软件程序实现,或者通过硬件、通过软件与硬件相结合的形式实现。
更具体而言,在上述实施例中,执行本发明的编码、译码的实现形式包括但是不限于DSP(Digital Signal Processing,数字信号处理器)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)等具体实现方式。
显然,本实施例中的用户设备610包括但不限于以下设备:手机、个人数字助理PDA、便携电脑等用户终端设备。本实施例中的接入网620包括但不限于以下设备:基站、无线局域网的接入点AP(Access Point)等相关连接用户所访问的系统的接入网设备。
基于上述的编码方法,本发明还提出一种计算机程序,用于执行上述 实施例中的编码方法。
基于上述的编码方法,本发明还提出一种可读计算机介质,用于承载执行上述实施例中的编码方法的计算机程序。
基于上述的译码方法,本发明还提出一种计算机程序,用于执行上述实施例中的译码方法。
基于上述的译码方法,本发明还提出一种可读计算机介质,用于承载执行上述实施例中的译码方法的计算机程序。
在这里所用的“可读计算机介质”术语指任何提供用于执行的程序给数据处理器的介质。这样一种介质可以有多种形式,包括但是不限于非易失性介质、易失性介质、传输介质。非易失性介质包括例如象存储设备的光盘或磁盘,易失性介质包括象主存储器的动态存储器。
传输介质包括同轴电缆、铜线和光纤,包括包含总线的线路。传输介质也能采用声学的、光学的、或电磁波的形式,如那些在射频(RF)和红外(IR)数据通信中产生的。可读计算机介质的通用形式包括例如软盘、软碟、硬盘、磁带,任何其它的磁介质,CD-ROM、CDRW、DVD,任何其它的光介质,穿孔卡片、纸带、光学侧标纸。任何带洞的或带可辨认标记的物理介质,RAM、PROM、和EPROM、FLASH-EPROM,任何其它的存储片或卡带,载波、或任何其它计算机可读的介质。不同形式的计算机可读介质可用于给数据处理器提供用于执行的程序。例如,用于实现至少本发明的部分的程序可以最初产生在一个远程计算机的磁盘上。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。