CN1284114C - 操作turbo解码器以决定接收信号的二进制状态的方法与装置 - Google Patents

操作turbo解码器以决定接收信号的二进制状态的方法与装置 Download PDF

Info

Publication number
CN1284114C
CN1284114C CNB028175859A CN02817585A CN1284114C CN 1284114 C CN1284114 C CN 1284114C CN B028175859 A CNB028175859 A CN B028175859A CN 02817585 A CN02817585 A CN 02817585A CN 1284114 C CN1284114 C CN 1284114C
Authority
CN
China
Prior art keywords
numerical value
forward direction
measure
order
oppositely
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
CNB028175859A
Other languages
English (en)
Other versions
CN1554072A (zh
Inventor
爱德华·L·海伯勒
麦可·F·斯达西尼克
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.)
InterDigital Technology Corp
Original Assignee
InterDigital Technology Corp
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 InterDigital Technology Corp filed Critical InterDigital Technology Corp
Publication of CN1554072A publication Critical patent/CN1554072A/zh
Application granted granted Critical
Publication of CN1284114C publication Critical patent/CN1284114C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/3905Maximum 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
    • 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/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Abstract

管线最大后验概率(MAP)解码器架构的滑动窗口算法是调整以降低处理时间。一旦计算得到此解码器第一滑动窗口的前向量度时,各个窗口的反向量度是在计算下一个窗口的前向量度时加以计算。当各个新前向量度是加以计算并储存于内存中时,前一个窗口的前向量度是由内存中读取,用以与计算外来数值中所计算的反向量度搭配使用。用以计算一外来数值的各个前向量度是由内存中、在公共时钟沿读取,用以使得新前向量度能够写入相同内存地址。虽然本架构是发展于一turbo解码器(turbo decoder),所有卷积编码亦可以使用本发明的最大后验概率(MAP)算法。

Description

操作turbo解码器以决定接收信号的二进制状态的方法与装置
技术领域
本发明是有关于处理误差侦测及校正算法的领域。特别是,本发明是有关于一种有效率的管线架构,用以处理最大后验概率(MAP)算法。
背景技术
部分误差校正算法,诸如:turbo解码器(Turbo Decoder)算法,是使用最大后验概率(MAP)算法的变动,用以从一已遭噪声破坏的编码位序列中回复一信息位序列。此最大后验概率(MAP)算法需进行递归(recursive)计算的特性使实施该最大后验算法代价非常高。
举例来说,图1是介绍此最大后验概率(MAP)算法所输出的序列为一组前向量度法(Aforward@metrics),以及一组后向量度法(Abackward@metrics)。然而,各个前向量度法.(k)是前一个前向量度法.(k-1)的一函数,且各个反向量度法.(k-1)是下一个反向量度法.(k)的一函数。如图1的时间轴(timeline)图标所介绍,实施此算法的一架构是需要一缓冲区,其容量足够大以保留所有前向量度法亦或所有反向量度法,用以在计算输出时保留另一组量度法,此设计是得到一解码器,其时延是正比于需解码方块的约两倍大小。
在减少此最大后验概率(MAP)算法所需缓冲区的努力中,此最大后验概率(MAP)算法的一种调整版本,其称作滑动窗口(sliding windows)算法,便被发展出来。通过在这些反向量度法计算中进行一小近似,此滑动窗口(sliding windows)算法便可以降低所需量度法缓冲区的大小。此方法的实施是将接收序列分割为窗口,然后再针对各个窗口进行处理。
图2是介绍当数据被分割成两个窗口时,滑动窗口计算如何执行的一时间轴(timeline)。此尾端(tail)及此学习大小(learn size)的长度,相较于欲处理数据的数量,通常是非常小。明显地,只要此窗口大小相于此学习窗口(learning windows)大小是相对较大,则通过此解码器的时延便不会大幅地增加、且保留前向量度所需的缓冲区大小亦可以大幅减少。
因此,本发明的一个目的是减少实施此类算法所关连的时延及成本。
发明内容
在本发明的管线式最大后验概率(MAP)解码器架构中,修正此滑动窗口算法,用以减少处理时间。一旦计算得到第一窗口的前向量度后,各个窗口的反向量度是在计算下一个窗口的前向量度时加以计算。当每个新前向量度是加以计算并储存于内存中时,前一个窗口的前向量度是由内存中读取,用以能够计算新反向量度。前一个窗口的各个前向量度是在公共时钟沿时从内存中读取,用以使下一个窗口的新前向量度得以写入相同的内存位置。通过如此地自内存中读取前向量度及写入前向量度至内存中,此前向量度缓冲区大小并不需要增加。这些管线式计算亦可以执行,若数据是分割为两个窗口。虽然本架构是发展于一turbo解码器(Turbo Decoder)中,使用此最大后验概率(MAP)算法的一版本的任何解码器亦可以使用此架构。此管线式滑动窗口架构是减少处理时间。此标准滑动窗口架构是需要运行于一大幅提高的时钟速率,用以达到相同的通量。
附图说明
本发明将配合所附图式说明如下,其中,类似标号是用以表示类似组件,并且:
图1是一先前技术误差校正算法架构的一时间轴的一范例;
图2是一先前技术误差校正算法架构的一时间轴的一第二范例,其中,前向及反向量度是利用滑动窗口以计算得到;
图3是一turbo解码器(turbo decoder)的一方块图,其中,这些前向及反向量度的计算是加以反向;以及
图4是本发明误差校正架构的一时间轴。
具体实施方式
本发明的图3是一turbo解码器(turbo decoder)的一方块图,其中,本发明的管线式解码器架构是可以常驻其中。在本发明的管线式最大后验概率(MAP)解码器架构中,此滑动窗口算法是予调整,用以减少处理时间。图4是介绍利用本发明完成的时间轴。一旦计算得到第一窗口的前向量度时,各个窗口的反向量度是在计算下一个窗口的前向量度时加以计算。当每个新前向量度是加以计算并储存于内存时,前一个窗口的前向量度是由内存中读取,用以能够计算新反向量度。各个前向量度是在公共时钟沿时由内存中读取,用以将新前向量度写入相同内存位置。通过如此地自内存中读取前向量度及写入前向量度至内存中,此前向量度缓冲区的大小便可以不需增加。
图3是表示一turbo解码器(turbo decoder)一实施例的一方块图,其是结合本发明的原理及技术。
此turbo解码器(turbo decoder)10是接收一传送装置的数据,诸如:举例来说,将各个数据位(A1@或AO@)转换为三个位(亦即:一数据或系统位(s)、一第一奇偶校验位(p1)、以及一第二奇偶校验位(p2))的一基站。这些数据(s、p1、p2)是施加于一缓存器12,其亦接收由一外来内存14读取的外来数据(将于下文中更详细地说明)、及由一交错地址缓存器16得到的一地址。内存缓存器12是如此启始地接收及储存这些数据(s、p1、p2)、在传输线14a出现的外来数据、及在传输线16a出现、外来数据设置的一地址。此地址是于整体计算中伴随这些数据(s、p1、p2),其目的将于下文中更详细地说明。
这些数据(s、p1、p2)是由缓存器12转移至伽玛.()计算器18、并进一步储存于本地内存20中。
如turbo解码器(turbo decoder)中所习知,三个数量阿法.()、贝塔.()、及伽玛.()是加以定义。对于某个特定状态及某个特定时间步骤而言,是具有一数值以定义编码器在此特定时间步骤、此状态时的机率。阿法是递归地开始于时间k=1并沿着时间前向移动以推导得到。此数值阿法.()是类似于伽玛.(),但却是沿着时间后向进行。伽玛.()是定义为此编码器由某给定时间移动至在下一个后续时间递增某允许状态的变迁机率。根据伽玛.()所表示的状态变迁机率,在一交织中所有状态的阿法.()是可以加以计算。在阶段18所执行的伽玛.()计算是储存于缓存器22中。计算阶段24及26是分别计算各个阿法、并这些阿法计算正规化。各个阿法.()数值是根据来自缓存器22的输入以及在输入24b所提供的先前计算阿法数值而加以计算、并经由多任务器28及缓存器30而由计算阶段26输出,其是保留八个计算数值。缓存器30的输出是耦合于阿法内存32的输入,其是储存第一计算阿法数值于第一内存位置23a、并且亦提供计算得到的阿法数值至输入24b。
为启始化此计算,并且,在此启始状态开始,八个启始阿法量度是设定为某个启始数值,其是施加于多任务器28的启始化输入28a以致能计算阶段24及26,用以计算阿法的八个数值。如上文中所述,这些数据(s、p1、p2)是储存于本地内存20中。
启始地,所有阿法数值是加以计算,据此,贝塔数值是应用由本地内存20以反向顺序(亦即:后进先出顺序(Alast-in,first-out@))读取的这些数据(s、p1、p2)而加以计算,用以执行贝塔后向递归方程式所需要的计算。当本地内存20中最后读取的这些数据(s、p1、p2)被读取至缓存器34时,其不仅仅包括这些数据(s、p1、p2)、亦包括外来数值(其在启始阶段操作中是零)及表示内存位置的数据(其中,启始外来数值是位于外来内存14中)。这些数据(s、p1、p2)及外来数据是于伽玛计算阶段36进行计算。此伽玛计算阶段36的输出是施加于伽玛缓存器38及40。这些贝塔计算是分别由贝塔计算阶段44及贝塔正规化阶段46加以执行。启始地,二进制一(A1@)的一开始条件是施加于多任务器42的输入42a。此正规化贝塔计算是经由输出缓存器48而启始地施加于外来数值计算阶段50,其进一步将最后计算得到的输入施加于多任务器42的输入42b。外来数值计算阶段50是通过检查在输入58接收缓存器52的阿法数值、在输入50b接收缓存器38的伽玛数值、及在输入50c接收缓存器48的贝塔输出,用以计算各个时间状态k的一外来数值。缓存器48、52、38是提供以确认在此外来数值计算阶段50的信号的时间注册。
第一数值外来计算阶段50所计算的中间数值是施加于缓存器54,其是将其内容转移至外来数值计算的第二阶段56。
如上文中所述,缓存器34是将其内容转移至缓存器58,其接下来再将其内容转移至缓存器60,缓存器60的内容是由第二外部数值计算阶段56的输出所出现的外来数值中减去,此减法阶段是执行于减法电路62。
在阶段56得到的外来数值是进一步施加于一软进硬出(SIHO)电路64,其包括:一二进制状态决定电路66,用以接收第二外来计算阶段56的输出。此软进硬出(SIHO)64中电路66的操作是进一步说明如下。
在差电路62的差输出是施加于缓存器68,其施加此外来数值计算至外来内存14b的传输线14b。如上文中所述,本地内存20,除了储存数据、奇偶校验、及外来数值以外,更储存外来内存14的第一外来数值地址,此地址是成功地经由内存缓存器34及时间同步缓存器70、72、74耦合,用以提供外来内存14中储存外来数值计算的位置,此内存地址数据是施加于外来内存14的传输线14c。
如上文中所述,其参考图2所示的范例,决定阿法的一半计算是在第一时间窗口k/2期间执行。
反向量度.()的计算是于此第一窗口的后半(k/2)期间执行。阿法数值是由阿法内存32中、以其储存的反向顺序读取。在图3的实施例中,在窗口2前向量度期间计算的阿法数值(参照图4)是同时储存于在窗口1期间计算的阿法数值被读取(用以计算外来数值)的内存地址,用以减少一半内存容量。值得注意的是,新计算的阿法数值,相对于第一窗口期间计算的阿法数值,是以反向顺序储存。
在各个后续配对的窗口计算中,执行计算的数目是计算外来数值所要迭代数目的一函数,在阿法内存32中读取及写入阿法数值的顺序是加以反向,用以使得:当先前计算的阿法数值(其是以由最后内存地址至第一内存地址的顺序储存)被读取时,阿法数值是以反向顺序(由第一内存地址至最后内存地址)被读取、且这些阿法数值是决定于前向量度第二迭代的窗口2中,在计算阶段24/26计算的新数值是被读取至先前阿法数值被读取的地址。
如上文中所述,当计算完一外来数值时(亦即:当第一迭代完成时),此外来数值是由外来内存14中读取、并且用于下一个迭代的计算期间。习知控制电路,为简化目的而未予图标,是决定欲执行迭代的数目。
如上文中所述,当决定各个外来数值时,其是施加于电路66以利用振幅检查决定此数据位是一个A1@或A0@,并且,当超过一特定临界数值时决定为一个A1@,及当低于一特定临界数值时决定为一个A0@。此建立数值是施加于缓存器76并与外来数值内存地址合并,其是由缓存器74导出并施加于合并电路78。此输出位是写入一内存84。此软进硬出(SIHO)电路64是将各个位写入一内存位置,其中,每一列的宽度是十六位。此合并电路多任务器78、多任务器电路80、及输出内存读取缓存器82是操作以通过储存二进制状态决定电路66估计的十六个数据位,进而利用各内存位置的所有十六个位。
虽然图3的实施例是教导一种实施方式,其中,阿法是在第一窗口期间计算、且贝塔是在第一窗口的后半部期间计算,熟习此技艺者当了解,阿法及贝塔计算亦可以加以反向,如第五图所示,其仍然可以具有图1所示实施例的所有好处(亦即:大幅减少计算时间、并在图3turbo解码器(turbo decoder)中减少50%的内存需求,相较于现今的技术及装置)。本发明的架构亦可以进一步缩减内存大小。举例来说,数据是可以使用三个窗口、四个窗口、...加以处理,其可以进一步缩减内存大小。举例来说,使用四个窗口是可以导致一内存大小,其是三倍于没有应用窗口处理的内存大小。
图4亦介绍这些管线式计算是如何执行的,若数据是分割为两个窗口时。忽略学习窗口的大小及尾端位的数目,经由此范例中管线滑动窗口解码器的时延是正比于12K,相对于简单滑动窗口架构中的2K。时延是可以根据需要处理的数据数量,通过改变窗口大小、窗口数目、及学习大小而减少。
虽然上述架构是发展于一turbo解码器(turbo decoder),然而,所有卷积编码亦可以使用一最大后验概率(MAP)解码器。前向量度的计算是可以在反向量度的前或的后计算。此反向量度是可以预先计算,且随后,前向量度是可以在执行输出计算时加以计算。此是可以利用,举例来说,图3A的实施例加以完成,其中,计算方块241是一贝塔计算器;计算方块24是一贝塔正规化计算方块;内存321是一贝塔内存;计算方块441是一阿法计算方块;且计算方块461是一阿法正规化计算方块。
图3A实施例的其它操作是大体上与图3实施例相同。

Claims (39)

1.一种计算前向及反向量度的方法,其是执行一输出计算以决定接收信号的二进制状态所要求的,该方法包括下列步骤:
(a)在两阶段中执行所述前向量度计算,其中,第一群组前向量度计算于第一阶段中被计算,其后跟随于第二阶段中被计算的第二群组前向量度;
(b)由内存中读取在该第一阶段期间计算的所述前向量度,其是与反向量度数值用以执行该输出计算;
(c)在该第一阶段后,执行在该第二阶段中的所述反向量度计算;
(d)当执行所述反向计算时,执行所述前向量度计算的第二半;
(e)储存在该第一阶段中执行的各个所述前向量度计算;以及
(f)将在该第二阶段期间计算的各个所述前向量度写入一内存地址,该地址是在该第一阶段期间计算的前向量度被读取以用于一输出计算的地址。
2.如权利要求1所述的方法,更包括下列步骤:
利用在该第一阶段中计算的所述前向量度及在该第二阶段中计算的所述反向量度以执行输出计算。
3.如权利要求1所述的方法,其特征在于,步骤(e)及(f)是利用一时钟信号的一公共时钟沿而执行。
4.如权利要求2所述的方法,更包括下列步骤:
在跟随该第二阶段的一第三阶段中执行反向量度,用以与在该第二阶段中计算的所述前向量度、利用在该第二阶段期间计算的所述前向量度及在该第三阶段期间计算的反向量度以执行输出计算
5.一种解码由一远程位置接收的一传输的方法,其是包括数据位及相关的奇偶校验位,且其可能被该传输信道中的噪声所破坏,该方法是包括下列步骤:
(a)在一第一时间间隔期间,为各个数据位及其伴随的从一传输位置接收来的奇偶校验位计算一前向量度数值;
(b)将各个前向量度数值储存于一第一内存中;
(c)将各个接收数据位及伴随的奇偶校验位在其被接收时储存于一本地内存中;
(d)在计算一外来数值的一第二时间间隔期间,由该第一内存读取一前向量度;
(e)利用预先储存于内存中的该数据位及所述相关的奇偶校验位,用以在该第二时间间隔期间计算一反向量度数值;以及
(f)在该第二时间间隔期间,计算在该第二时间间隔期间接收数据位及相关的奇偶校验位的一前向量度数值,并将在该第二时间间隔期间计算的各个前向量度数值储存于在步骤(d)期间一前向量度被读取的一内存位置。
6.如权利要求5所述的方法,其特征在于,在步骤(c)期间被读取至该本地内存的该数据位及相关的奇偶校验位是以反向顺序、由该本地内存中读取,用以计算所述反向量度。
7.如权利要求5所述的方法,其特征在于,所述计算前向量度数值是以所述前向量度数值被读取至内存以计算该外来数值的反向顺序加以读取。
8.如权利要求5所述的方法,其特征在于,步骤(e)更包括下列步骤:
在该第一时间间隔期间计算一前向量度数值之前,于该数据位及相关的奇偶校验位上执行一伽玛计算。
9.如权利要求5所述的方法,更包括下列步骤:
根据一给定前向量度数值、一给定反向量度数值、及一给定数据位相关的奇偶校验位,用以计算一启始外来数值。
10.如权利要求9所述的方法,其中,该外来数值是储存于一外来内存中。
11.如权利要求9所述的方法,其中,储存该外来数值的该步骤是包括:
将该外来数值存储于一内存位置,该内存位置是连结于用于计算储存的该外来数值的该数据位。
12.如权利要求10所述的方法,更包括下列步骤:
由该本地内存中导出该数据位及相关的奇偶校验位;以及
在用以计算该外来数值的该第二时间间隔期间,于该数据位及相关的奇偶校验位上执行一伽玛计算。
13.如权利要求12所述的方法,更包括下列步骤:
由该启始外来数值中减去在该第二时间间隔期间、由该本地内存中读取的一数据位及相关的奇偶校验位,用以得到一最终外来数值。
14.如权利要求12所述的方法,更包括下列步骤:
决定该外来数值计算器输出数据的一二进制状态,用以得到与该二进制状态相关的一硬决定;以及
将该硬决定储存于一内存中。
15.一种于一turbo解码器中操作的解码方法,该turbo解码器接收数据位,所述数据位分别伴随相关的奇偶校验位且可能被破坏,该方法包括下列步骤:
(a)在两个连续时间间隔中执行前向量度计算,其中,前向量度计算的一群组是在一第一时间间隔中计算,其跟随一第二时间间隔;
(b)储存在该第一时间间隔期间执行的各个所述前向量度计算;
(c)由内存中读取在该第一时间间隔期间计算的各个前向量度数值,其是与一反向量度数值用以计算一外来数值;
(d)在该第二时间间隔期间及在该第一时间间隔期间执行的所述前向量度计算完成后,执行反向量度计算;以及
(e)将在该第二时间间隔期间计算的各个前向量度数值写入在该第一时间间隔期间一前向量度数值被读取的一内存位置。
16.一种操作turbo解码器以计算前向及反向量度的方法,其是执行用以决定接收信号的二进制状态的一计算所必需的,该方法包括:
(a)在一外来内存中产生一内存位置;
(b)接收包括数据位及相关的奇偶校验位的数据,其是可能为噪声或诸如此类信号所破坏;
(c)储存该数据位、相关的奇偶校验位、一内存位置、及一开始外来数值;
(d)根该数据位、相关的奇偶校验位、及开始外来数值,用以计算一第一组前向量度数值;
(e)将计算得到的所述前向量度数值储存于一前向量度内存中;
(f)由内存中读取该计算得到的前向量度数值,其是与一反向量度数值用以计算一外来数值;
(g)在计算所述反向量度数值时,利用步骤(a)、(b)、(c)以计算一第二组前向量度数值;以及
(h)将各个该第二组前向量度值储存于一内存位置,其是相同于计算一反向量度数值时、该第一组前向量度数值被读取的内存位置。
17.如权利要求16所述的方法,更包括下列步骤:
以所述前向量度数值在计算反向量度数值时、被读取至内存的反向顺序,由记读取所述前向量度数值。
18.一种操作turbo解码器以计算前向量度及反向量度的方法,其是执行用以决定接收信号的二进制状态的一计算所要求的,该方法包括:
(a)接收包括数据位的信号,所述数据位分别具有相关的奇偶校验位,所述信号可能被噪声或诸如此类信号所破坏;
(b)产生一外来内存中的一内存位置,用以储存一外来数值;
(c)储存一第一数据位、相关的奇偶校验位、内存位置、及一第一内存中的一开始外来数值;
(d)根据该数据位、相关的奇偶校验位、及开始外来数值,用以计算一第一前向量度数值;
(e)将计算得到的该前向量度数值储存于一前向量度内存中;
(f)由该前向量度内存中读取该计算得到的前向量度数值,其与一反向量度用以计算一外来数值;
(g)当计算该反向量度数值时,利用步骤(a)、(b)、(c)以计算一第二组前向量度数值的一第一前向量度数值;以及
(h)将该第二组前向量度数值的该第一前向量度数值储存于该第一组前向量度数值的一个、在计算一外来数值时被读取的相同内存位置。
19.一种turbo解码器,用以计算前向及反向量度,其是执行用以决定接收信号的二进制状态的一计算所要求的,该turbo解码器是包括:
一外来内存;
一第一装置,用以产生该外来内存中的一内存位置;
一第二装置,用以接收包括数据位的信号,所述数据位是分别具有相关的奇偶校验位,其可能被噪声或诸如此类信号所破坏;
一第三装置,用以储存该数据位、相关的奇偶校验位、及内存位置;
一第四装置,根据该数据位、相关的奇偶校验位、及一启始开始外来数值,用以计算一第一组前向量度数值;
一第五装置,用以储存该计算得到的前向量度于一前向量度内存中;
一第六装置,用以由该前向量度内存中读取该计算得到的前向量度,其是与一反向量度用以计算一外来数值;
在计算该反向量度数值时,所述第一、第二、及第三装置是计算一第二组前向量度数值;以及
该第五装置是包括:一装置,用以储存该第二组前向量度数值之一于该前向量度内存中的相同内存位置,其是在计算一外来数值时、该第一组前向量度数值被读取的内存位置。
20.一种用以计算前向及反向量度的方法,其是执行用以决定接收信号的二进制状态的一计算所要求的,该储存技术是包括下列步骤:
(a)以一给定顺序、将一第一群组前向量度数值储存于该内存中;
(b)以最后计算至最先计算的一顺序、读取储存的量度数值;以及
(c)以一给定顺序储存一第二群组前向量度数值,用以使该第二群组的一第一计算前向量度数值是储存于该第二群组的最后计算数值被读取的一内存位置。
21.如权利要求20所述的储存技术,更包括下列步骤:
根据由内存读取的该前向量度数值,用以计算一反向量度数值。
22.一种用于一turbo解码器的装置,用以计算前向及反向量度,其是执行用以决定接收信号的二进制状态的一计算所要求的,该装置是包括:
一第一内存,用以储存一数据位及相关的奇偶校验位;
一前向量度内存;
根据该数据位及相关的奇偶校验位以计算一第一群组前向量度数值的装置;
以一给定顺序储存该第一群组前向量度数值于该内存中的装置;
用以从该内存中以最后计算至最先计算的顺序读取该第一群组的储存量度数值的装置;
用以控制所述用于计算的装置以计算一第二群组前向量度数值的装置,其是跟随该第一群组量度数值的计算;以及
一装置,以一给定顺序、将该第二群组前向量度数值储存于该前向量度内存中,用以使该第二群组的一第一计算前向量度数值是储存于该第一群组的最后计算量度数值被读取的一内存位置。
23.如权利要求22项所述的装置,更包括:
一第二装置,在计算该第一群组前向量度数值期间,根据由该第一内存读取的该数据位及相关的奇偶校验位以计算一反向量度数值。
24.一种计算前向及反向量度的方法,其是执行用以决定接收信号的二进制状态的一输出计算所要求的,该方法是包括下列步骤:
(a)在两个阶段中执行所述反向量度计算,其中,一群组反向量度计算是于第一阶段中被计算,其后跟随于第二阶段中被计算的第二群组反向量度计算;
(b)储存在该第一阶段中执行的各个所述反向量度计算;
(c)由内存中读取在该第一阶段期间计算的所述反向量度数值,用以用于该输出计算;
(d)在该第一阶段的反向量度计算完成的后及在该第二阶段的反向量度计算之前,执行所述前向量度计算;以及
(e)将在该第二阶段期间计算的各个反向量度写入一内存位置,其是相同于在该第一阶段期间计算的一反向量度被读取以用于一输出计算的内存位置。
25.如权利要求24所述的方法,更包括下列步骤:
利用在该第一阶段中的所述反向量度及在该第二阶段中计算的所述前向量度,用以执行输出计算。
26.如权利要求24所述的方法,其特征在于,步骤(c)及(e)是利用一时钟信号的一公共时钟沿以执行。
27.如权利要求25所述的方法,更包括下列步骤:
在一第三阶段中执行前向量度,其是跟随负责在该第二阶段中计算所述反向量度的该第二阶段;以及
利用在该第二阶段期间计算的所述反向量度数值及在该第三阶段期间计算的所述前向量度数值,用以执行输出计算。
28.一种解码由一远程位置接收的一传输的方法,其是包括数据位及相关的奇偶校验位且其可能被该传输信道中的噪声所破坏,该方法是包括下列步骤:
(a)在一第一时间间隔期间,为各个数据位及其伴随的从一传输位置接收来的奇偶校验位计算一反向量度;
(b)将各个反向量度数值储存于一第一内存中;
(c)当接收各个接收数据位及伴随的的奇偶校验位时,将各个接收数据位及伴随的的奇偶校验位储存于一本地内存中;
(d)由该第一内存中读取一反向量度数值,用以计算一外来数值;
(e)利用先前储存于该本地内存中的该数据位及伴随的的奇偶校验位,用以计算一前向量度数值;以及
(f)在一第二时间间隔期间,计算在该第二时间间隔期间接收的数据位及相关的奇偶校验位的一反向量度数值,并将各个在该第二时间间隔期间计算得到的各个反向量度数值储存于该第一内存的一内存位置,其是相同于在步骤(d)期间一反向量度数值被读取的内存位置。
29.如权利要求28所述的方法,其特征在于,在步骤(c)期间读取至该本地内存的该数据位及相关的奇偶校验位是从该本地内存中以反向顺序读取,用以计算该外来数值。
30.如权利要求29所述的方法,其特征在于,在该第一时间间隔中计算的所述反向量度数值是以在该第二时间间隔中计算的所述反向量度数值被读取至内存的反向顺序而由内存中加以读取。
31.如权利要求29所述的方法,更包括下列步骤:
根据一给定前向量度数值、一给定反向量度数值、及一给定资位及相关的奇偶校验位,用以计算一外来数值。
32.一种计算前向及反向量度的方法,其是执行用以决定接收信号的二进制状态的计算所要求的,该方法是包括下列步骤:
(a)在一第一阶段期间,执行一第一群组前向量度计算;
(b)将该第一群组前向量度数值储存于一内存中;
(c)在跟随该第一阶段的一第二阶段期间,执行反向量度计算;
(d)当在该第二阶段期间计算反向量度计算时,执行一第二群组前向量度计算;
(e)由内存的位置中读取该第一群组的前向量度数值,其是与在该第二阶段期间计算的所述反向量度数值用以执行决定所述接收信号的二进制状态的计算;以及
(f)在计算所述反向量度数值的一时间期间,于该第二阶段中储存该第二群组前向量度数值的计算,用以使得在第二阶段期间计算的各个前向量度数值是储存于在该第一阶段期间计算的一前向量度数值被读取以执行决定所述接收信号的二进制状态的计算时的相同位置。
33.一种计算前向及反向量度的装置,其是执行用以决定接收信号的二进制状态的一输出计算所要求的,该装置是包括:
用以在两个阶段中执行所述反向量度计算的装置,其中,一群组反向量度计算是计算于一第一阶段中,其后跟随一第二阶段中计算的一第二群组反向量度计算;
用以储存在该第一阶段中执行的各个所述反向量度计算的装置;
一装置,用以由内存中读取在该第一阶段期间计算的所述反向量度计算,用以用于该输出计算中;
一装置,在该第一阶段的反向量度计算完成的后及在该第二阶段的反向量度计算的前,用以执行所述前向量度计算;以及
一装置,用以将在该第二阶段期间计算的各个反向量度写入在该第一阶段期间计算的一反向量度被读取以用于一输出计算的一内存位置。
34.如权利要求33所述的装置,更包括:
一装置,利用在该第一阶段中计算的所述反向量度及在该第二阶段中计算的所述前向量度,用以执行输出计算。
35.如权利要求33所述的装置,更包括:
跟随该第二阶段并响应在该第二阶段所计算的反向量度而值行一第三阶段的前向量度的装置;以及
一装置,利用在该第二阶段期间计算的所述反向量度数值及在该第三阶段期间计算的所述前向量度数值,用以执行输出计算。
36.一种解码由一远程位置接收的一传输的装置,其是包括数据位及相关的奇偶校验位且,其可能被该传输信道中的噪声所破坏,该装置是包括:
在一第一时间间隔期间用以计算及由一传输位置接收的各个数据位及伴随的的奇偶校验位的一反向量度数值的装置;
一第一内存,用以储存各个反向量度数值;
一本地内存,用以储存各个接收的数据位及伴随的奇偶校验位;
一装置,用以由该第一内存中读取一反向量度数值,用以计算一外来数值;
利用预先储存于该本地内存中的该数据位及相关的奇偶校验位来计算一前向量度的装置;以及
一装置,在一第二时间间隔期间,用以计算在该第二时间间隔期间接收的数据位及相关的奇偶校验位的一反向量度数值,并将在该第二时间间隔期间的各个反向量度数值储存于该第一内存的一内存位置,其是相同于在步骤(d)期间一反向量度数值被读取的内存位置。
37.如权利要求36所述的装置,更包括:
一装置,用以由该本地内存中、以反向顺序读取被读取至该本地内存中的该数据位及相关的奇偶校验位,用以利用只读装置而计算该外来数值。
38.如权利要求37所述的装置,更包括:
一装置,根据一给定前向量度数值、一给定反向量度数值、及一给定数据位及相关的奇偶校验位,用以计算一外来数值。
39.一种计算前向及反向量度的装置,其是执行用以决定接收信号的二进制状态的计算所要求的,该装置是包括:
用以在一第一阶段期间执行一第一群组前向量度计算的装置;
一内存装置,用以储存该第一群组前向量度数值;
用以在跟随该第一阶段的一第二阶段期间执行反向量度计算装置;
当在该第二阶段期间充作反向量度数值时用以执行一第二群组前向量度计算的装置;
一装置,由该内存的位置中读取该第一群组的前向量度数值,其是与在该第二阶段期间计算的所述反向量度数值用以执行决定所述接收信号的二进制状态的计算;以及
一装置,在计算该第二阶段中所述反向量度数值被计算的一时间期间,储存该第二群组前向量度数值,用以使得在该第二阶段期间计算的各个前向量度数值是储存于在该第一阶段期间计算的一前向量度数值被读取以执行决定所述接收信号的二进制状态的计算时的相同内存位置。
CNB028175859A 2001-09-06 2002-04-15 操作turbo解码器以决定接收信号的二进制状态的方法与装置 Expired - Fee Related CN1284114C (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US31785501P 2001-09-06 2001-09-06
US60/317,855 2001-09-06
US10/037,609 2002-01-02
US10/037,609 US6961921B2 (en) 2001-09-06 2002-01-02 Pipeline architecture for maximum a posteriori (MAP) decoders
PCT/US2002/011664 WO2003023709A1 (en) 2001-09-06 2002-04-15 Pipeline architecture for maximum a posteriori (map) decoders

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2006101464598A Division CN1941637B (zh) 2001-09-06 2002-04-15 操作turbo解码器决定接收信号二进位状态的方法与装置

Publications (2)

Publication Number Publication Date
CN1554072A CN1554072A (zh) 2004-12-08
CN1284114C true CN1284114C (zh) 2006-11-08

Family

ID=26714300

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB028175859A Expired - Fee Related CN1284114C (zh) 2001-09-06 2002-04-15 操作turbo解码器以决定接收信号的二进制状态的方法与装置
CN2006101464598A Expired - Fee Related CN1941637B (zh) 2001-09-06 2002-04-15 操作turbo解码器决定接收信号二进位状态的方法与装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2006101464598A Expired - Fee Related CN1941637B (zh) 2001-09-06 2002-04-15 操作turbo解码器决定接收信号二进位状态的方法与装置

Country Status (15)

Country Link
US (4) US6961921B2 (zh)
EP (2) EP2159921A3 (zh)
JP (1) JP3935471B2 (zh)
KR (4) KR100582051B1 (zh)
CN (2) CN1284114C (zh)
AT (1) ATE438958T1 (zh)
BR (1) BR0212645A (zh)
CA (1) CA2459383A1 (zh)
DE (1) DE60233236D1 (zh)
HK (1) HK1068436A1 (zh)
MX (1) MXPA04002180A (zh)
MY (1) MY131249A (zh)
NO (1) NO20041357L (zh)
TW (2) TWI305701B (zh)
WO (1) WO2003023709A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
JP3898574B2 (ja) * 2002-06-05 2007-03-28 富士通株式会社 ターボ復号方法及びターボ復号装置
SG113431A1 (en) * 2002-08-30 2005-08-29 Oki Techno Ct Singapore Pte Improved turbo decoder
KR20040068771A (ko) * 2003-01-27 2004-08-02 삼성전자주식회사 소프트 복조 방법 및 소프트 복조 장치
GB2409618A (en) * 2003-12-23 2005-06-29 Picochip Designs Ltd Telecommunications decoder device
US7343530B2 (en) * 2004-02-10 2008-03-11 Samsung Electronics Co., Ltd. Turbo decoder and turbo interleaver
US7555070B1 (en) * 2004-04-02 2009-06-30 Maxtor Corporation Parallel maximum a posteriori detectors that generate soft decisions for a sampled data sequence
JP2006115145A (ja) * 2004-10-14 2006-04-27 Nec Electronics Corp 復号装置及び復号方法
KR101279283B1 (ko) * 2006-10-19 2013-06-26 조지아 테크 리서치 코오포레이션 블록 부호를 사용하는 통신 시스템에서 신호 송수신 장치및 방법
US8411709B1 (en) 2006-11-27 2013-04-02 Marvell International Ltd. Use of previously buffered state information to decode in an hybrid automatic repeat request (H-ARQ) transmission mode
JP2009060455A (ja) * 2007-08-31 2009-03-19 Nec Corp スライディングウィンドウターボ復号処理装置とその方法
US8897393B1 (en) 2007-10-16 2014-11-25 Marvell International Ltd. Protected codebook selection at receiver for transmit beamforming
WO2009063328A2 (en) * 2007-10-17 2009-05-22 Marvell World Trade Ltd. State metrics memory reduction in a turbo decoder implementation
US8542725B1 (en) 2007-11-14 2013-09-24 Marvell International Ltd. Decision feedback equalization for signals having unequally distributed patterns
GB0804206D0 (en) * 2008-03-06 2008-04-16 Altera Corp Resource sharing in decoder architectures
US8565325B1 (en) 2008-03-18 2013-10-22 Marvell International Ltd. Wireless device communication in the 60GHz band
US8572470B2 (en) * 2008-03-28 2013-10-29 Nxp, B.V. Memory-efficient storage method: a fast BJCR based decoder implementation scheme
US8761261B1 (en) 2008-07-29 2014-06-24 Marvell International Ltd. Encoding using motion vectors
US8498342B1 (en) 2008-07-29 2013-07-30 Marvell International Ltd. Deblocking filtering
US8345533B1 (en) 2008-08-18 2013-01-01 Marvell International Ltd. Frame synchronization techniques
US8681893B1 (en) * 2008-10-08 2014-03-25 Marvell International Ltd. Generating pulses using a look-up table
JP5196567B2 (ja) * 2008-12-02 2013-05-15 日本電気株式会社 演算装置、復号化装置およびメモリ制御方法ならびにプログラム
US8578255B1 (en) 2008-12-19 2013-11-05 Altera Corporation Priming of metrics used by convolutional decoders
US8520771B1 (en) 2009-04-29 2013-08-27 Marvell International Ltd. WCDMA modulation
EP2302811B1 (en) * 2009-08-18 2013-03-27 Telefonaktiebolaget L M Ericsson (Publ) Soft output viterbi algorithm method and decoder
US8817771B1 (en) 2010-07-16 2014-08-26 Marvell International Ltd. Method and apparatus for detecting a boundary of a data frame in a communication network
US20220073211A1 (en) * 2020-07-17 2022-03-10 The Boeing Company Aircraft buffet detection

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148385A (en) 1987-02-04 1992-09-15 Texas Instruments Incorporated Serial systolic processor
US5208816A (en) 1989-08-18 1993-05-04 At&T Bell Laboratories Generalized viterbi decoding algorithms
US5263026A (en) 1991-06-27 1993-11-16 Hughes Aircraft Company Maximum likelihood sequence estimation based equalization within a mobile digital cellular receiver
US5381425A (en) 1992-03-27 1995-01-10 North Carolina State University System for encoding and decoding of convolutionally encoded data
BE1007183A3 (fr) * 1993-06-18 1995-04-18 Solvay Ureines derivees d'alpha, omega-diaminoacides et procede pour leur preparation.
US5450453A (en) 1994-09-28 1995-09-12 Motorola, Inc. Method, apparatus and system for decoding a non-coherently demodulated signal
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
JPH1124785A (ja) * 1997-07-04 1999-01-29 Hitachi Ltd 半導体集積回路装置と半導体メモリシステム
US6563877B1 (en) * 1998-04-01 2003-05-13 L-3 Communications Corporation Simplified block sliding window implementation of a map decoder
US6343368B1 (en) * 1998-12-18 2002-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding
US6484283B2 (en) * 1998-12-30 2002-11-19 International Business Machines Corporation Method and apparatus for encoding and decoding a turbo code in an integrated modem system
EP1030457B1 (en) * 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
JP3451246B2 (ja) * 1999-03-01 2003-09-29 富士通株式会社 最大事後確率復号方法及び装置
US6754290B1 (en) * 1999-03-31 2004-06-22 Qualcomm Incorporated Highly parallel map decoder
JP3846527B2 (ja) * 1999-07-21 2006-11-15 三菱電機株式会社 ターボ符号の誤り訂正復号器、ターボ符号の誤り訂正復号方法、ターボ符号の復号装置およびターボ符号の復号システム
US6226773B1 (en) * 1999-10-20 2001-05-01 At&T Corp. Memory-minimized architecture for implementing map decoding
US6857101B1 (en) * 1999-12-14 2005-02-15 Intel Corporation Apparatus and method of storing reference vector of state metric
US6477681B1 (en) * 2000-02-07 2002-11-05 Motorola, Inc. Methods for decoding data in digital communication systems
US6477679B1 (en) * 2000-02-07 2002-11-05 Motorola, Inc. Methods for decoding data in digital communication systems
US6856657B1 (en) * 2000-02-10 2005-02-15 Motorola, Inc. Soft output decoder for convolutional codes
US6658071B1 (en) * 2000-02-14 2003-12-02 Ericsson Inc. Delayed decision feedback log-map equalizer
EP1128560B1 (en) * 2000-02-21 2004-01-28 Motorola, Inc. Apparatus and method for performing SISO decoding
DE10012873A1 (de) * 2000-03-16 2001-09-27 Infineon Technologies Ag Optimierter Turbo-Decodierer
JP3514217B2 (ja) * 2000-06-29 2004-03-31 日本電気株式会社 ターボ復号方法及び受信機
US6725409B1 (en) * 2000-06-30 2004-04-20 Texas Instruments Incorporated DSP instruction for turbo decoding
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US6813743B1 (en) * 2000-07-31 2004-11-02 Conexant Systems, Inc. Sliding window technique for map decoders
US6452979B1 (en) * 2000-09-06 2002-09-17 Motorola, Inc. Soft output decoder for convolutional codes
US7234100B1 (en) * 2000-09-28 2007-06-19 Intel Corporation Decoder for trellis-based channel encoding
US6799295B2 (en) * 2001-01-02 2004-09-28 Icomm Technologies, Inc. High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
US6845482B2 (en) * 2001-02-28 2005-01-18 Qualcomm Incorporated Interleaver for turbo decoder
US7200799B2 (en) * 2001-04-30 2007-04-03 Regents Of The University Of Minnesota Area efficient parallel turbo decoding
US6392572B1 (en) * 2001-05-11 2002-05-21 Qualcomm Incorporated Buffer architecture for a turbo decoder
US6885711B2 (en) * 2001-06-27 2005-04-26 Qualcomm Inc Turbo decoder with multiple scale selections
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
JP3549519B2 (ja) * 2002-04-26 2004-08-04 沖電気工業株式会社 軟出力復号器

Also Published As

Publication number Publication date
US6961921B2 (en) 2005-11-01
CN1941637B (zh) 2010-05-12
BR0212645A (pt) 2004-08-24
KR100905982B1 (ko) 2009-07-03
EP1423823A4 (en) 2006-03-22
NO20041357L (no) 2004-04-01
TWI301704B (en) 2008-10-01
CN1554072A (zh) 2004-12-08
EP2159921A2 (en) 2010-03-03
KR20070064678A (ko) 2007-06-21
JP3935471B2 (ja) 2007-06-20
US7181670B2 (en) 2007-02-20
WO2003023709A1 (en) 2003-03-20
CN1941637A (zh) 2007-04-04
KR100887263B1 (ko) 2009-03-06
JP2005503058A (ja) 2005-01-27
EP1423823B1 (en) 2009-08-05
DE60233236D1 (de) 2009-09-17
US8316285B2 (en) 2012-11-20
MY131249A (en) 2007-07-31
KR20040034699A (ko) 2004-04-28
TWI305701B (en) 2009-01-21
ATE438958T1 (de) 2009-08-15
KR20080003013A (ko) 2008-01-04
KR100582051B1 (ko) 2006-05-22
US20030066019A1 (en) 2003-04-03
CA2459383A1 (en) 2003-03-20
EP1423823A1 (en) 2004-06-02
US7908545B2 (en) 2011-03-15
HK1068436A1 (en) 2005-04-29
TW200423549A (en) 2004-11-01
US20110271166A1 (en) 2011-11-03
US20070118791A1 (en) 2007-05-24
US20060005111A1 (en) 2006-01-05
KR20050091792A (ko) 2005-09-15
MXPA04002180A (es) 2004-06-29
EP2159921A3 (en) 2011-11-16

Similar Documents

Publication Publication Date Title
CN1284114C (zh) 操作turbo解码器以决定接收信号的二进制状态的方法与装置
US5267191A (en) FIFO memory system
EP1564893B1 (en) Turbo decoder, turbo decoding method, and operating program of same
US20060026485A1 (en) Turbo decoder, turbo decoding method, and turbo decoding program
US20130117628A1 (en) Self-timed error correcting code evaluation system and method
US20190235834A1 (en) Optimization apparatus and control method thereof
US20050024241A1 (en) Method and apparatus for generating gray code for any even count value to enable efficient pointer exchange mechanisms in asynchronous FIFO's
EP1755228A1 (en) Viterbi decoding apparatus and viterbi decoding method
US20110239098A1 (en) Detecting Data Error
US7519642B2 (en) Parallel computation structures to enhance signal-quality, using arithmetic or statistical averaging
KR20040069344A (ko) 데이터 디코딩 방법, 수신기 및 컴퓨터 프로그램 제품
US7031407B1 (en) Apparatus and method for decoding and trace back of convolution codes using the viterbi decoding algorithm
US6647530B1 (en) Apparatus and method for viterbi decoding
JPH0220123A (ja) 誤り位置発見方法及び装置
CN117609672A (zh) 一种离散数据点拟合曲线改进方法及系统
US20030046659A1 (en) Code generator for viterbi algorithm
CN1374758A (zh) 一种用于turbo码译码器中防止状态度量溢出方法
KR19990032073A (ko) 디지털 티브이의 에러 정정 장치
Elliott Case Study: Viterbi Decoding
JPH0497622A (ja) リードソロモン符号の誤り検出及び訂正装置
JPS63126325A (ja) シ−ケンシヤル復号器
KR20010019289A (ko) 전송에러 검출기의 부분적 가산기

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1068436

Country of ref document: HK

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: 20061108

Termination date: 20150415

EXPY Termination of patent right or utility model