CN1132320C - 截尾格子码的软输出译码器 - Google Patents
截尾格子码的软输出译码器 Download PDFInfo
- Publication number
- CN1132320C CN1132320C CN97190400A CN97190400A CN1132320C CN 1132320 C CN1132320 C CN 1132320C CN 97190400 A CN97190400 A CN 97190400A CN 97190400 A CN97190400 A CN 97190400A CN 1132320 C CN1132320 C CN 1132320C
- Authority
- CN
- China
- Prior art keywords
- probability
- state
- encoder
- component
- vector
- 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
Links
- 239000013598 vector Substances 0.000 claims description 73
- 238000000034 method Methods 0.000 claims description 45
- 239000011159 matrix material Substances 0.000 claims description 37
- 229940050561 matrix product Drugs 0.000 claims description 29
- 238000010606 normalization Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000033228 biological regulation Effects 0.000 claims description 6
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 19
- 241000274965 Cyrestis thyodamas Species 0.000 description 7
- 238000012937 correction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 229910002056 binary alloy Inorganic materials 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3723—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
- H03M13/3933—Decoding in probability domain
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
- H03M13/3938—Tail-biting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6583—Normalization other than scaling, e.g. by subtraction
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
采用了截尾的纠错格子码的循环MAP译码器产生软判决输出。该循环MAP译码器提供格构第一级的状态的概率的估算,这些概率代替普通MAP译码器开始状态的先验知识。该循环MAP译码器以两种方式的任何一种提供初始状态概率分布。第一种方式涉及到本征值问题的解,对于该本征值问题,得到的本征矢量就是所需的初始状态概率分布;利用该开始状态的知识,循环MAP译码器按照MAP译码算法执行剩余的译码。第二种方式以递归为基础,对于该递归,迭代收敛于开始状态分布。在足够多次迭代后,就以大的概率得知圆形状态序列上的一状态,循环MAP译码器按照MAP译码算法执行剩余的译码。
Description
本发明总的来说涉及纠错码译码器,尤其涉及截尾格子码译码器。
维特比算法(VA)是一种最大似然译码方法,它确定加性白高斯信道噪声情况下的最可能数据序列或字;即它使译码字误差的概率最小。这一方法实际上是确定贯穿代码格构的最接近信道输出的接收序列的路径的一种动态程序。
相反地,利用所谓最大后验(MAP)译码器来使符号或位差错概率最小。MAP译码器由Bahl、Cocke、Jelinek和Raviv(因此另一个名称是“BCJR算法”)在发表于IEEE Transactions on Information Theory(1974年3月,284-287页)上的论文“使符号差错率最小的线性码的最佳译码”中首次正式提出。在此用术语MAP译码器或BCJR算法来指给出格构每一级的状态的概率分布并且还可考虑数据位统计资料的先验知识的数据译码器。MAP译码器在这样的意义上是最佳的,即它非常准确地产生这些状态概率、即“软输出”,虽然已有较简单的其它译码器,但这些译码器只能够产生这些概率的近似值。算法的变量给出相关信息,例如各级数据符号的概率分布,或者各级的编码器输出符号的分布。
MAP译码器要求格子码传输的开始状态是已知的,在某些应用中还要求结束状态也是已知的。因此,MAP译码器就遗憾地不能被用来译码采用了截尾的格子码,即不能够预先知道编码器的开始和结束状态的码。特别是,当编码器的开始状态与一组给定的输入位的最后的结束状态相同时,就说格子码传输采用了“截尾”。前馈编码器根据这些数据位得知结束状态将是怎样的是简单明了的;它只是消息决的最后km个位,这里K是位数/编码器输入符号,而m是代码的记忆。截尾编码器与普通编码器的区别在于开始状态是一预定状态,通常是全零状态。普通编码器也可以通过给输入消息块添加km个位的“尾”来以预定状态结束。截尾编码器的不同之处是除了它的其它功能外,它还必需估算编码器的开始状态。由于截尾编码器具有柱状格构,所以可以把这种编码器产生的码字看作是一个符号圆。译码器必需从圆的某一任意点开始,实现同步,然后译码数据位。
已提出了一些截尾译码器,这些截尾译码器类似于VA译码器,即它们产生圆形格子码字的最大似然估算。相反地,软输出译码器将不得不估算柱状格构附近的状态概率,目前还没有这种译码器。特别是如上所述,软输出MAP译码器要求格构中的开始状态是已知的,在某些应用中还要求结束状态也是已知的。因此,MAP译码器的应用限于无截尾的普通代码,这又在需要真正的软输出时限制了截尾在改善发送短数据块(例如在分组传输中)的系统的纠错性能方面的优点的获得。
因此,有必要提供用于截尾格子码的准确的不太复杂的软输出译码器。
根据本发明,采用了截尾的纠错格子码的循环MAP译码器产生软判决输出。该循环MAP译码器提供格构第一级的状态的概率的估算,这些概率代替普通MAP译码器开始状态的先验知识。根据本发明,循环MAP译码器以两种方式的任一种提供初始状态概率分布。第一种方式涉及到本征值问题的解,对于该本征值问题,得到的本征矢量就是所需的初始状态概率分布;利用该开始状态的知识,循环MAP译码器按照MAP译码算法执行剩余的译码。第二种方式以递归为基础,对于该递归,迭代收敛于开始状态分布。在足够多次迭代后,就以大的概率得知圆形状态序列上的一状态,循环MAP译码器按照MAP译码算法执行剩余的译码。
阅读以下参看附图对本发明的详细描述将明了本发明的特点和优点。
图1表示具有二进制输入符号的4状态截尾格子码的柱状格构;
图2表示截尾格子码的循环编码器状态和编码器输出序列;
图3是表示本发明的循环MAP译码器一实施例的简化方框图;
图4表示本发明的循环MAP译码器的时间线;
图5表示本发明的循环MAP译码器-最佳实施例的时间线;
图6用图表表示根据本发明当译码比率=1/2、记忆=6的截尾卷积码时的位差错率-信噪比。
图7用图表表示根据本发明当译码比率=1/2、记忆=6的截尾卷积码时的具有循环MAP译码器的偏置源统计资料的位差错率-信噪比。
图8是表示本发明的循环MAP译码器-最佳实施例的简化方框图。
截尾编码器具有柱状格构,因此,可把这种编码器产生的码字看作是一个符号圆。图1表示具有4种状态和二进制输入符号的截尾格子码编码器的一示范性柱状格构。在这种截尾格子码的情况下,缺乏有关编码器的初始状态的先验知识降低了利用用于接收消息的第一部分的标准MAP(或BCJR)译码算法进行译码的可信度。
截尾格子码的编码器输出序列形成了图2所示的圆形图形。编码器状态被看作沿圆圈排列。如果So是这些状态之一,编码器在编码过程中就在该时刻to从移位寄存器状态So开始,在一系列状态转换过程中绕该圆圈一周之后,终止于同一状态So。如此把编码序列作为一个圆而沿着该圆从编码器一个状态到达下一个状态地操作的译码器就是截尾或循环译码器。
根据本发明,采用了截尾的纠错格子码的循环MAP译码器产生软判决输出。与此相反,在普通MAP译码器中,为该译码器确定了开始状态,即格构节点,然后它译码从这一状态转变而来的编码器格构路径。但是,对于截尾译码器,它必需首先区分编码器状态序列中的一个状态,然后它才能开始译码。本发明的循环MAP译码器提供格构第一级的状态的概率的估算,这些概率代替普通MAP译码器的开始状态的先验知识。本发明的循环MAP译码器以两种方式的任一种提供初始状态概率分布。第一种方式涉及到本征值问题的解,对于该本征值问题,得到的本征矢量就是所需的初始状态概率分布;利用该开始状态的知识,循环MAP译码器按照普通MAP(即BCJR)译码算法执行剩余的译码。第二种方式以递归为基础,对于该递归,迭代收敛于开始状态分布。在足够多次迭代后,就以大的概率得知圆形状态序列上的一状态,循环MAP译码器按照普通MAP(即BCJR)译码算法执行剩余的译码。
普通MAP(即BCJR)译码算法的目的是确定条件概率:
P{时刻t的状态m/接收信道输出y1,…,yL}
公式中的项L表示以编码器符号的数目为单位的一组数据的长度((n,k)码的编码器对k个位的输入符号进行操作,产生n个位的输出符号。)项yt是时刻t的信道输出(符号)。
MAP译码算法实际上首先确定概率:
即时刻t的编码器状态St是m和接收了信道输出集合
的联合概率。这些就是被乘以常数(P{Y1 L},接收信道输出集合{y1,…yL}的概率)的所需概率。
现在用下式定义矩阵Γt的元素:
Γt(i,j)=P{时刻t的状态j;yt/时刻t-1的状态i}
把矩阵Γt作为信道转换概率R(Yt,X)、编码器在时刻t从状态m′转换到状态m的概率Pt(m/m′)和在先前编码器状态i是m′和当前编码器状态是m的情况下编码器的输出符号是X的概率qt(X/m′,m)的函数来进行计算。特别是对全部可能的编码器输出X进行以下求和来计算Γt的每一元素:
MAP译码器计算这些矩阵的L,每一格构级一个矩阵。它们由接收的信道输出符号和给定代码的格构分支的性能来组成。
行矢量αt的M个联合概率元素定义如下:
αt(j)=P{时刻t的状态j,y1,…,yt} (3)
列矢量βt的M个条件概率元素定义如下:
βt(j)=P{yt+1,…,yL/时刻t的状态j} (4)
f=0,1,…,(M-1),M是编码器状态的数目。(注意在此用黑体字来表示矩阵和矢量。)
MAP译码器(即BCJR)算法的步骤如下:
(i)利用正向递归计算α1,…,αL:
αt=αt-1Γt,t=1,…,L (5)
(ii)利用反向递归计算β1,…,βL-1:
βt=Γt+1βt+1,t=L-1,…,1 (6)
(iii)用下式计算λt的分量:
λt(i)=αt(i)βt(i),对于全部i,t=1,…,L (7)
(iv)根据需要确定相关量。例如该At j为状态St的集合 使得St的第j个元素St j等于零。对于普通非递归格子码, 为时刻t的第j个数据位。
因此,译码器的软判决输出是
其中
m是相应于状态St的指数。
把
应用到以下判决规则来获得译码器的硬判决或译码位输出:
就是说,如果
则
如果
则 否则,随机地指定dt j的值为0或1。
作为上述步骤(iv)的相关量的另一个例子,概率σt的矩阵包括如下定义的元素:
这些概率在需要确定编码器输出位的后验概率时有用。
在MAP译码算法的标准应用中,利用矢量α0=(1,0,0,…,0)来初始化正向递归,利用矢量βL=(1,0,…,0)T来初始化反向递归。这些初始条件是基于这样的假定的,即编码器的初始状态S0=0,其结束状态SL=0。
根据本发明的一个实施例,循环MAP译码器通过如下地求解本征值问题来确定初始状态概率分布。设αt、βt、Γt和λt同前,但初始α0和βL如下:
把βL定为列矢量(111…1)T。
设α0为未知(矢量)变量。
然后,
(1)根据公式(2)计算Γt,t=1,2,…L。
(ii)确定矩阵积Γ1Γ2…ΓL的最大本征值。归一化相应的本征值,以便其分量和为单位值。这一矢量就是α0的解。本征值是P{Y1 L}。
(iii)利用公式(5)规定的正向递归求出后续αt。
(iv)从βL开始,如上所述初始化,利用公式(6)规定的反向递归求出βt。
(v)按公式(7)计算λt,以及上述的其它所需变量,例如软判决输出
或概率σt的矩阵。
发明人已证明未知变量α0满足矩阵方程。
根据该公式表示了概率间的关系这一事实,我们得知右侧Γt矩阵的积具有等于P{Y1 L}的最大本征值,相应的本征矢量必定是概率矢量。
利用初始βL=(111…1)T,由公式(6)可求出βL-1。因此,重复执行这一反向递归将求出全部βL。一旦α0已知和确定了βL,在本发明的循环MAP译码器中的全部计算就按照普通MAP译码算法。
图3是表示按照上述本征矢量方法译码纠错截尾格子码的循环MAP译码器10的简化方框图。译码器10包括一Γt计算器12,把Γt作为信道输出yt的函数进行计算。该Γt计算器接收存储器30的以下内容作为输入:信道转换概率R(Yt,X),编码器在时刻t从状态m′转换到状态m的概率Pt(m/m′),以及在假定先前编码器状态是m′而当前编码器状态是m的情况下编码器的输出符号是X的概率qt(X/m′,m)。该Γt计算器根据公式(2)求和全部可能的编码器输出X来计算Γt的每一元素。
Γt的计算值被提供给矩阵积计算器14,以便利用例如接收自存储器、开关18和延迟电路20的单位矩阵16来产生矩阵积Γ1Γ2…ΓL。在时刻t=1,该单位矩阵被作为一个输入提供给该矩阵积计算器。对于从t=2至t=L的每一后续时刻,矩阵积
通过延迟电路反馈给该矩阵积计算器。然后,在时刻t=L,得到的矩阵积通过开关21提供给归一化本征矢量计算机22,该归一化本征矢量计算机22计算相应于给其输入的矩阵积的最大本征值的归一化本征矢量。在α0如此被初始化的条件下,即在这一归一化本征矢量的条件下,如图所示,利用延迟电路26和开关电路28在矩阵积计算器24中按照公式(5)递归地确定后续αt矢量。从存储器30检索Γt的恰当值,然后得到的αt存储在存储器30内。
利用开关电路34和延迟电路36在矩阵积计算器32中按照公式(6)确定βt的值。然后在逐个分量积计算器40中按照公式(7)根据αt和βt的值计算概率λt。λt的值被提供给译码位值概率计算器50,该译码位值概率计算器50确定时刻t的第j个译码位dt j等于零的概率。该概率被提供给执行以下判定规则的阈值判定装置52:如果计算器50的概率大于1/2,则认为译码位是零;如果该概率小于1/2,则认为译码位是1;如果等于1/2,则译码位被随机地指定值0或1。阈值判定装置的输出是时刻t的译码器输出。
译码位等于零的概率
如图3所示还被提供给软输出函数方框54,以便作为译码器的软判决输出提供概率函数、即
这种概率函数例如可以是 的另一有用的函数是
或者,方框54的有用函数可仅仅是单位函数,以便软输出就是
本发明一替代实施例的循环MAP译码器利用递推方法确定状态概率分布。特别是,在一实施例(动态收敛方法)中,在检测到译码器收敛之前继续进行递推。在这种递推(即动态收敛)方法中,上述本征矢量方法的步骤(ii)和(iii)被以下步骤代替:
(ii.a)从等于(1/M,…,1/M)的初始α0开始,其中M是格构中的状态数目,计算L次正向递推。归一化结果,以便每一新αt的分量的和等于单位值。保留全部L个αt矢量。
(ii.b)设α0等于先前步骤的αL,并从t=1开始,再计算前LWmin个αt概率矢量。
就是说,计算
而t=1,LWmin,其中LWmin是合适的最少格构级数。同前地进行归一化。只保留在步骤(ii.a)和(ii.b)中利用递推确定的最新L个α的集合和在步骤(ii.a)中先前确定的αLWmin。(ii.c)将步骤(ii.b)的αLWmin与步骤(ii.a)的先前确定的集合作比较。如果新和老的αLWmin的M个相应分量都在容限范围内,就到达上述步骤(iv)。否则,到达步骤(ii.d)。
(ii.d)设t=t+1并计算αt=αt-1Γt。同前地进行归一化。只保留所计算的最新L个α的集合和先前在步骤(ii.a)中确定的αt。
(ii.e)将新的αt与先前确定的集合作比较。如果M个新和老的αt在容限范围内,就到达步骤(iv)。否则,如果两个最新矢量在容限范围内不一致,并且如果递推次数没有超过规定的最大值(一般是2L),就到达步骤(ii.d);如果不是这样,就到达步骤(iv)。
图4的圆形“时间线”总结了循环MAP译码器计算αt(t=1,2,…,L)的以上步骤(ii.a)-(ii.e)的过程,得到全部L个αt矢量的估算值。该方法然后继续到以上对于本征矢量方法给出的步骤(iv)和(v),产生循环MAP译码器的软判决输出和译码输出位。
在循环MAP译码器中,注意由于初始编码器状态是未知的,所以把α0初始为α0=(1/M,…,1/M)。还假定了全部M个初始状态是等同的。(如果这不是真的,可以按照有关初始状态的概率的任何先验知识来分配初始值α0(m)。因此,此处描述的译码器还可有利地应用于部分截尾格子码。)
通过考察一下αt(m)的定义便可容易理解本发明的循环MAP译码器操作的说明。项αt(m)是编码器的时刻t处于状态m和译码器已观察到来自信道的符号序列{y1,…,yt}的联合概率。注意公式(5),αt的递归计算揭示了不知道截尾格子码编码器初始状态的效果。由公式(5)可见,不知道截尾格子码编码器初始状态将在这样的意义上使α1(m)有偏差,即所计算的编码器在时刻t=1处于状态m和译码器已观察到信道输出y1的联合概率将大于错误初始状态的后续状态这种情况下的实际联合概率,小于正确初始状态的后续状态这种情况下的实际联合概率。虽然这一偏差会因αt(m)的递归计算而传播开去,但幸运的是它将随着更多信道输出符号的出现而减小。因此,如果一组信息的长度L足够长,则由于译码器现在已得益于观察到来自信道的整个符号序列,所以αL(m)将比α0(m)准确得多。如上述步骤(ii.b)所指出的,现在可以把αL(m)用作第二次译码迭代中的α0(m)。
本发明的递推(即动态收敛)方法的有利之处是比较每次迭代获得的值,并在检测到收敛时终止αt的递推计算。因此,这一技术减少了所需的计算次数,这是因为通常不必对于全部L个格构级都重新计算αt的缘故。
在本发明的另一替代实施例中,修改采用上述递推方法的循环MAP译码器,使得译码器第二次只需处理预定的固定数目的格构级,即只需处理预定的回绕深度。因为译码所需的计算次数对于每一组编码信息都是相同的,所以对于实施是有利的。这样一来就减轻了硬件和软件的复杂性。
此处所说的回绕深度是在限定距离译码器的范围内确定的,限定距离译码器是一种校正在观察长度Lobs个格构级中出现的e个或几个差错的任何组合的译码器。这直接延伸至实现其它判据的译码器,例如译码器差错概率的最小化。
估算截尾卷积码MAP译码器的所需回绕深度的一种方法是利用硬件或软件实验来对其进行确定,要求设计出具有可变回绕深度的循环MAP译码器,作实验来对于逐渐增大的回绕深度测量相对于Eb/No的译码位差错率。在回绕深度的进一步增大不减小差错概率时,就确定了给出译码位差错的最小概率的最小译码器回绕深度。
如果大于在规定的Eb/Eo情况下可实现的最小值的译码位差错率是可容许的,就可以减少循环MAP译码器处理的格构级的所需数目。特别是,一旦获得所希望的位差错的所需平均概率,就可简单地终止上述回绕深度搜索。
确定已知代码的回绕深度的另一种方法是利用该代码的距离特性。为此目的,需要定义两种不同的译码器判决深度。在此所使用的术语“正确路径”是指贯穿因编码一组数据位而得到的格构的状态序列或路径。术语“错误的节点子集”是指正确路径节点外的全部错误的(格构)分支及它们的子分支的集合。以下定义的两种判决深度都依赖于卷积编码器。(为说明起见,此处相对于卷积编码器描述本发明的这一实施例,但是,应懂得本发明不受卷积码的限制。)。
判决深度定义如下:
(i)把纠e个错的正向判决深度LF(e)定义为一格构中的第一深度,在这一深度下,正确路径初始节点的错误子集中的全部路径—不管以后是否汇合至正确路径-离开正确路径的汉明距离都大于2e。LF(e)的意义是:如果初始节点的差错是e个或小于e个并已知在该初始节点处开始编码,则译码器必然正确地译码。J.B.Anderson和K.Balachan dran在他们发表在IEEE Transactions on InformationTheory(1989年3月IT-35卷455-459页)上的论文“卷积码的判决深度”中提供了卷积码的正向判决深度的正式造表。在这一论文中以及还由J.B.Anderson和S.Mohan在《信源和信道编码—一种算法近似》(Kluwer Academic出版社,Norwell,麻萨诸塞州,1991年)中公开了LF(e)的一些特性。这些特性中主要的一种是在LF和e之间存在简单的线性关系;例如,对于比率1/2码,LF约是9.08e。
(ii)接着把纠e个错的不汇合判决深度LU(e)定义为一格构中的第一深度,在这一深度下,该格构中的从未与正确路径接触的全部路径离开正确路径的汉明距离大于2e。
软判决循环MAP译码的LU(e)的意义是:在译码器处理了LU(e)个格构级之后,区分在实际发送路径上的一状态的概率将较大。因此,循环MAP译码的最小回绕深度是LU(e)。深度LU(e)的计算表明其总是大于LF(e),但遵循相同的近似规律。这意味着如果代码的不汇合判决深度不是已知的,就可把最小回绕深度估算为正向判决深度LF(e)。
通过确定一给定编码器的最小不汇合判决深度,我们就确定了必需被产生软判决输出的实际循环译码器处理的最少格构级数。以上引用的J.B.Anderson和K.Balachandran的论文“卷积码的判决深度”描述了确定正向判决深度LF(e)的算法。为了确定LU(e):
(i)从左至右延伸代码格构,同时从全部格构节点开始,零状态除外。
(ii)在每一级中,删除汇合至正确(全零)路径的任何路径;不延伸从正确(零)状态节点出发的路径。
(iii)在K级中,确定在这一级中终止于各节点的各路径的最小汉明距离,即权重。
(iv)如果该最小距离大于2e,就停止。然后,LU(e)=k。
利用计算机仿真的实验给出了两个出乎意料的结果:(1)βt的回绕处理改善译码器性能;(2)LU(e)+LF(e)=2LF(e)的回绕深度的应用显著改善性能。这两个出乎意料的结果促进了基于递推的截尾格子码循环MAP译码器的改进。因此,基于递推的循环MAP译码器算法的一最佳实施例包括以下步骤:
(i)按照公式(2)计算Γt,t=1,2,…L。
(ii)以初始α0等于(1/M,…,1/M)开始,其中M是格构中的状态的数目,计算公式(5)的正向递推(L+LW)次,U=1,2,…(L+LW),其中LW是译码器的回绕深度。格构级指数t取值((u-1)模L)+1。一旦译码器回绕了来自信道的接收的符号序列,把αL看作是α0。归一化结果,以使每一新αt的分量之和等于单位值。保留通过递推确定的L个最新的α矢量。
(iii)以初始βL等于(1,…,1)T开始,计算公式(6)的反向递推(L+LW)次,U=1,2,…(L+LW)。格构级指数t取值L-(U模L)。一旦译码器回绕了接收序列,就在计算新的βL时把β1作为βL+1和把Γ1作为ΓL+1。归一化结果,以使每一新βt的元素之和等于单位值。再次保留通过这一递推确定的L个最新的β矢量。
本最佳递推方法的下一个步骤与以上对于本征矢量方法给出的步骤(V)相同,利用循环MAP译码器产生软判决和译码位输出。
图5的圆形“时间线”总结了这一最佳递推方法的循环译码器计算αt和βt(U=1,2,…(L+LW))的过程。
利用计算机仿真对于对映二进制传信(例如二进制移相键控)的软判决、加性白高斯噪声(AWGN)信道测试了循环MAP译码器的这一最佳实施例的性能。利用熟知的比率=1/2、记忆=6的卷积码进行仿真。(在具有最大自由距离意义上是最好的。)此处给出的全部仿真结果是由具有等于代码的正向判决深度两倍(40个格构级)的回绕深度的译码器产生的。在仿真中还使用了包括48个位的一组短信息。
图6是所得到的译码位差错的平均概率相对于Eb/No的曲线图。源位等于0或1的概率是相等的。但是,一旦利用预先为译码器所知的偏差源统计资料来重复这一仿真,在已知Eb/No处的位差错的循环MAP译码器的平均概率就显著减小。图7比较了以下3种情况的位差错率-Eb/No曲线:等概率源位;P{源位是1}=0.67;以及P{源位是1}=0.91。在第二种情况下,P{源位是1}≈2P{源位是0},而在第三种情况下,P{源位是1}≈10P{源位是0}。
图8是表示本发明的这一最佳实施例的循环MAP译码器80的简化方框图。该译码器80包括把Γt作为信道输出yt的函数进行计算的一Γt计算器82。信道输出y1,…,yL通过开关84提供给该Γt计算器。在该开关处于向下位置时,L个信道输出符号每次一个地被装入Γt计算器82和移位寄存器86。然后开关84被移至向上位置,以便使该移位寄存器能够把前LW个接收符号再移入该Γt计算器,即提供循环处理。该Γt计算机从存储器96接收信道转换概率R(Yt,X)、编码器在时刻t从状态m′转换到状态m的概率Pt(m/m′)以及在假定先前编码器状态是m′而当前编码器状态是m的情况下编码器的输出符号是X的概率qt(X/m′,m)作为输入。该Γt计算机根据公式(2)求和全部可能的编码器输出X来计算Γt的每一元素。
Γt的计算值被提供给矩阵积计算器90,该矩阵积计算器90用经延迟电路92和多路分解器电路94循环地提供的αt-1矩阵乘Γt矩阵。在t=1时,控制信号CNTRL1使多路分解器94从存储器96选择α0作为矩阵积计算器90的一个输入。当2≤t≤L时,控制信号CNTRL1使多路分解器94从延迟电路92选择αt-1作为矩阵积计算器90的一个输入。在需要时把Γt和αt的值存储在存储器96内。
利用延迟电路102和多路分解器电路104在矩阵积计算器100中递归地计算βt矢量。在t=L-1时,控制信号CNTRL2使多路分解器104从存储器96中选择βL作为矩阵积计算器100的一个输入。当L-2≥t≥1时,控制信号CNTRL2使多路分解器104从延迟电路102中选择βt+1作为矩阵积计算器100的一个输入。如上所述,得到的βt的值在逐个象素积计算器106内被乘以αt的值,以便提供概率λt。按照与以上参看图3描述的方式相同的方式,λt的值被提供给译码位值概率计算器50,该译码位值概率计算器50的输出被提供给阈值判定装置52,得到译码器的译码输出位。
或者,方框54的有用函数可仅仅是单位函数,以便软输出就是
几种实用、强有力的编码方法决定性地依赖于MAP译码器的软输出信息,例如顺序链接编码方法。在一种这样的外译码器利用误差和擦除译码的方法中,MAP内译码器的软判决输出可被三元判决装置作为译码可信度的指示符进行处理,该三元判决装置可以给译码位分配值0或1,或者声明擦除。此外,软译码器输出可经常被以下处理器、例如语音或图象译码器有利地使用。例如,语音编码器的语音合成器为了利用差错遮盖方法来改善在噪声较大的信道内工作的设备的语音质量,可以利用软判决输出来区分在接收语音帧中的可能的传输差错。
在本发明之前,不能够对截尾码进行MAP译码。截尾的重要性在于它从短码字中提取最大的纠错性能,对于截尾,获得大的编码增益是困难的。短码字必然地出现在分组数据系统和进行低速率语音编码的语音传输系统中。
此外,本发明还可应用于具有衰落或低信噪比的信道,衰落和低信噪比都是甚小孔径终端(VSAT)卫星通信和移动无线电通信中的普通特性。
虽然在此已描述了本发明的一些最佳实施例,但显然这些实施例只是说明性的。本领域的普通技术人员不超出本发明可以作出许多改变或替代。因此,本发明只受所附权利要求的精神和范围的限制。
Claims (25)
1.编码器产生的截尾格子码的译码器,该译码器通过确定该编码器在时刻t的状态St是m和接收到一系列L个具有值
的信道输出的联合概率
来进行译码,所述格子码具有M个编码器状态,所述译码器确定L个概率矩阵Γt,L个格构级的每一个格构级一个概率矩阵,所述这些概率矩阵的元素由下式定义:
Γt(i,j)=P{时刻t的状态j;yt/时刻t-1的状态i}
所述联合概率λt(m)是通过确定具有由
αt(j)=P{时刻t的状态j;y1,…,yt}
定义的M个联合概率分量的行矢量αt和通过确定具有由
βt(j)=P{yt+1,…,yL/时刻t的状态j}
定义的M个条件概率分量的列矢量βt来确定的,j=0,1,…,(M-1),所述译码器包括:
Γt计算器,接收所述信道输出、信道转换概率R(Yt,X)、编码器在时刻t从状态m′转换到状态m的概率Pt(m/m′)以及在先前编码器状态是m′而当前编码器状态是m的情况下编码器的输出符号是X的概率qt(X/m′,m),根据它们确定所述概率矩阵Γt的标量元素;
Γt矩阵积计算器,从所述Γt计算器接收所述标量元素,根据它们计算矩阵积,Γ1Γ2…ΓL;
归一化本征矢量计算机,接收所述矩阵积Γ1Γ2…ΓL,计算相应于所述矩阵积的最大本征值P{Y1 L}的归一化本征矢量α0;
αt矩阵积计算器,接收所述归一化本征矢量α0,如下地利用正向递归产生后续αt:
αt=αt-1Γt,t=1,…,L
存储器,存储所述概率矩阵Γt和所述行矢量αt;
βt矩阵积计算机,通过初始化βL=(1,1,1,…1,)T和如下地利用反向递归产生前面的βt来提供所述列矢量:
βt=Γt+1βt+1,t=L-1,…,1;
逐个分量积计算器,通过如下地把所述行矢量的分量乘以所述列矢量的分量来产生联合概率矢量λt,该联合概率矢量λt的分量就是所述联合概率λt(i,j):
λt(i)=αt(i)βt(i),对于全部i,t=1,…,L;
译码位值概率计算器,根据λt确定在时刻t输入给编码器的已知数据位等于零的概率,该数据位是k个数据位的第m个,并提供作为所述概率的函数的软输出。
2.权利要求1的译码器,还包括阈值判定装置,它接收在时刻t输入给编码器的数据位等于零的概率,执行判定规则来提供该数据位的译码输出位。
3.权利要求1的译码器,其中所述截尾格子码包括卷积码。
4.权利要求1的译码器包括限定距离译码器。
5.编码器产生的截尾格子码的译码器,该译码器通过确定该编码器在时刻t的状态St是m和接收到一系列L个具有值
的信道输出的联合概率λt(m)
来进行译码,所述格子码具有M个编码器状态,所述译码器确定L个条件概率矩阵Γt,L个格构级的每一个格构级一个条件概率矩阵,所述这些概率矩阵的元素由下式定义:
Γt(i,j)=P{时刻t的状态j;yt/时刻t-1的状态i}
所述联合概率λt(m)是通过确定具有由
αt(j)=P{时刻t的状态j;y1,…,yt}
定义的M个联合概率分量的行矢量αt和通过确定具有由
βt(j)=P{yt+1,…,yL/时刻t的状态j}
定义的M个条件概率分量的列矢量βt来确定的,j=0,1,…,(M-1),所述译码器包括:
Γt计算器,接收所述信道输出、信道转换概率R(Yt,X)、编码器在时刻t从状态m′转换到状态m的概率Pt(m/m′)以及在先前编码器状态是m′而当前编码器状态是m的情况下编码器的输出符号是X的概率qt(X/m′,m),根据它们确定所述概率矩阵Γt的标量元素;
αt矩阵积计算器,从所述Γt计算器接收Γt的所述标量元素,提供所述行矢量αt;
βt矩阵积计算器,提供所述列矢量βt;
逐个分量积计算器,产生联合概率矢量λt,该联合概率矢量λt的分量就是所述联合概率λt(i,j);
所述αt矩阵积计算器、所述βt矩阵积计算器和所述逐个分量积计算器如下地分别产生所述矢量αt、βt和λt:
(i.a)以初始α0等于(1/M,…,1/M)开始,计算L次正向递归:
αt=αt-1Γt,t=1,…,L
归一化结果,以使每一αt的分量之和等于单位值,保留全部L个αt矢量;
(i.b)设α0等于步骤(i.a)的αL,以t=1开始,计算
αt=αt-1Γt,t=1,…LWmin;
其中LWmin是格构级预定的最小数目;归一化结果,以使每一αt的分量之和等于单位值,只保留在步骤(i.a)和(i.b)中利用递归确定的L个αt的最新集合和在步骤(i.a)中确定的αLWmin;
(i.c)比较步骤(i.b)的αLWmin和在步骤(i.a)中确定的αLWmin,如果在容限范围内,就到达步骤(ii);否则到达步骤(i.d);
(i.d)设t=t+1计算αt=αtΓt,
归一化递归结果以使每一αt的分量之和等于单位值,只保留计算的L个αt的最新集合和先前在步骤(i.a)中确定的αt;
(i.e)将αt与先前在步骤(i.a)、(i.b)和(i.d)中计算的最新的αt作比较,如果在容限范围内就到达步骤(ii),如果两个最新矢量在所述容限范围内不一致,并且如果递推次数没有超过规定的最大值,就到达步骤(i.d);否则,到达步骤(ii);
(ii)初始化βL=(1,1,1,…,1)T并如下地利用反向递归来产生前面的βt:
βt=Γt+1βt+1,t=L-1,…,1;
归一化递归结果以使每一βt的分量之和等于单位值,保留全部L个βt矢量;
(iii)通过如下地把所述行矢量的分量乘以所述列矢量的分量来产生联合概率矢量λt,其分量就是所述联合概率λt:
λt(i)=αt(i)βt(i),对于全部i,t=1,…,L;
存储器,存储所述概率矩阵和所述行矢量;
译码位值概率计算器,根据λt确定在时刻t输入给编码器的已知数据位等于零的概率,该数据位是k个数据位的第m个,并提供作为所述概率的函数的软输出。
6.权利要求5的译码器,还包括阈值判定装置,它接收在时刻t输入给编码器的数据位等于零的概率,执行判定规则来提供该数据位的译码输出位。
7.权利要求5的译码器,其中所述截尾格子码包括卷积码。
8.权利要求5的译码器包括限定距离译码器。
9.权利要求5的译码器,其中的编码器编码一组数据位,所述数据位被分成k个位的符号进行编码,预定最大的递归次数是一组数据位中的k个位的输入符号的数目的2倍。
10.编码器产生的截尾格子码的译码器,该译码器通过确定该编码器在时刻t的状态St是m和接收到一系列L个具有值
的信道输出的联合概率λt(m)
来进行译码,所述格子码具有M个编码器状态,所述译码器确定L个条件概率矩阵Γt,L个格构级的每一个格构级一个条件概率矩阵,所述这些概率矩阵的元素由下式定义:
Γt(i,j)=P{时刻t的状态j;yt/时刻t-1的状态i}所述联合概率λt(m)是通过确定具有由αt(j)=P{时刻t的状态j;y1,…,yt}定义的M个联合概率分量的行矢量αt和通过确定具有由
βt(j)=P{yt+1,…,yL/时刻t的状态j}
定义的M个条件概率分量的列矢量βt来确定的,j=0,1,…(M-1),所述译码器包括:
Γt计算器,接收所述信道输出,信道转换概率R(yt,X)、编码器在时刻t从状态m′转换到状态m的概率Pt(m/m′)以及在先前编码器状态是m′而当前编码器状态是m的情况下编码器的输出符号是X的概率qt(X/m′,m),根据它们确定所述概率矩阵Γt的标量元素;
αt矩阵积计算器,从所述Γt计算器接收Γt的所述标量元素,提供所述行矢量αt;
βt矩阵积计算器,提供所述列矢量βt;
逐个分量积计算器,产生联合概率λt;
所述αt矩阵积计算器、所述βt矩阵积计算器和所述逐个分量积计算器如下地分别产生所述矢量αt、βt和λt:
(i.a)以初始α0等于(1/M,…,1/M)开始,计算上次正向递归:
αt=αt-1Γt,t=1,…,L;
归一化结果以使每一αt的分量之和等于单位值,保留全部L个αt矢量;
(i.b)设α0等于步骤(i.a)的αL,以t=1开始,计算
αt=αt-1Γt,t=1,2,…LW;
这里的回绕深度LW是预定的格构级数;归一化结果以使每一αt的分量之和等于单位值,用在步骤(i.b)中计算的αt代替在步骤(1.a)中计算的αt,t=1,2,…,LW;
(ii.a)初始化βt=(1,1,1,…,1)T并如下地利用反向递归产生前面的βt:
βt=βt+1Γt+1,t=L-1,…,1;
归一化递归结果以使每一βt的分量之和等于单位值,保留全部L个βt矢量;
(ii.b)设βL+1等于步骤(ii.a)的β1和设Γt+1=Γ1,以t=L开始,计算
βt=Γt+1βt+1,t=L,(L-1),…,L-(LW+1)
这里的回绕深度LW是预定的格构级数;归一化递归结果,以使每一βt的分量之和等于单位值,用在步骤(ii.b)中计算的βt代替在步骤(ii.a)中计算的βt,t=L,(L-1),…,L-(LW+1);
(iii)通过如下地把所述行矢量的分量乘以所述列矢量的分量来产生联合概率矢量λt,其分量就是所述联合概率λt(i,j):
λt(i)=αt(i)βt(i),对于全部i,t=1,…,L;
存储器,存储所述概率矩阵和所述行矢量;
译码位值概率计算器,根据λt确定在时刻t输入给编码器的已知数据位等于零的概率,该数据位是k个数据位的第m个,提供作为所述概率的函数的软输出。
11.权利要求10的译码器,还包括阈值判定装置,它接收在时刻t输入给编码器的数据位等于零的概率,利用判定规则来提供该数据位的译码输出位。
12.权利要求10的译码器,其中所述截尾格子码包括卷积码。
13.权利要求10的译码器,包括限定距离译码器。
14.权利要求10的译码器,其中的编码器编码一组数据位,所述数据位被分成k个位的符号进行编码,预定最大的递归次数是一组数据位中的k个位的输入符号的数目的2倍。
15.通过确定编码器在时刻t的状态St是m和接收到一系列L个具有值
的信道输出的联合概率λt(m)
译码编码器产生的截尾格子码的方法,所述格子码具有M个编码器状态,所述方法包括确定L个概率矩阵Γt的步骤,L个格构级的每一个格构级一个概率矩阵,所述这些概率矩阵的元素由下式定义:
Γt(i,j)=P{时刻t的状态j;yt/时刻t-1的状态i}所述方法还包括确定具有由αt(j)=P{时刻t的状态j;y1,…,yt}定义的M个联合概率分量的行矢量αt的步骤和确定具有由
βt(j)=P{yt+1,…,yL/时刻t的状态j}
定义的M个条件概率分量的列矢量βt的步骤,j=0,1,…(M-1),所述方法的这些步骤包括:
根据所述信道输出、信道转换概率R(Yt,X)、编码器在时刻t从状态m′转换到状态m的概率Pt(m/m′)以及在先前编码器状态是m′而当前编码器状态是m的情况下编码器的输出符号是X的概率qt(X/m′,m)确定所述概率矩阵Γt的标量元素;
根据Γt的所述标量元素计算矩阵积Γ1Γ2…ΓL;
计算相应于所述矩阵积Γ1Γ2…ΓL是最大本征值P{Y1 L}的归一化本征矢量α0;
如下地利用正向递归产生后续αt:
αt=αt-1Γt,t=1,…,L
通过初始化βL=(1,1,1,…1,)T和如下地利用反向递归产生前面的βt来提供所述列矢量:
βt=Γt+1βt+1,t=L-1,…,1;
通过如下地把所述行矢量的分量乘以所述列矢量的分量来产生联合概率矢量λt,其分量就是所述联合概率λt(i,j):
λt(i)=αt(i)βt(i),对于全部i,t=1,…,L;
根据λt确定在时刻t输入给编码器的已知数据位等于零的概率,该数据位是k个数据位的第m个,并提供作为所述概率的函数的软输出。
16.权利要求15的方法,还包括执行判定规则以便根据在时刻t输入给编码器的数据位等于零的概率提供译码输出位的步骤。
17.权利要求15的方法,其中所述截尾格子码包括卷积码。
18.通过确定编码器在时刻t的状态St是m和接收到一系列L个具有值
的信道输出的联合概率
译码编码器产生的截尾格子码的方法,所述格子码具有M个编码器状态,所述方法包括确定L个概率矩阵Γt的步骤,L个格构级的每一个格构级一个概率矩阵,所述这些概率矩阵的元素由下式定义:Γt(i,j)=P{时刻t的状态j;yt/时刻t-1的状态i}所述方法还包括确定具有由αt(j)=P{时刻t的状态j;y1,…,yt}定义的M个联合概率分量的行矢量αt的步骤和确定具有由
βt(j)=P{yt+1,…,yL/时刻t的状态j}
定义的M个条件概率分量的列矢量βt的步骤,j=0,1,…(-1),所述方法的这些步骤包括:
根据所述信道输出、信道转换概率R(Yt,X)、编码器在时刻t从状态m′转换到状态m的概率Pt(m/m′)以及在先前编码器状态是m′而当前编码器状态是m的情况下编码器的输出符号是X的概率qt(X/m′,m)确定所述概率矩阵Γt的标量元素;
如下地分别产生所述矢量αt、βt和λt:
(i.a)以初始α0等于(1/M,…,1/M)开始,计算L次正向递归:
αt=αt-1Γt,t=1,…,L;
归一化结果以使每一αt的分量之和等于单位值,保留全部L个αt矢量;
(i.b)设α0等于步骤(i.a)的αL,以t=1开始,计算
αt=αt-1Γt,t=1,2,…LWmin
其中LWmin是预定最少的格构级数;归一化结果,以使每一αt的分量之和等于单位值,只保留在步骤(i.a)和(i.b)中利用递归确定的L个αt的最新集合和在步骤(i.a)中确定的αLWmin;
(i.c)比较步骤(i.b)的αLWmin和在步骤(i.a)中确定的αLWmin,如果在容限范围内,就到达步骤(iii);否则到达步骤(i.d);
(i.d)设t=t+1,计算αt=αtΓt,
归一化迭代结果以使每一αt的分量之和等于单位值,只保留计算的L个αt的最新集合和先前在步骤(i.a)中确定的αt;
(i.e)将αt与先前在步骤(i.a)、(i.b)和(i.d)中计算的最新的αt作比较,如果在容限范围内就到达步骤(ii),如果两个最新矢量在所述容限范围内不一致,并且如果递归次数没有超过规定的最大值,就到达步骤(i.d);否则,到达步骤(ii);
(ii)初始化βL=(1,1,1,…,1)T并如下地利用反向递归来产生前面的βt:
βt=Γt+1βt+1,t=L-1,…,1;
归一化递归结果以使每一βt的分量之和等于单位值,保留全部L个βt矢量;
(iii)通过如下地把所述行矢量的分量乘以所述列矢量的分量来产生联合概率矢量λt,其分量就是所述联合概率λt(i,j):
λt(i)=αt(i)βt(i),对于全部i,t=1,…,L;
根据λt确定在时刻t输入给编码器的已知数据位等于零的概率,该数据位是k个数据位的第m个,并提供作为所述概率的函数的软输出。
19.权利要求18的方法,还包括执行判定规则以便根据在时刻t输入给编码器的数据位等于零的概率提供译码器输出位的步骤。
20.权利要求18的方法,其中所述截尾格子码包括卷积码。
21.权利要求18的方法,其中的编码器编码一组数据位,所述数据位被分成k个位的符号进行编码,预定最大的递归次数是一组数据位中的k个位的符号的数目的2倍。
22.通过确定编码器在时刻t的状态St是m和接收到一系列L个具有值
的信道输出的联合概率
译码编码器产生的格子码的方法,所述格子码具有M个编码器状态,所述方法包括确定L个条件概率矩阵Γt的步骤,L个格构级的每一个格构级一个条件概率矩阵,所述这些概率矩阵的元素由下式定义:
Γt(i,j)=P{时刻t的状态j;yt/时刻t-1的状态i};
所述方法还包括确定具有由
αt(j)=P{时刻t的状态j;y1,…,yt}
定义的M个联合概率分量的行矢量αt的步骤和确定具有由
βt(j)=P{yt+1,…,yL/时刻t的状态j}
定义的M个条件概率分量的列矢量βt的步骤,j=0,1,…(M-1),所述方法的这些步骤包括:
根据所述信道输出、信道转换概率R(Yt,X)、编码器在时刻t从状态m′转换到状态m的概率Pt(m/m′)以及在先前编码器状态是m′而当前编码器状态是m的情况下编码器的输出符号是X的概率qt(X/m′,m)确定所述概率矩阵Γt的标量元素;
如下地分别产生所述矢量αt、βt和λt:
(i.a)以初始α0等于(1/M,…,1/M)开始,计算L次正向递归:
αt=αt-1Γt,t=1,…,L;
归一化结果以使每一αt的分量之和等于单位值,保留全部L个αt矢量;
(i.b)设α0等于步骤(i.a)的αL,以t=1开始,计算
αt=αt-1Γt,t=1,…LW;
这里的回绕深度LW是预定的格构级数;归一化结果以使每一αt的分量之和等于单位值,用在步骤(i.b)中计算的αt代替在步骤(i.a)中计算的αt,t=1,2,…,LW;
(ii.a)初始化βt=(1,1,1,…,1)T并如下地利用反向递归产生前面的βt:
βt=βt+1Γt+1,t=L-1,…,1;
归一化递归结果以使每一βt的分量之和等于单位值,保留全部L个βt矢量;
(ii.b)设βL+1等于步骤(ii.a)的β1和设ΓL+1=Γ1,以t=L开始,计算
βt=βt+1Γt+1,t=L,(L-1),…,L-(LW+1)
这里的回绕深度LW是预定的格构级数;归一化递归结果,以使每一βt的分量之和等于单位值,用在步骤(ii.b)中计算的βt代替在步骤(ii.a)中计算的βt,t=L,(L-1),…,L-(LW+1);
(iii)通过如下地把所述行矢量的分量乘以所述列矢量的分量来产生联合概率矢量λt,其分量就是所述联合概率λt(i,j):
λt(i)=αt(i)βt(i),对于全部i,t=1,…,L;
根据λt确定在时刻t输入给编码器的已知数据位等于零的概率,该数据位是R个数据位的第m个,并提供作为所述概率的函数的软输出。
23.权利要求22的方法,还包括执行判定规则以便根据在时刻t输入给编码器的数据位等于零的概率提供译码输出位的步骤。
24.权利要求22的方法,其中所述截尾格子码包括卷积码。
25.权利要求22的方法,其中的编码器编码一组数据位,所述数据位被分成R个位的符号进行编码,预定最大的递归次数是一组数据位中的R个位的符号的数目的2倍。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/636,742 | 1996-04-19 | ||
US08/636,742 US5721746A (en) | 1996-04-19 | 1996-04-19 | Optimal soft-output decoder for tail-biting trellis codes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1189936A CN1189936A (zh) | 1998-08-05 |
CN1132320C true CN1132320C (zh) | 2003-12-24 |
Family
ID=24553142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97190400A Expired - Fee Related CN1132320C (zh) | 1996-04-19 | 1997-04-14 | 截尾格子码的软输出译码器 |
Country Status (21)
Country | Link |
---|---|
US (1) | US5721746A (zh) |
EP (1) | EP0834223A1 (zh) |
JP (1) | JP3801211B2 (zh) |
KR (1) | KR100531584B1 (zh) |
CN (1) | CN1132320C (zh) |
AR (1) | AR006722A1 (zh) |
AU (1) | AU716761B2 (zh) |
BR (1) | BR9702311A (zh) |
CA (1) | CA2221137C (zh) |
CZ (1) | CZ296383B6 (zh) |
HU (1) | HU220832B1 (zh) |
ID (1) | ID17231A (zh) |
IL (1) | IL122526A (zh) |
MX (1) | MX9710511A (zh) |
MY (1) | MY125447A (zh) |
NO (1) | NO975967L (zh) |
PL (1) | PL182511B1 (zh) |
RU (1) | RU2179367C2 (zh) |
UA (1) | UA42841C2 (zh) |
WO (1) | WO1997040583A1 (zh) |
ZA (1) | ZA973213B (zh) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377610B1 (en) * | 1997-04-25 | 2002-04-23 | Deutsche Telekom Ag | Decoding method and decoding device for a CDMA transmission system for demodulating a received signal available in serial code concatenation |
US5983384A (en) * | 1997-04-21 | 1999-11-09 | General Electric Company | Turbo-coding with staged data transmission and processing |
US6256764B1 (en) * | 1997-11-26 | 2001-07-03 | Nortel Networks Limited | Method and system for decoding tailbiting convolution codes |
US6452985B1 (en) * | 1998-03-18 | 2002-09-17 | Sony Corporation | Viterbi decoding apparatus and Viterbi decoding method |
US6563877B1 (en) * | 1998-04-01 | 2003-05-13 | L-3 Communications Corporation | Simplified block sliding window implementation of a map decoder |
CA2234006C (en) * | 1998-04-06 | 2004-10-19 | Wen Tong | Encoding and decoding methods and apparatus |
TW377427B (en) * | 1998-05-26 | 1999-12-21 | Koninklijke Philips Electronics Nv | Transmission system having a simplified channel decoder applicable to mobile phone systems for better reliability in serial transmission |
EP1311069A1 (en) * | 1998-05-28 | 2003-05-14 | Sony Corporation | Soft output decoding apparatus and method for convolutional code |
US6223319B1 (en) | 1998-08-20 | 2001-04-24 | General Electric Company | Turbo code decoder with controlled probability estimate feedback |
US6263467B1 (en) | 1998-08-20 | 2001-07-17 | General Electric Company | Turbo code decoder with modified systematic symbol transition probabilities |
US6192501B1 (en) | 1998-08-20 | 2001-02-20 | General Electric Company | High data rate maximum a posteriori decoder for segmented trellis code words |
US6128765A (en) * | 1998-08-20 | 2000-10-03 | General Electric Company | Maximum A posterior estimator with fast sigma calculator |
ATE270795T1 (de) | 1998-09-28 | 2004-07-15 | Comtech Telecomm Corp | Turbo produktkode decodierer |
EP1099313B1 (de) | 1998-12-01 | 2004-04-07 | Siemens Aktiengesellschaft | Soft-decision-decodierung eines terminierten faltungscode |
US6088405A (en) * | 1999-01-15 | 2000-07-11 | Lockheed Martin Corporation | Optimal decoder for tall-biting convolutional codes |
US6304996B1 (en) * | 1999-03-08 | 2001-10-16 | General Electric Company | High-speed turbo decoder |
US6715120B1 (en) | 1999-04-30 | 2004-03-30 | General Electric Company | Turbo decoder with modified input for increased code word length and data rate |
US6594792B1 (en) | 1999-04-30 | 2003-07-15 | General Electric Company | Modular turbo decoder for expanded code word length |
US6877132B1 (en) | 1999-06-11 | 2005-04-05 | Nortel Network Limited | Method and apparatus for channel decoding of tail-biting convolutional codes |
US7277506B1 (en) * | 1999-08-09 | 2007-10-02 | Broadcom Corporation | Maximum likelihood sequence estimator which computes branch metrics in real time |
US6400290B1 (en) | 1999-11-29 | 2002-06-04 | Altera Corporation | Normalization implementation for a logmap decoder |
US6700937B1 (en) * | 2000-01-05 | 2004-03-02 | At&T Corp. | Iterative decoding |
US7092457B1 (en) * | 2000-01-18 | 2006-08-15 | University Of Southern California | Adaptive iterative detection |
KR100374787B1 (ko) * | 2000-01-18 | 2003-03-04 | 삼성전자주식회사 | 대역 효율적인 연쇄 티.씨.엠 디코더 및 그 방법들 |
US6810502B2 (en) * | 2000-01-28 | 2004-10-26 | Conexant Systems, Inc. | Iteractive decoder employing multiple external code error checks to lower the error floor |
US6484285B1 (en) * | 2000-02-07 | 2002-11-19 | Ericsson, Inc. | Tailbiting decoder and method |
US6580769B1 (en) * | 2000-02-14 | 2003-06-17 | Motorola, Inc. | Method and apparatus for backward recursion next state generation in recursive convolutional decoding |
GB0004765D0 (en) | 2000-03-01 | 2000-04-19 | Mitel Corp | Soft-decision decoding of convolutionally encoded codeword |
US6516437B1 (en) | 2000-03-07 | 2003-02-04 | General Electric Company | Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates |
US7356752B2 (en) * | 2000-03-14 | 2008-04-08 | Comtech Telecommunications Corp. | Enhanced turbo product codes |
GB2360858B (en) * | 2000-03-20 | 2004-08-18 | Motorola Inc | High-speed maximum a posteriori (MAP) architecture with optimized memory size and power consumption |
WO2001076079A2 (en) * | 2000-04-04 | 2001-10-11 | Comtech Telecommunication Corp. | Enhanced turbo product code decoder system |
JP4543522B2 (ja) * | 2000-08-31 | 2010-09-15 | ソニー株式会社 | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 |
US7230978B2 (en) | 2000-12-29 | 2007-06-12 | Infineon Technologies Ag | Channel CODEC processor configurable for multiple wireless communications standards |
US7010052B2 (en) * | 2001-04-16 | 2006-03-07 | The Ohio University | Apparatus and method of CTCM encoding and decoding for a digital communication system |
EP1407555A1 (en) * | 2001-05-09 | 2004-04-14 | Comtech Telecommunications Corp. | Low density parity check codes and low density turbo product codes |
US6763493B2 (en) * | 2001-09-21 | 2004-07-13 | The Directv Group, Inc. | Method and system for performing decoding using a reduced-memory implementation |
JP3549519B2 (ja) * | 2002-04-26 | 2004-08-04 | 沖電気工業株式会社 | 軟出力復号器 |
US7346833B2 (en) * | 2002-11-05 | 2008-03-18 | Analog Devices, Inc. | Reduced complexity turbo decoding scheme |
GB2403103A (en) * | 2003-06-16 | 2004-12-22 | Inmarsat Ltd | Multi-user detection and decoding |
US7062407B2 (en) * | 2004-09-13 | 2006-06-13 | Microsoft Corporation | Efficient backward recursion for computing posterior probabilities |
US7603613B2 (en) | 2005-02-17 | 2009-10-13 | Samsung Electronics Co., Ltd. | Viterbi decoder architecture for use in software-defined radio systems |
US7627064B2 (en) * | 2006-06-30 | 2009-12-01 | Intel Corporation | System and method for enhanced symbol generation |
WO2008075125A1 (en) * | 2006-12-20 | 2008-06-26 | Wavesat Inc. | Method and decoder for tail-biting decoding |
US8358713B2 (en) * | 2007-09-10 | 2013-01-22 | Sarath Babu Govindarajulu | High throughput and low latency map decoder |
US8219896B2 (en) * | 2007-10-23 | 2012-07-10 | Telefonaktiebolaget L M Ericsson (Publ) | Reduced-complexity decoding algorithms for tail-biting convolutional codes |
JP4806673B2 (ja) * | 2007-12-27 | 2011-11-02 | ルネサスエレクトロニクス株式会社 | 復号装置及び復号方法 |
US8392811B2 (en) * | 2008-01-07 | 2013-03-05 | Qualcomm Incorporated | Methods and systems for a-priori decoding based on MAP messages |
US20090271686A1 (en) * | 2008-04-28 | 2009-10-29 | Qualcomm Incorporated | Communication signal decoding with iterative cooperation between turbo and reed-solomon decoding |
ATE476792T1 (de) | 2008-04-30 | 2010-08-15 | Ericsson Telefon Ab L M | Verfahren und anordnung zur decodierung eines mittels tail-biting-codes kodierten signals |
US8924811B1 (en) * | 2010-01-12 | 2014-12-30 | Lockheed Martin Corporation | Fast, efficient architectures for inner and outer decoders for serial concatenated convolutional codes |
GB2559616A (en) * | 2017-02-13 | 2018-08-15 | Accelercomm Ltd | Detection circuit, receiver, communications device and method of detecting |
RU2706171C1 (ru) * | 2019-01-25 | 2019-11-14 | Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации | Способ декодирования блочных помехоустойчивых кодов по критерию минимального среднего риска |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2675968B1 (fr) * | 1991-04-23 | 1994-02-04 | France Telecom | Procede de decodage d'un code convolutif a maximum de vraisemblance et ponderation des decisions, et decodeur correspondant. |
US5349589A (en) * | 1991-07-01 | 1994-09-20 | Ericsson Ge Mobile Communications Inc. | Generalized viterbi algorithm with tail-biting |
US5369671A (en) * | 1992-05-20 | 1994-11-29 | Hughes Aircraft Company | System and method for decoding tail-biting code especially applicable to digital cellular base stations and mobile units |
US5355376A (en) * | 1993-02-11 | 1994-10-11 | At&T Bell Laboratories | Circular viterbi decoder |
US5577053A (en) * | 1994-09-14 | 1996-11-19 | Ericsson Inc. | Method and apparatus for decoder optimization |
-
1996
- 1996-04-19 US US08/636,742 patent/US5721746A/en not_active Expired - Lifetime
-
1997
- 1997-04-14 BR BR9702311A patent/BR9702311A/pt not_active Application Discontinuation
- 1997-04-14 UA UA97125952A patent/UA42841C2/uk unknown
- 1997-04-14 CZ CZ0407497A patent/CZ296383B6/cs not_active IP Right Cessation
- 1997-04-14 WO PCT/US1997/006201 patent/WO1997040583A1/en not_active Application Discontinuation
- 1997-04-14 IL IL12252697A patent/IL122526A/xx not_active IP Right Cessation
- 1997-04-14 PL PL97323523A patent/PL182511B1/pl not_active IP Right Cessation
- 1997-04-14 JP JP53815097A patent/JP3801211B2/ja not_active Expired - Fee Related
- 1997-04-14 AU AU28019/97A patent/AU716761B2/en not_active Ceased
- 1997-04-14 MX MX9710511A patent/MX9710511A/es not_active IP Right Cessation
- 1997-04-14 KR KR1019970709527A patent/KR100531584B1/ko not_active IP Right Cessation
- 1997-04-14 RU RU98100587/09A patent/RU2179367C2/ru not_active IP Right Cessation
- 1997-04-14 EP EP97922309A patent/EP0834223A1/en not_active Withdrawn
- 1997-04-14 CN CN97190400A patent/CN1132320C/zh not_active Expired - Fee Related
- 1997-04-14 HU HU9901431A patent/HU220832B1/hu not_active IP Right Cessation
- 1997-04-14 CA CA002221137A patent/CA2221137C/en not_active Expired - Fee Related
- 1997-04-15 ZA ZA9703213A patent/ZA973213B/xx unknown
- 1997-04-17 ID IDP971285A patent/ID17231A/id unknown
- 1997-04-17 MY MYPI97001693A patent/MY125447A/en unknown
- 1997-04-21 AR ARP970101601A patent/AR006722A1/es unknown
- 1997-12-18 NO NO19975967A patent/NO975967L/no not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
CA2221137A1 (en) | 1997-10-30 |
ID17231A (id) | 1997-12-11 |
CZ407497A3 (cs) | 1998-06-17 |
BR9702311A (pt) | 1999-02-02 |
CN1189936A (zh) | 1998-08-05 |
AR006722A1 (es) | 1999-09-08 |
PL323523A1 (en) | 1998-03-30 |
CA2221137C (en) | 2004-10-12 |
AU2801997A (en) | 1997-11-12 |
PL182511B1 (pl) | 2002-01-31 |
MX9710511A (es) | 1998-03-31 |
RU2179367C2 (ru) | 2002-02-10 |
ZA973213B (en) | 1997-11-14 |
JPH11508440A (ja) | 1999-07-21 |
MY125447A (en) | 2006-08-30 |
IL122526A0 (en) | 1998-06-15 |
AU716761B2 (en) | 2000-03-09 |
IL122526A (en) | 2003-10-31 |
NO975967L (no) | 1998-02-03 |
KR19990028216A (ko) | 1999-04-15 |
CZ296383B6 (cs) | 2006-03-15 |
HUP9901431A3 (en) | 1999-12-28 |
NO975967D0 (no) | 1997-12-18 |
UA42841C2 (uk) | 2001-11-15 |
HUP9901431A2 (hu) | 1999-08-30 |
JP3801211B2 (ja) | 2006-07-26 |
US5721746A (en) | 1998-02-24 |
KR100531584B1 (ko) | 2006-04-20 |
HU220832B1 (hu) | 2002-05-28 |
WO1997040583A1 (en) | 1997-10-30 |
EP0834223A1 (en) | 1998-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1132320C (zh) | 截尾格子码的软输出译码器 | |
US6597743B1 (en) | Reduced search symbol estimation algorithm | |
JP3923618B2 (ja) | 誤り訂正符号を有する情報ビットの変換方法およびこの方法を実行する符号化器と復号化器 | |
Pyndiah et al. | Near optimum decoding of product codes | |
CN1111962C (zh) | 并行链接卷积编码、译码方法及执行该方法的编码、译码器及系统 | |
US7539920B2 (en) | LDPC decoding apparatus and method with low computational complexity algorithm | |
CN1770639A (zh) | 级联的迭代和代数编码 | |
US20060168500A1 (en) | Iterative decoding with likelihood weighting | |
JPH10135849A (ja) | 誤り訂正符号を有する情報ビットの変換方法およびこの方法を実行する符号化器と復号化器 | |
CN109547032B (zh) | 一种基于深度学习的置信度传播ldpc译码方法 | |
US8468438B2 (en) | Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code | |
CN111480324B (zh) | 用于检测相互干扰的信息流的装置和方法 | |
KR20050007428A (ko) | 선형 블록 코드들의 연성 디코딩 | |
CN109194336B (zh) | 级联Spinal码的编码和译码方法、系统及装置 | |
US6654927B1 (en) | Iterative error-correction for turbo code decoding | |
US20070011600A1 (en) | Decoding method and apparatus | |
US20050031053A1 (en) | Decoding method and apparatus | |
CN106209312A (zh) | 一种利用软判决的循环码参数盲识别算法 | |
CN108134612A (zh) | 纠正同步与替代错误的级联码的迭代译码方法 | |
CN1741614A (zh) | 使用冗余对视/音频和语音数据进行解码的方法和系统 | |
CN112332866A (zh) | 一种基于dvb-s与dvb-s2信号的级联码参数识别方法 | |
KR20060103777A (ko) | 고속의 터보 곱 복호방법 | |
US7243288B1 (en) | Method and apparatus for turbo decoding block codes | |
CN111262590B (zh) | 一种水声通信信源信道联合译码方法 | |
CN107196745B (zh) | 一种结构化无速率编码调制方法 |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: THIESS AMELI KERM CO.,LTD. Free format text: FORMER OWNER: GENERAL ELECTRIC CO. Effective date: 20031218 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20031218 Address after: new jersey Patentee after: The company may Likemu Scotia est Address before: American New York Patentee before: General Electric Company |
|
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |