CN1210872C - 减小的搜索符号估值算法 - Google Patents

减小的搜索符号估值算法 Download PDF

Info

Publication number
CN1210872C
CN1210872C CN00818860.2A CN00818860A CN1210872C CN 1210872 C CN1210872 C CN 1210872C CN 00818860 A CN00818860 A CN 00818860A CN 1210872 C CN1210872 C CN 1210872C
Authority
CN
China
Prior art keywords
state
branch
group
path
stage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN00818860.2A
Other languages
English (en)
Other versions
CN1433589A (zh
Inventor
A·S·哈伊拉拉
G·E·博顿利
D·科伊尔皮莱
K·赞吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson Inc
Original Assignee
Ericsson Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Inc filed Critical Ericsson Inc
Publication of CN1433589A publication Critical patent/CN1433589A/zh
Application granted granted Critical
Publication of CN1210872C publication Critical patent/CN1210872C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3955Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a trellis with a reduced state space complexity, e.g. M-algorithm or T-algorithm

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种减小的搜索符号估值算法包括前向递归,后向递归,以及组合步骤。为了减小复杂性,在前向和后向递归期间,在每个阶段保持的残存状态的数目小于网格的状态的总数。残存状态是从被一些分支连接到来自递归的先前的阶段的残存者的候选状态组中选择的。译码器比较对于每个候选状态的积累的路径量度,以及保持小于总的可能状态数的规定数目的状态。对于前向递归,保持的状态或残存状态(用Qk来表示)连同相应的状态量度一起被存储。对于后向递归,保持的状态(用Rk来表示)连同相应的状态量度一起被存储。在组合步骤期间,软数值的计算被限制在用于分别连接在前向递归和后向递归中的残存状态s’和s的分支(s’,s)中。

Description

减小的搜索符号估值算法
                       发明领域
本发明总的涉及用于数字通信系统的编码算法,更具体地,涉及用于对卷积码译码的减小的搜索符号估值算法。
                       发明背景
通信系统的基本功能是通过通信信道从产生信息的源发送信息到一个或多个目的地。在数字通信系统中,信息被变换成数字格式,然后通过通信信道被发送。数字信息的传输要受到通信信道的各种有害的影响,诸如同信道和相邻信道干扰、噪声、色散和衰落。这些影响把误码(被称为“信道误码”)引入到发送的数据流中。这些影响在无线通信系统中特别严重。
在1948年,Claude E.Shannon在著名的论文中证明:通过在传输前对数字信息的适当的编码,由噪声信道引入的误码可以减小到任何想要的水平,而不会牺牲信息传输的速率。编码是在信息传输之前把冗余度附加到信息的过程,这样,在传输期间可能出现的错误可被检测和/或被纠正。在接收端,译码器利用冗余信息和编码方案的先验的知识,检测和/或纠正在信息传输期间可能出现的错误。
通常在数字通信系统中使用的一种纠错码是卷积码。在卷积码中,信息序列一次馈送到编码器k个比特。对于输入到编码器的每k个比特,输出n个比特(n>k)。n个输出比特形成从一组码字C中选择的一个码字。因此,卷积码代表k个输入比特到从码字组C中选择的一个n比特的码字的映射。
卷积码的一个基本特性是:由编码器输出的每个码字不仅由k个输入比特确定,然而也由在前一个编码间隔期间输入的信息比特确定。对先前的信息比特的依赖性使得编码器的作用像一个有限状态机。通常使用来表示卷积码的一个方法是采用网格图。图1上显示对于编码率1/2的卷积码的示例性网格图。在图1所示的代码中,在每个编码间隔期间输入1个比特到编码器,以及输出2比特。编码的输出因此可以取四个可能的数值中的一个数值。每个网格节点相应于四个可能的数值中的一个数值以及常常作为节点或状态被返回。网格图中每列节点代表一个被称为编码间隔或阶段的时刻。节点组在每个编码间隔内重复。在各状态之间的转移在网格图上用连接相邻的编码间隔的节点的分支来代表。每个分支与已被发送的特定的符号或码字相联系。一系列被连接的分支规定网格上的一条路径。每条路径代表正确接收的符号序列。
在网格图上编码是从左到右地进行的。在每个编码间隔,k个比特被输入到编码器,它产生包含n个比特的编码的输出。网格图上从起始状态延伸到末尾状态的每条路径对应于一个正确的符号序列。重要的是应指出,在正确的符号序列与通过网格的路径之间有一对一的相应关系。译码器的功能是根据接收的序列来确定所发送的符号序列。
已经提出多种用于译码卷积码的方法。由这些不同的方法中的每个方法实施的基本任务基本上是相同的:找出“最接近”于接收序列的通过网格的路径。最接近的路径对应于具有被传输给出接收序列的最高的概率的代码序列。
被认为最佳的、用于译码接收符号序列的方法被称为最大或然率序列估值(MLSE)。在MLSE中,译码器试图找出最好地匹配于接收符号序列的、通过网格的路径。网格的每个分支被分配一个量度值,它代表对应于作为被发送的符号序列的一部分的那个分支的符号的或然率。然后,通过把与路径上每个分支有关的分支量度相加在一起,从而计算出对于一条路径的路径量度。最紧密地匹配于接收符号序列的路径是具有最低积累的路径量度的路径。相应于具有最低路径量度的路径的符号序列被作为译码的序列而输出。
在大多数代码中,可能的通过网格的路径的数目相当大,所以,不可能计算对于每条可能的通过网格的路径的路径量度。所以,在寻找简化找出最接近于接收符号序列的路径的任务的新的算法上,已经花费了很大的精力。一个这样的算法被称为维特比(Viterbi)算法。
在Viterbi算法中,通过在每个阶段从开始点到结尾点顺序移动通过网格以便对于每个状态或节点保持一条“残存路径”,从而找出具有最低路径量度的路径。残存路径被定义为引导到具有最低积累路径量度的特定的节点的路径。对于任何给定的间隔,将有M个残存状态,其中M是可能的状态或节点的数目。一旦对于每个状态确定残存路径,残存路径就被延伸到下一个间隔,并确定对于下一个阶段的残存状态。可以不限定地进行递归,使残存路径的数目不超过M。当达到最后的阶段时,译码器确定最后的残存路径中哪条路径是最佳的,以及输出相应的比特。
即使Viterbi算法大大地简化寻找最接近路径的任务,但Viterbi算法的复杂性随编码器的存储器增加而指数地增长。因此,Viterbi算法不适用于具有长的约束长度的代码。另一个缺点是Viterbi算法产生硬判决。
另一个通常使用的算法被称为M算法(MA)。在MA中,对于网格中的每个编码间隔,由译码器保持的残存路径的数目被限制为小于可能的状态数目的一个固定数目N。在每个阶段,MA根据积累的路径量度选择N条路径。因此,在任何给定的时间间隔,MA把通过网格的搜索限制为固定数目的状态。如果对于N的选择的数值太小,将会存在删除相应于发送符号序列的路径的高概率,因此将会存在高的错误概率。
符号估值算法提供了一种序列估值算法的替换方案。这类算法虽然典型地比起序列估值算法更复杂,以及也并不太多地被了解,但它具有某些优点。一个优点是符号估值算法产生符号可靠度数值(软数值)以作为它们正常设计的一部分。相反,为了产生可靠度数值,Viterbi算法需要进行修正。而且,由修正的Viterbi算法产生的软数值不如由符号估值算法产生的软数值精确。
虽然在本专利申请中,我们集中在本发明对卷积码译码器的应用上,但本领域技术人员将会看到,我们的发明可被使用于在存在符号间干扰时数字符号的估值(即,对于MAP均衡)。
                     发明概要
根据本发明,提供用于译码一个接收的序列以便得到发送序列的估值的方法,包括:
形成包括多个节点和多个分支的网格,其中每个节点代表在一个时刻的特定的状态,以及其中每个分支代表在不同的时刻的状态之间的转移,并且相应于与所述转移有关的可能的发送符号;
指定分支量度给所述网格的所述分支;
执行从开始状态起动的、通过所述网格的前向递归,以及在所述前向递归中在每个阶段:
形成候选状态组,其中所述候选状态是从先前的递归中的残存状态引导出的、具有进入分支的那些状态;
根据所述分支量度计算对于每个候选状态的前向路径量度;
根据对于所述候选状态的前向路径量度,形成从所述候选状态组中选择的前向残存状态组Q,其中Q中的成员数目小于候选状态数目;
存储对于Q中的每个成员状态的前向路径量度;
执行从结尾状态起动的、通过所述网格的后向递归,以及在所述后向递归中在每个阶段:
形成候选状态组,其中所述候选状态是从先前的递归中的残存状态引导出的、具有进入分支的那些状态;
根据所述分支量度计算对于每个候选状态的后向路径量度;
根据对于所述候选状态的后向路径量度,形成从所述候选状态组中选择的后向残存状态组R,其中R中的成员数目小于候选状态数目;
存储对于R中的每个成员状态的后向路径量度;
对于所述网格的每个阶段k,根据对于Qk-1组中的残存状态的积累的前向路径量度、对于组Rk中的残存状态的积累的后向路径量度、以及在连接Qk-1和Rk中的残存状态的分支组B中的分支的分支量度,计算软数值。
根据本发明,提供通信系统,包括:
发射机,具有用于编码一个符号序列的编码器,和通过通信信道发送编码的符号,其中所述编码的序列在通过所述通信信道进行所述发送期间被改变;
接收机,具有译码器,用于译码通过所述通信信道接收的一个接收序列,以便产生编码序列的估值,所述译码器包括:
分支量度计算器,用于计算对于网格中的分支的分支量度;
第一处理器,用于执行通过所述网格的前向递归,以及在所述网格的每个阶段,选择小于在所述网格中的状态的总数的预定的数目的前向残存状态;
第二处理器,用于执行通过所述网格的后向递归,以及在所述网格的每个阶段,选择小于在所述网格中的状态的总数的预定的数目的后向残存状态;
第一状态量度生成器,用于计算在所述前向递归的每个阶段中对于残存状态的状态量度;
第二状态量度生成器,用于计算在所述后向递归的每个阶段中对于残存状态的状态量度;
软数值生成器,用于根据所述前向状态量度、所述后向状态量度、和连接选定的前向和后向残存状态的分支组B中的所述分支量度来计算软数值。
本发明是类似于MAP译码器的减小的搜索符号估值算法。减小的搜索符号估值算法包括前向递归、后向递归、以及组合步骤。对于每个阶段k,译码器执行直到阶段k-1的前向递归和直到阶段k的后向递归。为了减小复杂性,译码器在前向和后向递归期间不保持所有的阶段。相反,在前向和后向递归的每个阶段,残存状态的数目被限制为小于可能状态数目的预定数目的状态。在前向递归中的残存状态用Qk表示。在后向递归中的残存状态用Rk表示。在递归的每个阶段,译码器把分支从原先的阶段的残存状态向前(或向后)延伸一个阶段。延伸的分支结束时的状态成为候选状态。译码器比较对于每个候选状态的分支BK的积累的路径量度,以及保持小于总的状态数目的预定数目的状态。
在组合步骤期间,通过组合在Qk-1中对于残存状态的前向状态量度、在Rk中对于残存状态的后向状态量度、和在两个组中连接各残存状态的分支量度,可以计算对于当前的状态k的对数或然率比值或软数值。为了计算或然率比值,把连接分支的组Bk划分成两个子集Bk0和Bk1,分别相应于对于当前的比特的0或1。对数或然率然后由下式给出:
L k = max B k 0 * ( α k - 1 ( s ′ ) = c k ( s ′ , s ) + β k ( s ) ) - max B k 1 * ( α k - 1 ( s ′ ) + c k ( s ′ , s ) + β k ( s ) )
为了防止组Bk成为空的,译码器可以在前向和后向递归期间执行增扩步骤。例如,假设在后向递归期间执行增扩步骤。译码器执行完全的前向递归,存储每个阶段的残存状态的状态量度。在后向递归期间,译码器根据积累的路径量度确定每个阶段的残存状态。然后,译码器确定在后向递归中在状态k的残存状态是否包括了一个在同一个阶段来自前向递归的残存状态。如果不包括的话,译码器从前向递归的同一个阶段选择一个残存状态来作为后向递归的残存状态而加以包括。这个程序过程也可被使用来确保任一个Bk的子集都不是空的。
在本发明的另一个实施例中,增扩步骤在前向和后向递归之后、但在计算或然率比值之前执行。也就是,在计算或然率比值之前,译码器确定是否存在任何连接的分支,它用于把Qk-1中的残存状态连接到Rk中的后向残存状态。如果不存在的话,则选择另一个残存状态以便将其包括在Qk-1或Rk中,从而使得能够计算或然率比值。通过从一个残存状态向前(或向后)延伸分支一个阶段以及选择最好的延伸的路径,可以选择另一个状态。另一个方法是从一个当前的残存状态沿着残存路径回退,以便找出先前被删除的路径。例如,译码器从Rk中的残存状态回退,以便找出被连接到Qk中的成员的已删除的分支。最短的再生的路径被包括在Rk中。
                       附图简述
图1显示对于1/2编码率的卷积码的网格图。
图2显示数字通信系统的方框图。
图3是显示通过使用来自前向和后向递归的积累的路径量度来计算译码符号的或然率比值的方法的网格图。
图4是显示本发明的译码方法的流程图。
图5是显示被使用来实施译码方法的修正的M算法的流程图。
图6是显示具有附加增扩步骤的修正的M算法的流程图。
图7是显示具有增扩步骤的译码方法的第二实施例的流程图。
图8是显示被使用来实施译码方法的用于再生的方法的网格图。
                  发明详细描述
图2显示数字通信系统,总的用数字10表示。系统10总的包括发射机14和接收机30,它们由通信信道12相联系。发射机14包括源编码器16、信道编码器20和调制器22。信息源提供源数据流I,它最终被输送到接收机30。这个源数据假设是数字化的格式,以及被直接传送到源编码器16。源编码器16用于去除冗余性,或使得源数据流随机化,从而生成信息序列X,它对于最大信息内容是最佳化的。来自源编码器16的信息序列被传送到信道编码器18。
信道编码器18被设计成可以把冗余性单元引入到由源编码器16提供的信息序列X,以便生成编码的输出Y。虽然一开始对于前面讨论的源编码器18的功能出现在奇数,实际上,由信道编码器18添加上的冗余性可用来增强通信系统的纠错能力。通过以受控制的方式把冗余性引入到信息序列,一个已知所使用的代码的接收机可以通过利用冗余的信息检测和在可能情况下纠正在传输期间可能发生的错误。
调制器20把信道编码器18接口到通信信道12。调制器20从信道编码器18接收编码的输出,以及生成可以通过信道12有效地发送的波形。术语“信号星座图”常常指可提供来用于映射信道编码器18的编码的输出的、可能的信号波形组。这些输出的波形或信号星座图方案通常是根据通信系统的技术条件、最佳检测性能、功率要求,或带宽可提供性而被选择的。在数字通信系统中使用的典型的信号星座图包括16QAM、8-PSK、4-PSK等等。
在数字通信系统10的接收机30处,解调器32在任何给定的时间处理输出波形(它在传输期间被信道12弄乱),以确定星座图中哪个可能的信号被发送。例如,当使用二进制调制时,解调器32处理接收的波形,以及决定发送的比特是0还是1。解调器的输出是所接收到的序列Z。解调器32的输出被传送到译码器34,它试图根据由信道编码器16使用的代码的先验的知识来重建原先的信息序列X。解调器32和译码器34工作好坏的量度值是译码序列中出现错误的频率。作为最后的步骤,当需要模拟输出时,源译码器36接受来自译码器34的输出序列,以及根据源编码的方法的知识,试图重建来自信息源的原先的信号。重建的信号与原先的信号之间的差别是由通信系统引入的失真的量度值。
MAP译码器使用后验概率来得出被发送的信息符号的估值。例如,假设信息序列x被映射为码字y。对于第k个比特xk,令C0表示在C中的、相应于在第k个位置具有0的信息块的码字,以及C1表示在C中的、相应于在第k个位置具有1的信息块的的码字。MAP译码器处理接收的序列z,以便通过使用以下的公式产生对于给定的信息比特xk的对数或然率比值Lk
L k = 1 n ( Σ y ≤ C 0 p ( y | z ) Σ y ≤ C 1 p ( y | z ) ) 公式(1)
MAP译码器计算译码处理的每个阶段的或然率比值,以及根据或然率比值选择符号。或然率比值的分子是所有的码字y在C0的概率的总和。或然率比值的分母是所有的码字y在C1的概率的总和。如果比值大于1,译码器输出一个0作为xk的估值。如果比值小于1,译码器输出一个1作为xk的估值。用来产生(1)的熟知的技术是BCJR算法。BCJR算法在“Optimal Decoding of Linear Codes for MinimizingSymbol Error Rate(用于使得误符号率最小化的线性码的最佳译码)”,IEEE J.Trans.Information Theory,vol.IT-20,pp.284-287,1974中详细描述,该论文在此引用,以供参考。MAP译码器在计算上很繁重的,但具有产生软数值作为译码过程的正常部分的优点。
方程(1)不单可被使用来找出信息比特的对数或然率,也可以找出编码的比特的对数或然率。这在多遍解调(multi-passdemodulation)时是特别有用的,它有时被称为Turbo均衡,其中解调是通过使用来自译码器的信息第二次被执行的。优选地,固有的信息被传送到第二遍解调器,它是通过从译码器输出对数或然率数值中减去第一遍解调器对数或然率数值而形成的。通常,可以使用对数或然率或或然率数值,以及通常被称为软数值。
在“An Intuitive Justification and a Simple Implementation of theMAP Decoder for Convolutional Codes(用于卷积码的MAP译码器的直观证明和简单的实施方案)”,IEEE J.Selected Areas inCommunication,Vol.16,pp.260-264(1998)中描述了MAP译码的方法,它包括前向和后向译码步骤以及组合步骤。参照图3,假设对于第k比特寻求Lk。为了简化讨论,假设网格是二进制,这样,一个分支相应于单个比特。处理过程很容易被一般化为处理每个分支的多个比特。通过应用Viterbi算法,计算在第k阶段对于每个开始状态s’的前向状态量度。把第(k-1)节点的状态s’的状态量度表示为ak-1(s’),把第k节点的状态s的状态量度表示为ak(s),以及把连接节点k-1的状态s’与节点k的状态s的分支量度表示为ck(s’,s),对于给定的状态s的前向量度可由下式给出:
a k ( s ) = max s ′ * ( a k - 1 ( s ′ ) + c k ( s ′ , s ) ) 公式(2)
通过执行后向Viterbi算法,计算在第k阶段对于每个结尾状态s的后向状态量度。把第(j-1)节点的状态s’的状态量度表示为bj-1(s’),把第k节点的状态s的状态量度表示为bj(s),以及把连接节点k-1的状态s’与节点k的状态s的分支量度表示为ck(s’,s),对于给定的状态s’的后向量度可由下式给出:
b j - 1 ( s ′ ) = max s * ( b j ( s ) + c j ( s ′ , s ) ) 公式(3)
在前向和后向递归中使用的函数max*被定义为如下:
max * ( u 1 , u 2 , . . . . u n ) = 1 n ( e u 1 + e u 2 + . . . + e u n ) 公式(4)
对于给定的节点k,然后通过组合对于开始状态s’的前向状态量度、对于结尾状态s的后向状态量度、以及连接开始和结尾状态s和s’的分支而计算或然率比值。连接分支组B被划分成相应于xk=0的分支组B0和相应于xk=1的互补分支组B1。或然率比值然后由下式给出:
L k = max B 0 * ( a k - 1 ( s ′ ) + c k ( s ′ , s ) + b k ( s ) )
- max B 1 * ( a k - 1 ( s ′ ) + c k ( s ′ , s ) + b k ( s ) ) 公式(5)
MAP译码的一个问题是,它通常比序列译码复杂。本发明是减小复杂性的符号估值算法,它近似于具有低得多的复杂度的MAP译码器。
简述之,减小的搜索符号估值算法包括前向递归、后向递归、和组合步骤。为了减小复杂性,本发明并不保持在前向和后向递归期间的所有的状态。相反,在在前向和后向递归的每个阶段,残存状态数目被限制为从候选状态组中选择的预定的数目的状态。候选状态是被分支连接到来自先前的递归的状态的残存状态的那些状态。译码器比较对于每个候选状态的累积的路径量度,并且保持一个特定的状态数目,它小于网格中总的状态数。对于前向递归,保持的状态或残存状态(用Qk表示)连同相应的状态量度一起被存储。对于后向递归,保持的状态(用Rk表示)连同相应的状态量度一起被存储。在组合步骤期间,Lk的计算被限制于分别在前向和后向递归时连接残存状态s和s’的分支(s,s’)。
图4是显示本发明的译码方法的流程图。假设对于信息比特xk寻求Lk。通过使用减小复杂性搜索算法(诸如M算法)对于所有的阶段执行通过网格的前向递归(方块102)。前向递归由下式定义:
a k ( s ) = max s ′ * ( α k - 1 ( s ′ ) + c k ( s ′ , s ) ) 公式(6)
其中αk-1(s’)是与属于在k-1阶段的残存状态组Qk-1的状态s’有关的状态量度。后向递归是在网格的结尾状态开始执行的,一直到阶段k(方块104)。后向递归由下式定义:
b k - 1 ( s ′ ) = max s ′ * ( β k ( s ) + c k ( s ′ , s ) ) 公式(7)
其中βk-1(s’)是与属于在阶段k的残存状态组Rk的状态s有关的状态量度。对于存在连接的分支的所有的对(s’,s),有可能组合状态s’的前向状态量度、状态s的后向状态量度、和对于连接分支的分支量度,以便得到对于第k比特的或然率。连接对(s’,s)的分支用Bk表示。在执行后向递归后,译码器34确定是否存在连接对(s’,s)的分支Bk(方块106)。在不存在分支Bk块的情形下,译码器34必须执行附加的运行,以产生或然率比值(方块110)。为了计算或然率比值,连接分支组Bk被划分成两个子集Bk0和Bk1,分别相应于对于正确的比特的0或1。或然率比值然后由下式给出:
L k = max B k 0 * ( α k - 1 ( s ′ ) + c k ( s ′ , s ) + β k ( s ) ) - max B k 1 * ( α k - 1 ( s ′ ) + c k ( s ′ , s ) + β k ( s ) ) 公式(9)
它被进行计算(方块108)以及作为软判决输出(方块112)。
在输出符号后,译码器检验是否达到最后的阶段(方块114)。如果不是的话,则译码器移到下一阶段,重复步骤104-112。当达到最后的阶段时,递归结束(方块116)。
用来执行前向和后向递归的算法优选地是被称为M算法(MA)的算法变例,以及被显示于图5。这个算法在这里称为修正的M算法(M*A)。译码器34通常被初始化到全零状态,以及积累的路径量度被初始化为零(方块202)。译码器34把分支从每个当前的残存状态延伸到下一个阶段(方块204)。在延伸的分支的结尾处的状态被称为候选状态。在递归的初始阶段,只有单个残存状态,它是全零状态。然后通过使用方程(4)所示的max*功能或(4)的任何近似,计算对于每个候选状态的路径量度(方块206)。某些状态可以具有可引导到该状态的多条路径。在这种情形下,译码器34可以使用引导到该状态的所有的路径的路径量度中的较大者,这将被称为最大积累路径量度。或者,它可以使用max*运算来组合路径量度。在对于候选状态计算最大积累路径量度后,译码器34根据积累路径量度选择最好的m个状态(在其中m是小于可能状态的总数的整数)。在当前的阶段k残存状态组的路径量度(对于前向递归用Qk表示以及对于后向递归用Rk表示)然后被存储在存储器中(方块210)。这个处理过程重复进行,直至达到最后的阶段(方块212)为止,这时递归结束(方块214)。
如果在前向和后向递归的每个阶段保持的残存状态的数目N比起总的状态数目很小,则使用上述的减小的搜索符号估值算法会有几个缺点。首先,组Bk可能是空的,因为在Qk-1和Rk中的残存状态相隔很远。也就是,没有连接前向递归中的残存状态与后向递归中的残存状态的分支。这意味着,译码器34将不能计算对于正确的比特的可靠度数值。即使组Bk不是空的,子集Bk0和Bk1之一也可能是空的。如果Bk0是空的,则它的相应的max*项必须用负无穷大或某个其他的大的负数代替。在某种意义上,这意味着,译码器34正在产生正确的比特的硬数值。
现在参照图6,将描述M*A的一个修正例,它确保组Bk不是空的。首先,执行如图5所示的完全的前向M*A,以得出在网格的每个阶段k的残存状态组Qk。在前向递归期间,对于阶段k的残存状态组Qk的状态量度被存储在存储器。然后执行如图6所示的后向递归。译码器34被初始化(方块302),然后把分支从开始状态延伸到下一个阶段(方块304)。计算对于候选状态的路径量度(方块306),以及选择残存状态Rk(方块308)。在选择残存状态以后,译码器确定Rk是否包括网格的同一个阶段k的Qk的成员。如果没有包括的话,除了最好的N个状态以外,来自前向递归的至少一个状态Qk被保持。Qk的被选择的成员可代替现有的Rk的成员,或它仅仅被添加到现有的Rk成员。这个附加步骤确保Bk不是空的。等价地,相同的处理过程可被使用来增扩Qk,而不增扩Rk。为了防止Bk的子集是空的,可以选择Qk的两个成员以便将其包括在Rk中,一个加到相应于xk=0的结尾的分支,另一个加到相应于xk=1的结尾的分支。
图7显示译码方法的另一个修正例,它确保Bk的子集不是空的。在这个方法中,执行完全的前向递归(方块402)和后向递归(方块404)。然后在组合步骤之前执行增扩步骤。如图7所示,译码器确定子集Bk0或Bk1是否空的。如果任一个子集都是空的,则译码器执行附加的增扩步骤(方块408)。比如说,子集Bk0是空的。译码器34通过加上在前向递归期间没有被选择的另一个状态S’a来增扩组Qk-1。用于找出另一个状态s’a的一个方法是译码器34把相应于xk=0的分支从Rk中的每个残存状态加以延伸并且选择最好的状态,以及把它添加到组Qk-1。另一个状态可以作为附加成员添加到Qk-1,或可以代替Qk-1的现有的成员。相同的方法可被使用来确保子集Bk-1不是空的。在增扩步骤以后,可以计算或然率比值(方块410)。在计算或然率比值后,译码器34选择一个符号来加以输出(方块412)。在输出一个符号后,译码器34检验是否到达最后阶段(方块416)。如果不是的话,译码器34移到下一级(方块418),以及重复进行步骤406-412,直至到达信息块的末尾,这时,处理过程结束(方块420)。
图8显示用于增扩Qk的另一个方法,它涉及到重新产生先前删除的分支。图8显示在执行前向递归和后向递归以后译码器34的状态。如图8所示,不存在连接Qk-1和Rk中的残存状态s’,s的分支。当组Bk是空的时,译码器34在前向递归或后向递归时可沿着残存路径回退,以找出分别连接Qk-1和Rk中的残存状态的、先前被删除的路径。如图8的箭头所示,译码器34沿着残存路径从Rk中的每个残存状态回退。在回退时,译码器34找出被连接到Qk中的成员的、删除的路径(以虚线表示)。译码器34然后选择它们的路径之一,以及重新产生选择的路径。图8显示能引导到可能的替换状态A1-A4的四个删除的分支。选择一个替换的路径。沿着选择的路径在阶段k的节点A1、A4被包括在Rk中。同样的方法可被使用来再生从Qk中的一个状态开始的前向方向中的一条路径。这个方法也可被使用来找出使得Bk0和Bk1不会变空的、对于Qk-1和Rk的另外的状态。
本发明在译码Turbo码时是有用的。典型地,使用多级MAP译码。本发明可被使用来减小每级的复杂性,从而减小所需要的信号处理功率。对于蜂窝终端,这可以减小电池消耗,增加通话时间。

Claims (7)

1.用于译码一个接收的序列以便得到发送序列的估值的方法,包括:
形成包括多个节点和多个分支的网格,其中每个节点代表在一个时刻的特定的状态,以及其中每个分支代表在不同的时刻的状态之间的转移,并且相应于与所述转移有关的可能的发送符号;
指定分支量度给所述网格的所述分支;
执行从开始状态起动的、通过所述网格的前向递归,以及在所述前向递归中在每个阶段:
形成候选状态组,其中所述候选状态是从先前的递归中的残存状态引导出的、具有进入分支的那些状态;
根据所述分支量度计算对于每个候选状态的前向路径量度;
根据对于所述候选状态的前向路径量度,形成从所述候选状态组中选择的前向残存状态组Q,其中Q中的成员数目小于候选状态数目;
存储对于Q中的每个成员状态的前向路径量度;
执行从结尾状态起动的、通过所述网格的后向递归,以及在所述后向递归中在每个阶段:
形成候选状态组,其中所述候选状态是从先前的递归中的残存状态引导出的、具有进入分支的那些状态;
根据所述分支量度计算对于每个候选状态的后向路径量度;
根据对于所述候选状态的后向路径量度,形成从所述候选状态组中选择的后向残存状态组R,其中R中的成员数目小于候选状态数目;
存储对于R中的每个成员状态的后向路径量度;
对于所述网格的每个阶段k,根据对于Qk-1组中的残存状态的积累的前向路径量度、对于组Rk中的残存状态的积累的后向路径量度、以及在连接Qk-1和Rk中的残存状态的分支组B中的分支的分支量度,计算软数值。
2.按照权利要求1的译码方法,还包括分别在所述前向或后向递归期间增扩至少一个Q组和R组,以便将在同一个网格阶段的至少一个其他组的成员包括在内,从而使得在所述计算步骤期间B将不是空的。
3.按照权利要求2的译码方法,还包括根据由所述分支代表的符号来把B的成员分组为多个子集,以及其中Q组和R组中的至少一个分别在所述前向或后向递归期间被增扩成包括另外的成员,从而使得在所述计算步骤期间B的子集都不是空的。
4.按照权利要求1的译码方法,还包括在所述计算步骤之前,确定B组是否空的,以及如果是的话,则增扩Q组和R组中的至少一个,以便包括具有连接到其他组中的成员的分支的至少一个另外的成员。
5.按照权利要求4的译码方法,其中所述增扩步骤包括沿着引导到Q或R中的残存状态的残存路径而回退;找出被连接到其他组的成员的一条删除的路径;重新产生所述删除的路径;以及选择沿着重新产生的路径的一个节点以便将其包括在Q或R中。
6.按照权利要求4的译码方法,还包括根据由所述分支代表的符号把B的成员分组为多个子集;确定B的任何的子集是否空的;以及如果是的话,就增扩Q组和R组中的至少一个,以便包括具有属于B的所述空的子集的分支的另外的成员。
7.通信系统,包括:
发射机,具有用于编码一个符号序列的编码器,和通过通信信道发送编码的符号,其中所述编码的序列在通过所述通信信道进行所述发送期间被改变;
接收机,具有译码器,用于译码通过所述通信信道接收的一个接收序列,以便产生编码序列的估值,所述译码器包括:
分支量度计算器,用于计算对于网格中的分支的分支量度;
第一处理器,用于执行通过所述网格的前向递归,以及在所述网格的每个阶段,选择小于在所述网格中的状态的总数的预定的数目的前向残存状态;
第二处理器,用于执行通过所述网格的后向递归,以及在所述网格的每个阶段,选择小于在所述网格中的状态的总数的预定的数目的后向残存状态;
第一状态量度生成器,用于计算在所述前向递归的每个阶段中对于残存状态的状态量度;
第二状态量度生成器,用于计算在所述后向递归的每个阶段中对于残存状态的状态量度;
软数值生成器,用于根据所述前向状态量度、所述后向状态量度、和连接选定的前向和后向残存状态的分支组B中的所述分支量度来计算软数值。
CN00818860.2A 1999-12-07 2000-11-13 减小的搜索符号估值算法 Expired - Fee Related CN1210872C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/454,577 1999-12-07
US09/454,577 US6597743B1 (en) 1999-12-07 1999-12-07 Reduced search symbol estimation algorithm

Publications (2)

Publication Number Publication Date
CN1433589A CN1433589A (zh) 2003-07-30
CN1210872C true CN1210872C (zh) 2005-07-13

Family

ID=23805188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00818860.2A Expired - Fee Related CN1210872C (zh) 1999-12-07 2000-11-13 减小的搜索符号估值算法

Country Status (5)

Country Link
US (1) US6597743B1 (zh)
EP (1) EP1236282A1 (zh)
CN (1) CN1210872C (zh)
AU (1) AU1605201A (zh)
WO (1) WO2001043293A1 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6788750B1 (en) * 2000-09-22 2004-09-07 Tioga Technologies Inc. Trellis-based decoder with state and path purging
US6970520B1 (en) * 2000-11-13 2005-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for accumulating metrics generated by a sequence estimation algorithm
US7020185B1 (en) * 2000-11-28 2006-03-28 Lucent Technologies Inc. Method and apparatus for determining channel conditions in a communication system
US6865711B2 (en) * 2000-12-15 2005-03-08 Conexant Systems, Inc. System of and method for decoding trellis codes
US6973615B1 (en) * 2000-12-15 2005-12-06 Conexant Systems, Inc. System of and method for decoding trellis codes
US6763493B2 (en) * 2001-09-21 2004-07-13 The Directv Group, Inc. Method and system for performing decoding using a reduced-memory implementation
FI20020108A0 (fi) 2002-01-21 2002-01-21 Nokia Corp Menetelmõ ja laite polkumetriikoiden muodostamiseksi trelliksessõ
FI112570B (fi) 2002-05-31 2003-12-15 Nokia Corp Menetelmä ja järjestely trelliksen läpikäymisen tehostamiseksi
US7089481B2 (en) * 2002-07-22 2006-08-08 Agere Systems Inc. High speed arithmetic operations for use in turbo decoders
US7787522B2 (en) * 2003-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) Joint multi-code detectors in CDMA communications system
US7246295B2 (en) 2003-04-14 2007-07-17 Agere Systems Inc. Turbo decoder employing simplified log-map decoding
US7447970B2 (en) * 2004-06-16 2008-11-04 Seagate Technology, Inc. Soft-decision decoding using selective bit flipping
GB0418263D0 (en) * 2004-08-16 2004-09-15 Ttp Communications Ltd Soft decision enhancement
US7359453B1 (en) * 2004-09-03 2008-04-15 Rf Micro Devices, Inc. System and method for transitioning between modulation formats in adjacent bursts triggering on ramps
GB2422074B (en) * 2005-01-10 2007-06-06 Toshiba Res Europ Ltd Signal decoding methods and apparatus
WO2006116066A2 (en) * 2005-04-26 2006-11-02 Navini Networks, Inc. Method for decoding tail-biting convolutional codes
GB2426898B (en) * 2005-06-02 2007-05-23 Toshiba Res Europ Ltd Wireless communications apparatus
US8194760B2 (en) 2006-06-01 2012-06-05 Ntt Docomo, Inc. Method and apparatus for distributed space-time coding in wireless radio networks
US8027407B2 (en) 2006-11-06 2011-09-27 Ntt Docomo, Inc. Method and apparatus for asynchronous space-time coded transmission from multiple base stations over wireless radio networks
US8059732B2 (en) 2006-11-28 2011-11-15 Ntt Docomo, Inc. Method and apparatus for wideband transmission from multiple non-collocated base stations over wireless radio networks
US7844008B2 (en) * 2006-12-28 2010-11-30 Nokia Corporation Delayed branch decision in quadrature decomposition with M-searching
US8861356B2 (en) 2007-03-13 2014-10-14 Ntt Docomo, Inc. Method and apparatus for prioritized information delivery with network coding over time-varying network topologies
US8094707B1 (en) 2007-03-21 2012-01-10 Arrowhead Center, Inc. List-based detection in fading channels with long intersymbol interference
US8064548B2 (en) 2007-05-18 2011-11-22 Ntt Docomo, Inc. Adaptive MaxLogMAP-type receiver structures
US8358713B2 (en) * 2007-09-10 2013-01-22 Sarath Babu Govindarajulu High throughput and low latency map decoder
US8325840B2 (en) 2008-02-25 2012-12-04 Ntt Docomo, Inc. Tree position adaptive soft output M-algorithm receiver structures
US8279954B2 (en) 2008-03-06 2012-10-02 Ntt Docomo, Inc. Adaptive forward-backward soft output M-algorithm receiver structures
US8565329B2 (en) 2008-06-03 2013-10-22 Ntt Docomo, Inc. Soft output M-algorithm receiver structures with generalized survivor selection criteria for MIMO systems
US8099657B2 (en) * 2008-07-11 2012-01-17 Freescale Semiconductor, Inc. Error correcting Viterbi decoder
US8229443B2 (en) 2008-08-13 2012-07-24 Ntt Docomo, Inc. Method of combined user and coordination pattern scheduling over varying antenna and base-station coordination patterns in a multi-cell environment
US8705484B2 (en) 2008-08-15 2014-04-22 Ntt Docomo, Inc. Method for varying transmit power patterns in a multi-cell environment
US8451951B2 (en) 2008-08-15 2013-05-28 Ntt Docomo, Inc. Channel classification and rate adaptation for SU-MIMO systems
US8542640B2 (en) 2008-08-28 2013-09-24 Ntt Docomo, Inc. Inter-cell approach to operating wireless beam-forming and user selection/scheduling in multi-cell environments based on limited signaling between patterns of subsets of cells
US8855221B2 (en) 2008-09-15 2014-10-07 Ntt Docomo, Inc. Method and apparatus for iterative receiver structures for OFDM/MIMO systems with bit interleaved coded modulation
US9048977B2 (en) 2009-05-05 2015-06-02 Ntt Docomo, Inc. Receiver terminal driven joint encoder and decoder mode adaptation for SU-MIMO systems
FR2946480B1 (fr) * 2009-06-09 2011-06-17 Thales Sa Recepteur equipe d'un decodeur de viterbi a treillis
US8279981B2 (en) * 2009-10-23 2012-10-02 Telefonaktiebolaget L M Ericsson (Publ) Method for post detection improvement in MIMO
US8514961B2 (en) 2010-02-04 2013-08-20 Ntt Docomo, Inc. Method and apparatus for distributed space-time coding in wireless radio networks
US8750176B2 (en) 2010-12-22 2014-06-10 Apple Inc. Methods and apparatus for the intelligent association of control symbols
US8897398B2 (en) * 2012-01-27 2014-11-25 Apple Inc. Methods and apparatus for error rate estimation
US9838226B2 (en) 2012-01-27 2017-12-05 Apple Inc. Methods and apparatus for the intelligent scrambling of control symbols
US9450790B2 (en) 2013-01-31 2016-09-20 Apple Inc. Methods and apparatus for enabling and disabling scrambling of control symbols
US9210010B2 (en) 2013-03-15 2015-12-08 Apple, Inc. Methods and apparatus for scrambling symbols over multi-lane serial interfaces
US9385896B1 (en) * 2015-07-09 2016-07-05 Huawei Technologies Co., Ltd. Method and apparatus for low-complexity quasi-reduced state soft-output equalizer

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502735A (en) * 1991-07-16 1996-03-26 Nokia Mobile Phones (U.K.) Limited Maximum likelihood sequence detector
US5784392A (en) 1995-06-26 1998-07-21 Nokia Mobile Phones Ltd. Viterbi decoder with l=2 best decoding paths
US5684811A (en) 1995-09-01 1997-11-04 Motorola, Inc. Method and apparatus for decoding convolutionally encoded information
DE59509663D1 (de) 1995-10-21 2001-11-08 Micronas Gmbh Logischer Block für einen Viterbi-Decoder
US6028899A (en) * 1995-10-24 2000-02-22 U.S. Philips Corporation Soft-output decoding transmission system with reduced memory requirement
JP3674111B2 (ja) * 1995-10-25 2005-07-20 三菱電機株式会社 データ伝送装置
US5905742A (en) 1995-12-27 1999-05-18 Ericsson Inc. Method and apparauts for symbol decoding
JP3233847B2 (ja) 1996-02-23 2001-12-04 沖電気工業株式会社 ビタビ復号方法及びビタビ復号回路
US5881075A (en) 1996-03-18 1999-03-09 Samsung Electronics Co., Ltd. Viterbi decoder
US5781569A (en) 1996-10-28 1998-07-14 Lsi Logic Corporation Differential trellis decoding for convolutional codes
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
US5901182A (en) 1997-03-26 1999-05-04 Sharp Laboratories Of America, Inc. Metric sifting in breadth-first decoding of convolutional coded data
AT405470B (de) * 1997-10-10 1999-08-25 Kratochwil Konrad Verfahren und anordnung zur übertragung von digitalen daten

Also Published As

Publication number Publication date
EP1236282A1 (en) 2002-09-04
WO2001043293A1 (en) 2001-06-14
AU1605201A (en) 2001-06-18
CN1433589A (zh) 2003-07-30
US6597743B1 (en) 2003-07-22

Similar Documents

Publication Publication Date Title
CN1210872C (zh) 减小的搜索符号估值算法
CN1132320C (zh) 截尾格子码的软输出译码器
CN1178397C (zh) 对经卷积编码的码字解码的软判定输出解码器
EP1665539B1 (en) Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
CN1154236C (zh) 纠错编码型的数字传输方法
CN101867379B (zh) 一种循环冗余校验辅助的卷积码译码方法
JP3279579B2 (ja) 畳込み符号化データの幅優先復号におけるメトリック移動
CN101047472A (zh) 使用搜索深度维特比算法对咬尾卷积码的解码方法
KR19990022971A (ko) 병렬 연결된 테일-바이팅 중첩 코드 및 이 코드용 디코더
CN1233139C (zh) 带宽有效的级联格码调制解码器及其解码方法
JP2002509680A (ja) 積符号の反復復号化
CN101425871A (zh) 多元纠错码发射接收装置及数据传输系统以及相关方法
JP5438150B2 (ja) 通信システムでの復号化のための装置及び方法
CN101425869B (zh) 一种译码方法及装置
US9793944B2 (en) System and apparatus for decoding tree-based messages
CN1147169C (zh) 用于Turbo码的解码方法和解码器
CN1183687C (zh) Turbo码编码器及编码方法
CN1172448C (zh) 解码数据信号的方法
CN1357181A (zh) 快速最大后验概率译码的方法和系统
CN1129257C (zh) 串行回溯的最大似然解码方法及其使用该方法的解码器
Bocharova et al. BEAST decoding of block codes obtained via convolutional codes
CN102655589B (zh) 基于变长码与算术码的联合信源信道解码方法
US20230176232A1 (en) Decoder for a receiver
Dai et al. Performance and implementation of enhanced multi CRC-LSC polar codes
Zhang et al. Improved spinal codes: a segmented CRC-aided scheme

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050713

Termination date: 20161113

CF01 Termination of patent right due to non-payment of annual fee