Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CHANNEL DECODING METHOD AND DECODER
Document Type and Number:
WIPO Patent Application WO/2012/163135
Kind Code:
A1
Abstract:
Disclosed are a channel decoding method and a decoder. The decoding method is on the basis of a circular Viterbi decoding algorithm, impossible initial states are excluded one by one through iterations according to a received soft information sequence, so as to finally find an optimal tail-biting path. The present invention excludes all impossible states through multiple iterations, only allows an initial state of a tail-biting path that is the most similar to the received sequence to survive, and finally obtains the optimal tail-biting path for output through algorithm convergence. Moreover, the present invention further updates a metric value of the maximum likelihood tail-biting path through the obtained surviving tail-biting path or excludes impossible initial states from the initial states, thereby effectively solving the algorithm non-convergence caused by a circular trap problem, solving the predicament that the tail-biting convolutional code does not have a practical optimal decoding algorithm, reducing the complexity of the conventional decoding solution, and saving the storage space.

Inventors:
WANG XIAOTAO (CN)
QIAN HUA (CN)
XU JING (CN)
HUANG HAO (CN)
YANG YANG (CN)
WANG FANG (CN)
Application Number:
PCT/CN2012/072522
Publication Date:
December 06, 2012
Filing Date:
March 19, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SHANGHAI RES CT WIRELESS COMM (CN)
WANG XIAOTAO (CN)
QIAN HUA (CN)
XU JING (CN)
HUANG HAO (CN)
YANG YANG (CN)
WANG FANG (CN)
International Classes:
H03M13/23
Foreign References:
CN101047472A2007-10-03
CN1841546A2006-10-04
CN101635611A2010-01-27
CN101667840A2010-03-10
US20100095189A12010-04-15
Other References:
See also references of EP 2717477A4
Attorney, Agent or Firm:
J.Z.M.C. PATENT AND TRADEMARK LAW OFFICE (CN)
上海光华专利事务所 (CN)
Download PDF:
Claims:
权利要求书

1. 一种信道译码方法, 其特征在于, 包括以下步骤:

S101, 第一次迭代, g^=l时, 初始化所有从位置 0处进入到状态 s的幸存路径的度 量值 Μίαί,。( 为 0, 其中 , 表示位置 0 处的状态空间, 表示迭代次数; 令最优的 最大似然咬尾路径的度量值 M rap =0 ; 执行修正的维特比算法, 寻找最大似然咬尾路径; 对所有 {s);

5102, 如果当前迭代找到的最大似然咬尾路径的净增量 M^rai)大于所述最优的最大似 然咬尾路径的度量值 M rap, 即 M^rap >M rap, 则更新所述最优的最大似然咬尾路径 为当前迭代找到的最大似然咬尾路径 , 即 P = P As',s'、, 更新所述 最优的最大似然咬尾路径的度量值 M rap为当前迭代找到的最大似然咬尾路径的净增量

M MLTBP, 艮卩 M MLTBP― M MLTBP (5", 5" );

5103, 对于 s e , 其中 L为信息序列的长度, 表示位置 L处的状态空间, 比较状态 s的净增量 Mstafe,„rf ( 和最后更新的最大似然咬尾路径的度量值 M^rai)的大小, 若 M—(s)<=MMRLTBP , 则令 M „» = 0, M 。 W=0 ; 否则令 ,。( = ( , 并 判断 Mstate,net (s)>M L (s)-M W是否成立, 若成立则更新状态 s的状态净增量为 统计状态净增量大于 的状态个数, 并将所述状态个数保存在 sum(i)中;

5104, 若 ^( ) = 0, 则停止迭代, 输出最优的最大似然咬尾路径 否则, 若 sumii) = sum(i-i), 则以状态 ( 作为固定的起始和终止状态作一次维特比译码, 获得咬尾 路径 ^ )及其度量值 ^;^ ^ ( ); ^ΜτΒίβί^,βί^Μ^醫, 则更新最优的 最大似然咬尾路径 /^^>为^0^( , ( ), 更新最优的最大似然咬尾路径的度量值 为 MTB( (s (s)); 并令状态^ ( 的状态度量值 Mstafe,„ei05(s)) = 0, M^ifiis)) = 0;

5105, 令画 ( )=0, 执行下一次迭代, 即重复 S102至 S104。

2. 一种信道译码方法, 其特征在于, 所述方法包括以下步骤:

S201, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值为 0,即 Μ·^) = 0, 其中 , 执行修正的维特比算法;

5202, 如果最大似然路径等于最优咬尾路径, 即 ^=i^ra, 则停止译码, 将 作为 译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大似然路径, 即 = 如果 M1 > , 今 PR = P1 , MR = M1 ·

5203, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 M-1 ( 初始化 本次的起始状态 s, , 执行修正的维特比算法; 找到( £,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其度量值 PLTB'M NJ ; 如果

1V± MLTB,

S204, 如果条件 或者 M MR 中任何一条满足, 则停止译 码, 并执行 S206, 否则继续执行 S205;

5205, 如 更新 M^ra, 即令 M ra=M^ra ; 如果没有达到最大 迭代次数, 回到 S203; 否则执行 S206;

5206, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。

3. 一种信道译码方法, 其特征在于, 所述方法包括以下步骤:

S301, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;

5302, 如果最大似然路径等于最优咬尾路径, 即 ^=i ra, 则停止译码, 将 作为 译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大似然路径, 即 Ρ = / ;如果

1 ΜV1 M1LTB > z " , 今■ ^ P MRLTB = 1 P M1LTB,, 1 MV1 MRLTB = 1 MV1 M1LTB ·,

5303, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 ( 初始化 本次的起始状态 s, 即令 ( , 执行修正的维特比算法; 找到( £,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其度量值 P TB NJ ; 如果

1V1 M'LTB, -> 1 MV1 M ,U^

net ^ RLTB, liliJl审d新j i P MRLTB, P ^ P MRLTB =― 1 P MlLTB .,

S304, 如果条件 MMi M 或者 MMiL,net 中任何一条满足, 则停止译 码, 并执行 S306, 否则继续执行 S305;

S305, 如 更新 M^ra, 即令 M ra=M^ra ; 如果没有达到最大 迭代次数, 回到 S303; 否则执行 S306;

S306, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。

4. 一种信道译码器, 其特征在于, 所述译码器包括以下模块:

初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;

判断模块, 用来判断最大似然路径是否等于最优咬尾路径, 即 ^ = ra, 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存/ ^, 使最优最大似然路径等于最大 似然路径, 即 ^ = ; 如果 M ra >0, 令 PH MMRLTB = MMlLTB

迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 状态的路 径累积度量值 初始化本次的起始状态 即令 ( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及其度量值 ^MLTB ' ^ MLTB ) ' 如果 ^ MLTB > ^ MLTB, 贝' J更新 ^MLTB, 艮卩令 ^MLTB― ^MLTB '

迭代判断模块, 用来根据预先设定的条件, 即如果条件 zM1 或者 中任何一条满足, 则停止译码, 并在 /^ 存在时, 进行结果输出模块的结 果输出, 否则如果 ^^>^^^, 更新 M^ra, 即令 M ra =M^ra 如果没有达到最 大迭代次数, 继续进行迭代模块的运算;

结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 ^ ^作为译码结果输 出, 否则输出 P 。

5. 一种信道译码器, 其特征在于, 所述译码器包括以下模块:

初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;

判断模块, 用来判断最大似然路径是否等于最优咬尾路径, 即 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大 似然路径, 即 如果 M^ra >0, 令 PH Mmrltb = MMlLTB

迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 s状态的路 径累积度量值 初始化本次的起始状态^ 即令 ( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及其度量值 ^MLTB ' ^ MLTB,net ) ' 如果^ ML7B,nei ^ ^ MLTB, 贝' J更新^ l¾, 艮卩 ^ ^MLTB ― ^MLTB '

迭代判断模块, 用来根据预设的条件, 如果条件 Μ 或者 Μ^^Μ^ 中任何一条满足, 则停止译码, 并在 /^^存在时, 进行结果输出模块的结 果输出, 否则如果 ^^>^^^, 更新 M^ra, 即令 M ra =M^ra 如果没有达到最 大迭代次数, 则继续进行迭代模块的运算;

结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 /^^作为译码结果输 出, 否则输出 。

Description:
一种信道译码方法及译码器

技术领域 本发明属于信息技术领域, 涉及一种译码方法, 尤其涉及一种信道译码方法及译码器。 背景技术 在现有的以及下一代移动通信网络系统中, 为保证数据和控制信令的可靠传输, 咬尾卷 积码作为一种高效率的编码方案被广泛应用在 各种移动通信系统中。 从早期的 IS-54, 到当 前的 EDGE、 WiMax 和 LTE 都用到了咬尾卷积码。 咬尾卷积码之所以能被如此广泛的应 用, 主要是因为采用咬尾方式编码的卷积码不仅消 除了用已知比特初始化编码器所导致的码 率损失, 同时咬尾结构可以对所有的信息比特提供相同 的保护能力。 正是因为咬尾卷积码的 这些优点, 它被广泛应用在各种通信系统中, 作为控制信令的编码方式。 对于较短的信息序 列, 咬尾编码对码率的保护是很可观的, 比如 LTE 中广播信道, 在加了循环冗余校验比特 之后共有 40 比特, 这 40 比特的信息序列如果不用咬尾方式编码的话, 码率损失将达到 13%。 目前采用咬尾卷积码作为控制信道编码方式通 信标准的系统有: EDGE、 WiMax 和 LTE等。 咬尾卷积码虽然有很多优点, 但是对于译码器来说, 由于不知道译码的起始状态和终止 状态, 基于维特比算法的最优译码方案实现过于复杂 , 因此目前还没有实用的基于维特比算 法的最优译码方案。 现有的大量译码算法都是次优译码算法, 比如基于循环维特比译码的 WAVA算法。 为了寻找咬尾卷积码的最优译码算法, 一些学者将图论中的最短路径搜索算法 用在咬尾卷积码的译码算法中, 通过合理设计启发函数 (heuristic function), 得到了一种两 步的最大似然译码算法。 算法的第一步通过修正的维特比算法得到每个 时刻各条幸存路径的 累积度量值, 算法的第二步通过最短径搜索算法得到最优路 径输出。 这类译码器在两个步骤 里面采用了完全不同的搜索方法, 这对实际应用来说复杂度过高。 且此类算法虽然减少了部 分计算量, 但是采用的启发式搜索需要大量的入栈、 出栈操作, 队列排序操作, 最重要的是 对存储空间的利用率低。 由于分配空间的时候必须按照最大存储空间来 分配, 这就导致了大 量存储空间的低利用率。 虽然在第二步中这类算法搜索的分支相对于 WAVA 算法来说大大 减少, 但是由于是在启发函数的指导下去搜索当前 f 函数值最小的路径, 所以整个算法是串 行执行, 实际的执行周期要大于 2循环的维特比算法。 发明内容 本发明所要解决的技术问题是: 提供一种信道译码方法及译码器, 该译码方法可以在低 复杂度下实现咬尾卷积码的最优译码。

为解决上述技术问题, 本发明采用如下技术方案。

一种信道译码方法, 包括以下步骤:

5101, 第一次迭代, g^=l时, 初始化所有从位置 0 处进入到状态 s的幸存路径的度量 值 Λ^ αί¾ ,。( 为 0, 其中 , 表示位置 0 处的状态空间, 表示迭代次数; 令最优的最 大似然咬尾路径的度量值 M rai) =0 ; 执行修正的维特比算法, 寻找最大似然咬尾路径; 对 所有 {s);

5102, 如果当前迭代找到的最大似然咬尾路径的净增 量 ^^大于所述最优的最大似 然咬尾路径的度量值 M rap , 即 M^ rap >M rap , 则更新所述最优的最大似然咬尾路径 为当前迭代找到的最大似然咬尾路径 , 即 P = PLTBP^^'), 更新所述 最优的最大似然咬尾路径的度量值 M rap 为当前迭代找到的最大似然咬尾路径的净 增量

M MLTBP, 艮卩 M MLTBP ― M MLTBP (5", 5" );

5103, 对于 s e , 其中 L为信息序列的长度, 表示位置 L处的状态空间, 比较状态 s的净增量 M stafe ,„ rf ( 和最后更新的最大似然咬尾路径的度量值 M rap 的大小, 若 M—(s)<=M M R LTBP , 则令 M „» = 0, M 。 W=0 ; 否则令 :; ¾ ,。( = ( , 并 判断 M state , net (s)>M L (s)-M W是否成立, 若成立则更新状态 s的状态净增量为

M L( s - M O( S ' 统计状态净增量大于 的状态个数, 并将所述状态个数保存在 sum(i)中;

5104, 若 ^( ) = 0, 则停止迭代, 输出最优的最大似然咬尾路径 否则, 若 sumii) = sum(i-i), 则以状态 ( 作为固定的起始和终止状态作一次维特比译码 , 获得咬尾 路径 ^ )及其度量值 ^;^ ^ ( ); ^Μ^β^,βί ^Μ , 则更新最优的 最大似然咬尾路径 /^^>为^0^( , ( ), 更新最优的最大似然咬尾路径的度量值 为 M TB ( (s (s)); 并令状态^ ( 的状态度量值 M stafe = 0, Μ ρ ι (β(8)) = 0;

5105, 令画 ( )=0, 执行下一次迭代, 即重复 S102至 S104。 种信道译码方法, 所述方法包括以下步骤: S201, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值为 0,即 M 0 '(s) = 0, 其中 , 执行修正的维特比算法;

5202, 如果最大似然路径等于最优咬尾路径, 即 ^=i ra , 则停止译码, 将 作为 译码结果输出; 否则保存/ ^, 使最优最大似然路径等于最大似然路径, 即 Ρ = /1;如果 Μ 1 > , 今 P R = P 1 , M R = M 1 ·

5203, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 M - 1 ( 初始化 本次的起始状态 s, 即令 ( , 执行修正的维特比算法; 找到( £ ,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其 度量值 P TB N J; 如果

1V1 M'LTB, net - ^> 1 M V1 M R LTB, liliJl审d新j i P M R LTB, P,U^ ^ P M R LTB =― 1 P M j LTB .,

5204, 如果条件 或者 Mi t =M R 中任何一条满足, 则停止译 码, 并执行 S206, 否则继续执行 S205;

5205, , net > M R 更新 M^ ra , 即令 ^^^=^ ^^; 如果没有达到最大 迭代次数, 回到 S203; 否则执行 S206;

5206, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。 一种信道译码方法, 所述方法包括以下步骤:

5301, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;

5302, 如果最大似然路径等于最优咬尾路径, 即 ^=i ra , 则停止译码, 将 作为 译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大似然路径, 即 = 如果

1 M V1 M 1 LTB > ^ 0 W ', 令 ^ 1 P M R LTB = 1 P M 1 LTB,, 1 M V1 M R LTB = 1 M V1 M l LTB ·,

S303, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 ( 初始化 本次的起始状态 , 执行修正的维特比算法; 找到( £ ,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其 度量值 P TB N J; 如果

1V1 M'LTB, net - ^> 1 M V1 M R LTB, liliJl审d新j i P M R LTB, P,U^ ^ P M R LTB =― 1 P M l LTB .,

S304, 如果条件 M M i M 或者 M M i L , net 中任何一条满足, 则停止译 码, 并执行 S306, 否则继续执行 S305; 5305, t > M R 更新 M ra , 即令 M ra =M^ ra ; 如果没有达到最大 迭代次数, 回到 S303; 否则执行 S306;

5306, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。 一种信道译码器, 所述译码器包括以下模块:

初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;

判断模块, 用来判断最大似然路径是否等于最优咬尾路径 , 即 PH 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大 似然路径, 即 =/ ; 如果 M^ ra > 0, P LTB =P l M R =M l

迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 状态的路 径累积度量值 初始化本次的起始状态 即令 , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及 其度量值 ^MLTB ' ^ MLTB ) ' 如果^ ML7B,nei ^ ^ MLTB, 贝' J更新^ Wl¾, 艮卩 ^ ^MLTB― ^MLTB '

迭代判断模块, 用来根据预先设定的条件, 即如果条件 或者 中任何一条满足, 则停止译码, 并在 /^^存在时, 进行结果输出模块的结 果输出, 否则如果 ^^>^^^, 更新 M ra , 即令 M ra =M^ ra 如果没有达到最 大迭代次数, 继续进行迭代模块的运算;

结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 ^^^作为译码结果输 出, 否则输出 P 。 一种信道译码器, 所述译码器包括以下模块:

初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;

判断模块, 用来判断最大似然路径是否等于最优咬尾路径 , 即 ^ = ¾ ra , 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存/ ^, 使最优最大似然路径等于最大 似然路径, 即 迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 状态的路 径累积度量值 初始化本次的起始状态 即令 M^^ z Mi; 1 ( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及 其度量值 ^MLTB ' ^ MLTB,net ) ' 如果 ^ MLTB,net > ^ MLTB, 贝' J更新 ^MLTB, 艮卩令 ^MLTB ― ^MLTB '

迭代判断模块, 用来根据预设的条件, 如果条件 Μ 或者

M 中任何一条满足, 则停止译码, 并在 /^^存在时, 进行结果输出模块的结 果输出, 否则如果 ^^ > ^^^, 更新 M ra , 即令 M ra = M^ ra 如果没有达到最 大迭代次数, 则继续进行迭代模块的运算;

结果输出模块, 用来进行译码结果的输出, 即在 /^ 5 存在时, 将 /^ 5 作为译码结果输 出, 否则输出 P 。 本发明的有益效果在于: 本发明所述的信道译码方法通过多次迭代将所 有不可能的状态 排除, 只有和接收序列最相似的咬尾路径的起始状态 才幸存下来, 最后算法收敛到最优的咬 尾路径输出; 此外, 它还通过得到的幸存咬尾路径来更新最大似然 咬尾路径的度量值或者从 起始状态中将 ( 排除, 有效地解决了循环陷阱问题导致的算法不收敛 性, 解决了咬尾卷 积码没有实用的最优译码算法的困境, 降低了现有译码方案的复杂度, 减少了迭代次数, 而 且节省了译码过程中的存储空间。 附图说明 图 1为咬尾格形图。 图 2为本发明实施例二所述的信道译码方法的流 图。 图 3为本发明实施例一种实现咬尾卷积码译码的 码器组成示意图。 图 4为本发明实施例和 WAVA算法在信息比特长度 L=24时的误块率性能比较曲线图。 图 5为本发明实施例和 WAVA算法在信息比特长度 L=24时的平均迭代次数性能比较曲 线图。 图 6为本发明实施例和 WAVA算法在信息比特长度 L=64时的误块率性能比较曲线图。 图 7为本发明实施例和 WAVA算法在信息比特长度 L=64时的平均迭代次数性能比较曲 图 8为本发明实施例和 WAVA算法对咬尾格形图表示的分组 Golay码译码的误块率性 能比较曲线图。 图 9为本发明实施例和 WAVA算法对咬尾格形图表示的分组 Golay码译码的误块率性 能比较曲线图。

具体实施方式 针对现有算法存在的这些问题, 本发明提出了一种完全基于循环维特比算法的 实用的最 优的译码算法, 即咬尾卷积码译码方法。 该译码方法可以在低复杂度下实现咬尾卷积码 的最 优译码, 同时对于可以用咬尾格形图表示的分组码, 本发明所述方法同样可以实现低复杂度 的最优译码。 本发明所述的信道译码方法适用于现有无线通 信系统 (如 EDGE), 也适用于下一代移动 通信系统 (如 WiMax, LTE) 中咬尾卷积码的译码; 同时, 对于可以用咬尾格形图表示的分 组码也是有效的 (如 (24, 12) 的 Golay码)。

本发明所述的信道译码方法是咬尾卷积码的一 种低复杂度的、 实用的最优译码方案, 即 极大似然译码算法。 本发明基于循环维特比译码算法 (Circular Viterbi Algorithm, CVA), 根据接收到的软信息序列, 通过迭代对不可能的起始状态逐一排除, 最终寻找到最优 咬尾路径。 本发明所述译码方法通过对循环陷阱的有效处 理, 加快了译码器的收敛速度, 同 时算法简单、 易于实现, 有重要应用价值。

下面结合附图对本发明的具体实施方式作进一 步详细说明。 实施例一

对于咬尾卷积码来说, 编码器的初始状态是用信息比特的最后几位来 初始化的, 这样当 编码结束的时候, 编码器的结束状态和初始状态是一致的, 这就是 "咬尾"。

本实施例提供一种信道译码方法, 该方法通过执行循环维特比算法寻找最优的咬 尾路 径。 在循环的过程中, 可能会出现两次循环得到的所有幸存路径完全 一样的情况, 这种情况 被称为循环陷阱。 所述信道译码方法会对循环陷阱进行检测, 并通过对循环陷阱的有效处理 加快算法的收敛速度。

如图 1所示的格形图, 它由生成多项式为 {7, 5} (八进制) 卷积编码器得到。 其中每个 位置 处有 4个状态, 格形图总长度为 L=8, g卩 0≤ ≤7。 图中每个位置 处的状态空间为 S k ={00,01,10,11}。

设: 格形图在每个位置 处有 个状态, 其中 0≤ ≤L-1, V为编码寄存器的个数, L 为信息序列的长度, 表示位置 处的状态空间, =L即为 =0处。

设: 在第 次迭代中, Λ^ αί? ( 表示的是在位置 处进入到状态 s的幸存路径的度量 值。 Ρ'Ο^(^ )表示第 i次迭代中起始于状态 ( , 结束于状态 的幸存路径, 这里 。 在第 次迭代中, 幸存路径^0^), 的净增量表示为 M^^O^), , 它表示本次迭代中该 路径上所有分支的度量值之和, 即 ^。一0^), = »_ ^。0^))。 设第 i 次迭代 中获得的最大似然路径 (maximum likelihood path, MLP)为 Ρ Μυ> (β( }, , 获得最大似然 咬尾路径 ( maximum likelihood tail-biting path, MLTBP ) 及其路径净增量分别为

P ( S ' S ) ' net , S )。

同理, 定义状态 s的净增量为 ,„» ^( _ ^。 ( 。 用 P TBP ,M M R LTBP 、来 记录到当前迭代为止找到的最优的最大似然咬 尾路径及其度量值。 第 i次迭代结束以后, 结 束于各个状态的幸存路径的路径净增量中有大 于 M rap 的也有小于 M rap 的。 用变量 m(0记录本次迭代结束时路径净增量大于 M rap 的幸存路径的条数。

所述信道译码方法的流程如所示, 具体包括以下步骤:

Step 101:

当 l, 即第一次迭代时, 初始化所有从位置 0 处进入到状态 s的幸存路径的度量值

Μί αί 。( 为 0, 即 Μ^ ¾ 。( =0, 其中 , 表示位置 0 处的状态空间, 表示迭代次 数; 令最优的最大似然咬尾路径的度量值 ^为 0, 即 执行修正的维特比算 法 (Modified Viterbi Algorithm, MVA), 寻找最大似然咬尾路径 „^(^ '); 对所有 , 令状态 s的净增量 Μ^„»Μ;^ ( 。 ( 表示在第一次迭代时在位置 L处 进入到状态 s的幸存路径的度量值。

Step 102:

找到最大似然路径/ ^ , 和最大似然咬尾路径/^ , 如果当前迭代找到的 最大似然咬尾路径 的净增量 Mi^ 大于所述最优的最大似然咬尾路径的度量值

M M R LTBP , 即 M rap >M rap , 则更新所述最优的最大似然咬尾路径 为当前迭代找到的 最大似然咬尾路径 i^ rai) (s '), 即 更新所述最优的最大似然咬尾路径 的度量值 M M R LTBP 为当前迭代找到的最大似然咬尾路径的净增量 NT MLTBP , 即 l M yl M R LTBP = l Μ yl Μ'·ΙΤΒΡ °

Step 103

对于 , 其中 L为信息序列的长度, 表示位置 L处的状态空间; 比较状态 s的净 增量 Μ—( )和最后更新的最大似然咬尾路径的度量值 M M R LTBP 的大小, 若 M—(s)<=M M R LTBP , 则令 0 M 。 W=0; 否则令 ,。( = ( , 并 判断 M , n Js、 M^^-M^is)是否成立, 若成立则更新状态 s的状态净增量 Μ^ ΆΜ^^-Μ^»; 统计状态净增量大于 M rap 的状态个数, 并将所述状态 个数保存在 中。

Step 104

若 ^( ) = 0, 则停止迭代, 输出最优的最大似然咬尾路径 ; 否则, 若 sumii) = sum(i-i), 则以状态 ( 作为固定的起始和终止状态作一次维特比译码 , 获得咬尾 路径 ^ )及其度量值 ^;^ ^ ( ); 若 Μ ΤΒ (β( 、,β(^>Μ κ , 则更新最优的 最大似然咬尾路径 /^^>为^0^( , ( ), 更新最优的最大似然咬尾路径的度量值 为 M s)H 并令状态 ( 的状态净增量 M stofe rf W( ) =0, 令第 41次迭代中起始于 状态 A 的路径度量值 Μ 。( ( ) =0

Step 105

令™m()=0, 执行下一次迭代, 即重复 Step 102至 St印 104

下面将说明所述信道译码方法的最优性:

(1) 若第一次迭代找到的最大似然路径和最大似然 咬尾路径相同, 则 step 3中计算的 sum(\) = 0 , 这样在 st印 5中可以将最大似然咬尾路径输出。

(2) 在迭代中通过检测状态净增量 M stafe ( 和 M rap 的大小关系, 将不可能的起始 状态从 中排除出去, 这样通过多次迭代, 所有不可能的状态都被排除, 只有和接收序列 最相似的咬尾路径的起始状态才幸存下来, 最后算法收敛到最优的咬尾路径输出。

(3) 当出现循环陷阱的时候, 会有方程 目( ) = 画 成立, 这时利用上次迭代中 得到的最大似然路径的起始状态 ( 作常规维特比译码, 并通过得到的幸存咬尾路径来更 新 M^ rap 或者从起始状态中将 ( 排除。 通过这种处理方式, 可以有效的解决循环陷阱问 题导致的算法不收敛性。

综上可见, 本发明中提出的译码算法最终会收敛到最优咬 尾路径。 本发明所述译码方法 可以应用在现有的及下一代移动通信系统中的 信道译码; 它解决了咬尾卷积码没有实用的最 优译码算法的困境, 降低了现有译码方案的复杂度。 实施例二

本实施例将实施例一所述的信道译码方法 (即咬尾卷积吗译码方法) 记为低复杂度最大 似然译码算法 ( reduced-complexity maximum likelihood decoder , RC-MLD ) , 并将其与 WAVA算法进行比较, WAVA算法使用简单终止条件。 本实施例比较了 RC-MLD和 WAVA的误块 率性能 (BLER)和所需的平均迭代次数 (ITER)。

仿真条件为: AWGN信道, 编码后的比特采用四相相移键控 (quadri phase shift keying, QPSK) 调制。 对 WAVA 算法, 仿真中设的最大允许迭代次数为 N = 20, 对 RC-MLD 方法来 说, 由于理论上可能需要的最大迭代次数是 Γ, 所以下面根据不同应用场景进行不同的设 置。

第一组仿真实验: 比较不同译码算法对咬尾卷积码的译码性能。

首先看咬尾卷积码在增强型数据速率 GSM 演进技术 (Enhanced Data Rate for GSM Evolution, EDGE) 中的应用。 EDGE中 Type 5的分组数据块的数据头采用码率为 1/3的咬 尾卷积编码。 卷积码的生成多项式为 { 133, 171 , 145} , 约束长度为 7, 所以 RC-MLD 的最 大迭代次数设为 64。 送入编码器的数据头的长度为 36 比特, 此处不考虑打孔。 采用咬尾方 式编码可以减少 15%的有效码率损失。 仿真结果如表 1所示。 表 1 : EDGE场景下不同译码算法的译码性能 其次, 看咬尾卷积码在 LTE 中的应用。 LTE 中广播信道使用的卷积码的生成多项式为 { 133, 171 , 165} , 码率为 1/3, 约束长度为 7, 所以 RC-MLD 的最大迭代次数设为 64; 输 入到编码器的信息序列长度为 40 比特。 如果不使用咬尾方式编码, 实际传输的有效码率损 失达到 13%。

表 2: LTE场景下不同译码算法的译码性能

第二组仿真实验: 比较不同译码算法对特殊分组码的译码性能。

可以用咬尾格形图表示的分组码, 比如 (24,12) 的 Golay 码。 这种码字可以通过码率 1/2, 约束长度为 7, 生成多项式为 { 103,166}的卷积码编码器生成。 此处 RC-MLD 的最大允 许迭代次数设为 64。

表 3. 对于 (24, 12) Golay码不同译码算法的译码性能 从以上仿真结果可以看出, 由于 RC-MLD是最优译码算法, 所以它的 BLER性能是优 于次优算法 WAVA 的; 同时由于对循环陷阱进行了有效处理, 并在译码过程中对不可能的 初始状态进行了排除, 所以 RC-MLD相对于 WAVA而言具有更快的收敛速度。

实施例三

对于咬尾卷积码来说, 编码器的初始状态是用信息比特的最后几位来 初始化的, 这样当 编码结束的时候, 编码器的结束状态和初始状态是一致的, 这就是 "咬尾"。 如图 1 描绘了 一个码率为 1/2, 生成多项式为 {7,5}的咬尾卷积码的格形图。 如图 1 所示, 左边是一个长 度为 8的咬尾卷积码所对应的咬尾格形图, 其生成多项式用八进制表示为 {7, 5}; 右边是该 码对应的蝶形图, 其中实圈旁边的数字是状态值, 线上的数字是编码输出值。 咬尾格形图在 每个位置 有 个状态, 其中 0≤ ≤L-1, V为编码寄存器的个数, L为信息序列的长度。 用&表示位置 处的状态空间。

该咬尾卷积译码方法每循环一次都会得到一条 最大似然路径 (码字) P ML , 有时 Ρ Μ£ 并不 是最优的咬尾路径, 所以需要进入下一次迭代。 循环会一直进行直到预设的终止条件被满 足。

在第 次迭代中, ( 表示的是在位置 处进入到状态 s的幸存路径的累积度量值, 同 时它也是状态 s在第 ί次迭代中位置 k处的累积度量值。

此处用 P S 表示结束于状态 s 的幸存路径的起始状态, 这里规定 s S L

在第 次迭代中, 幸存路径 P'W) )的净增量表示为 M ), 它表示本次迭 代中该路径上所有分支的度量值之和, 即 ) =M^ )-M^W)), 这样最大似 然路径 P ML ( S , S 和最大似然 咬尾路径 P ( s'W) 的净增量分别 为 : M M i L ^( S ), S ) = M L i ( S )-M^( S )) , Μ^ ΤΒηΛ (β^')^')=Μ^')-Μ 0 '(β( 5 '))。 此处需要注意 的是, 不是每次迭代都能找到咬尾路径。

本实施例利用 « 、 来记录到当前迭代为止找到的最优的最大似然 路径及其度量 值, 用 P LTB ,M TB 来记录到当前迭代为止找到的最优的最大似然 咬尾路径及其度量 值。 最后设允许的最大迭代次数为 。

由于在基于循环维特比译码 (CVA, Circular Viterbi Algorithm) 的执行过程中, 会 出现循环的现象, 即两次迭代得到的幸存路径是相同的。 当循环发生的时候, 继续迭代并不 会得到更好的译码输出, 所以我们用以下两个条件中的任何一条来检测 是否有循环产生:

1丄) ^ M lyl M i LTB,net =M lyl M R LTB

2) y M lyl M i L,net =Μ lyl M ! ·—L 1 ,net

上述条件可以有效的检测循环的发生, 并及时的终止迭代。

当没有循环发生的时候, 我们用条件 3) 来终止迭代:

3 ) ^ ML, net― ^ MLTB, net 基于上述条件, 本实施例给出一种更高效率的信道译码方法 (Early-terminated CVA: ET-CVA), 下面给出所述方法的以下具体步骤:

5201, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的度量值为 0, 即 ( =0 其中 se ; 执行修正的维特比算法 (Modified Viterbi Algorithm: MVA)。

5202, 如果 i^=i ra , 则停止译码, 将 作为译码结果输出; 否则保存 i^, 即 p R = P 1 . "//Π-5- M 1 0 ^ P R = P 1 M R = M 1

1 ML _ 1 ML 1V1 MLTB ^ ' ^ 1 MLTB ― 1 MLTB 1V1 MLTB ― 1V1 MLTB

5203, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 ( 初始化 本次的起始状态 即令 , 执行修正的维特比算法; 找到( £ ,Μ^„), 如 果有咬尾路径则找出 ( ^ ra ,M^ ra ^) ; 如果 M n ^>M ra 更新 ΓΒ , 即令

1 p M R LTB = 1 p M i LTB

5204, 如果条件 M^M^ 或者 M M R 中任何一条满足, 则停止译 码, 并执行 S206, 否则继续执行 S205 (ET-CVA 1);

如果条件 zAf— 或者 Μ]^ 中任何一条满足, 则停止译码, 并 执行 S206, 否则继续执行 S205 (ET-CVA 2);

5205, 如 更新 M^ ra , 即令 M ra =M^ ra ; 如果没有达到最大 迭代次数, 回到 S203; 否则执行 S206

5206, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P

为了更清楚的描绘上述方法, 我们给出对应的程序流程图如图 2所示。

实施例四

本实施例给出第三种更高效率的信道译码方法 , 包括以下步骤:

5301, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;

5302, 如果最大似然路径等于最优咬尾路径, 即 ^=i ra , 则停止译码, 将 作为 译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大似然路径, 即 = 如果

1 M V1 M 1 LTB > z " , 今■ ^ P M R LTB = 1 P M 1 LTB 1 M V1 M R LTB = 1 M V1 M 1 LTB ·

S303, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 M- 1 ( 初始化 本次的起始状态 s, 即令 ( , 执行修正的维特比算法; 找到( £ ,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其 度量值 P TB , N J; 如果

1V± MLTB p - M R LTB― 1 p M l LTB .,

5304, 如果条件 T— 或者 中任何一条满足, 则停止译 码, 并执行 S306, 否则继续执行 S305;

5305, net > M R 更新 M^ ra , 即令 ^^^=^ ^^; 如果没有达到最大 迭代次数, 回到 S303; 否则执行 S306;

5306, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。

实施例五

本实施例提供了一种实现实施例三所述信道译 码方法的译码器, 如图 3所示, 所述译码 器包括以下模块:

初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法; 判断模块, 用来判断最大似然路径是否等于最优咬尾路径 , 即 PH 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大 似然路径, 即 ^= ; 如果 M^ ra > 0, 令 PH M M R LTB = M M L LTB

迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 状态的路 径累积度量值 初始化本次的起始状态 即令 ( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及 其度量值 ^MLTB ' ^ MLTB, ) ' 如果^ ML7B,nei ^ ^ MLTB, 贝' J更新^ Wl¾, 艮卩 ^ ^MLTB― ^MLTB '

迭代判断模块, 用来根据预先设定的条件, 即如果条件 或者 中任何一条满足, 则停止译码, 并在 /^^存在时, 进行结果输出模块的结 果输出, 否则如果 ^^>^^^, 更新 M ra , 即令 M ra =M^ ra 如果没有达到最 大迭代次数, 继续进行迭代模块的运算;

结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 ^ ^作为译码结果输 出, 否则输出 P 。 实施例六

本实施例提供了一种实现实施例四所述的信道 译码方法的译码器, 所述译码器包括以下 模块:

初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法; 判断模块, 用来判断最大似然路径是否等于最优咬尾路径 , 即 ^ = ra , 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存/ , 使最优最大似然路径等于最大 似然路径, 即 ^= ; 如果 M^ ra > 0, 令 PH M M R LTB = M M L LTB

迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 5 状态的路 径累积度量值 初始化本次的起始状态 即令 Μ^^ζΛ^- 1 ( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及 其度量值 ^MLTB ' ^ MLTB,net ) ' 如果^ ML7B,nei ^ ^ MLTB, 贝' J更新^ j¾, 艮卩 ^ ^MLTB ― ^MLTB '

迭代判断模块, 用来根据预设的条件, 如果条件 Μ Μ Ι 或者 Μ^^Μ^ 中任何一条满足, 则停止译码, 并在 /^ 5 存在时, 进行结果输出模块的结 果输出, 否则如果 ^^^^>^^^, 更新 M^ ra , 即令 M^ ra =M ra ^ ; 如果没有达到最 大迭代次数, 则继续进行迭代模块的运算;

结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 ^ ^作为译码结果输 出, 否则输出 P 。

与现有技术相比, 本发明所述的译码器明显的降低了译码复杂度 , 减少了迭代次数, 降 低了译码的复杂度, 而且节省了译码过程中的存储空间; 新的信道译码方法和译码器不仅对 咬尾卷积码有效, 而且对普通的可以用咬尾格形图表示的分组码 也是有效的。 下面通过两个具体的仿真实例来说明实施例三 和四所述的信道译码方法的性能。 此处仿 真基于加性高斯白噪声 (Additive White Gaussion Noise: AWGN) 信道, 信道输入是 QPSK 调制的符号。

第一个仿真针对咬尾卷积码。 仿真中采用 LTE中的卷积码, 生成多项式用八进制表示为 {133, 171, 165}, 最大迭代次数为 20。 为验证本方法对中等长度咬尾卷积码和长咬尾 卷积 码都是有效的, 仿真中分别令信息比特长度 L = 24和 L = 64。 下面给出本方法和 WAVA 算法 的误块率性能 (Block Error Ratio : BLER ) 和平均迭代次数 (Average Number of Iterations : AND 性能比较曲线。

从图 4到 7的仿真结果可以看得出来, 在不同的码长条件下, ET-CVA ( 1和 2 ) 算法都 能提供近于最优的性能。 而且, 新的译码方法明显的降低了译码复杂度, 减少了迭代次数。

第二个仿真针对可以用咬尾格形图表示的分组 码。 下面我们以 Golay 码为例。 对于 ( 24, 12 ) 的 Golay码, 我们使用 ET-CVA ( 1和 2 ) 和 WAVA算法进行译码, 得到的误块率 性能 ( Block Error Ratio : BLER ) 禾口平均迭代次数 ( Average Number of Iterations : AND 性能如图 8和 9所示。

从图 8 和 9 的仿真结果可以看到, 新的咬尾卷积码译码法不仅对于降低了译码的 复杂 度, 减少了迭代次数, 而且节省了译码过程中的存储空间; 新方法不仅对咬尾卷积码有效, 而且对普通的可以用咬尾格形图表示的分组码 也是有效的。 本发明所述的信道译码方法和译码器不仅对咬 尾卷积码有效, 而且对普通的可以用咬尾 格形图表示的分组码也是有效的。 本发明的描述和应用是说明性的, 并非想将本发明的范围限制在上述实施例中。 这里所 披露的实施例的变形和改变是可能的, 对于那些本领域的普通技术人员来说实施例的 替换和 等效的各种部件是公知的。 本领域技术人员应该清楚的是, 在不脱离本发明的精神或本质特 征的情况下, 本发明可以以其他形式、 结构、 布置、 比例, 以及用其他元件、 材料和部件来 实现。