用于使用数据窗口译码数据的方法

申请号 CN02826298.0 申请日 2002-12-20 公开(公告)号 CN100488060C 公开(公告)日 2009-05-13
申请人 NXP股份有限公司; 发明人 S·沙尔庞捷;
摘要 在现有的UMTS系统中,大量 存储器 和 能量 被耗费在暂存数据以用于解码上。为了解决该问题,本 发明 提供一种使用数据窗口的方法,该窗口包括要被写入和要被读取的数据并具有一个尺寸。该方法的特征在于包括步骤:-把当前的数据窗口按第一地址方向写入到唯一的缓存器(BUF),第一地址方向是与写入先前数据窗口的地址方向相反的方向,当前窗口的所述写入是在先前数据窗口的数据没有被写入到的地址处开始,所述缓存器(BUF)具有的长度大于数据窗口的最大尺寸(MAX_SIZE),-从唯一的缓存器(BUF)中从等于同一个先前数据窗口的最后写入地址的读取地址来读取先前数据窗口的数据,所述读取是与当前的数据窗口的所述写入同时地并且以同一个第一地址方向进行的。
权利要求

1.一种用于译码数据的方法,所述方法使用数据窗口,窗口(w) 包括要被写入和要被读取的数据以及具有一个尺寸,其特征在于,所述 方法包括以下步骤:
-把当前的数据窗口按第一地址方向写入到唯一的缓存器(BUF), 所述第一地址方向是与写入先前数据窗口的地址方向相反的方向,所述 当前窗口的所述写入是在先前数据窗口的数据没有被写入到的地址处开 始,所述缓存器(BUF)具有的长度大于数据窗口的最大尺寸 (MAX_SIZE),
-从所述唯一的缓存器(BUF)中从等于同一个先前数据窗口的最后 写入地址的读取地址来读取所述先前数据窗口的数据,所述读取是与当 前的数据窗口的所述写入同时地并且以同一个第一地址方向进行的。
2.如权利要求1中要求的方法,其特征在于,缓存器(BUF)具有 的长度等于数据窗口的最大尺寸加1。

说明书全文

发明领域

本发明涉及用于使用数据窗口译码数据的方法,窗口包括要被写 入和要被读取的数据以及具有一个尺寸。

这样的方法具体地可被使用于使用UMTS标准的任何系统或某些 卫星通信中。

发明技术

在使用UMTS标准的系统中,当数据被这样的系统的接收机接收 时该数据被译码。这样的接收机包括在集成电路中的译码器,它被使 用来在译码所述数据期间检测和纠正某些错误。为此,同时也被称为 涡轮译码器的该译码器包括两个软输入-软输出译码器,也称为SISO。 每个SIS0译码器使用内在的信息,以及也使用来自其他SISO译码器 的外部信息,SISO译码器使用三个计算器α、β和λ。为了做到这一 点,使用滑动窗口的系统。它是基于把数据切割成数据窗口。这样的 系统被应用到由所述三个计算器使用的数据。

第一计算器α通过使用前一个数据计算结果的数据。

第二计算器β通过使用下一个数据计算结果的数据。

第三计算器λ通过使用第一和第二计算器的结果加上输入数据计 算结果的数据。

滑窗的原理显示于图1。所述的图显示具有某些窗口W的数据的 尺寸K,LW是最后的窗口尺寸。正如我们可看到的,第一计算器α 具有线性的数据流。然而,输入数据和计算的结果数据必须被存储, 因为第二计算器β产生一个后向数学运算对象。这意味着,它的输入 和第一计算器α结果数据必须被临时存储在两个分开的缓存器BUF1 和BUF2中。这样,在将进入的数据存储在第一缓存器期间,可以读 取第二缓存器,以计算β结果。例如,第一窗口的第一进入的数据0_W-1 是1、2、3和4。它们被写入(WR_BUF1)到第一缓存器BUF1。然后, 第二数据窗口W_2W-1连同第一计算器α的结果α1、α2、α3和α4 一起被写入(WR_BUF2)到第二缓存器BUF2,而从缓存器BUF1读取 (RD_BUF1)第一数据窗口,以及第二计算器β使用读取的数据4、3、 2和1以便输出它的结果β1、β2、β3和β4。然后,第三计算器λ 将能够只在写入第一数据窗口后才传递结果,例如这里是β4、4和α 4。

这个解决方案的一个主要问题是,在集成电路中,缓存器必须存 储约64个56比特的字。由于需要两个缓存器,这意味着必须存储2*64 个56比特的字。所以,在包括所述涡轮译码器的集成电路中,占用 太多的存储器用于这些数据的临时存储,以及花费太多的能量,这导 致生产的高成本。

发明概要

因此,本发明的目的是提供用于使用数据窗口译码数据的方法, 窗口包括要被写入和要被读取的数据以及具有一个尺寸,其达到有效 的译码,而不用占用太多的存储器来用于临时存储所述数据。

为此,提供一种方法,包括以下步骤:

-把当前的数据窗口按第一地址方向写入到唯一的缓存器,所述 第一地址方向是与写入先前数据窗口的第二地址方向相反的方向,所 述当前窗口的所述写入是在先前数据窗口的数据没有被写入到的地址 处开始,所述缓存器具有的长度大于数据窗口的最大尺寸,

-从所述唯一的缓存器中从等于同一个以前的数据窗口的最后的写 入地址的读取地址来读取所述以前的数据窗口的数据,所述读取是与当 前的数据窗口的所述写入同时地并且以同一个第一地址方向进行的。

正如我们将详细地看到的,这样的方法使得能够减小如只使用一 个缓存器的方法为了临时存储所述数据所占用的存储器,所述缓存器 大于窗口尺寸。而且,当前的数据窗口的写入不是从与以前窗口的写 入地址相同的写入地址处开始的。这意味着,以前的数据窗口的读取 和当前的数据窗口的写入至少移位一个地址。因此,我们可以同时把 数据A写入到缓存器和读取数据B,这具有赢得时间的优点。

在优选实施例中,缓存器具有的长度等于数据窗口的最大尺寸加 1。这个实施例具有大大地减小临时存储所占用的存储器的优点。

附图简述

当参照附图阅读以下的详细说明时将明白本发明的附加目的、特 性和优点,其中:

图1显示使用按照现有技术的使用滑窗原理的数据流时间图,

图2是在理想的数据序列期间由按照本发明的方法使用的缓存器 中要写入的和读取的数据的示意图,

图3显示在理想的数据序列期间由按照本发明的方法使用的缓存 器中所存储的每个数据的时间寿命,

图4是在经典的数据序列期间由按照本发明的方法使用的缓存器 中要写入的和读取的数据的示意图,

图5显示在经典的数据序列期间由按照本发明的方法使用的缓存 器中所存储的每个数据的时间寿命,

图6是使能按照图2到5的本发明的方法的地址计数器的结构, 以及

图7显示图6的地址计数器的结构,它是按照本发明的方法得到 正确的数据序列所需要的。

发明详细描述

在以下的说明中,本领域技术人员熟知的功能或结构不作详细描 述,因为这会用不必要的细节遮蔽本发明。

本发明涉及一种用于使用滑窗译码数据的方法。所述方法具体地 被使用于集成电路内的涡轮译码器,所述集成电路被嵌入在UMTS通 信系统中,以及更具体地,嵌入在接收机中,例如移动电话的接收机。

当接收机接收某些数据时,因为传输,在接收的数据中可能有某 些错误。

接收机通过它的涡轮译码器必须检错并纠错。为此,涡轮译码器 包括SISO模块(软输入软输出)和用于临时数据存储的唯一的缓存 器BUF。每个SISO译码器通过使用内在信息以及也使用来自其他SISO 译码器的外部信息互相合作,SISO译码器使用三个计算器α、β和λ。

为了管理每个SISO译码器在一起的合作,涡轮译码器使用被施 加到由三个计算器α、β和λ使用的数据上的数据滑窗的系统。滑窗 的系统是基于把进入的数据切割成数据窗口;数据窗口w具有尺寸 SIZE,它可以是与其他窗口w不同的。

窗口w的数据被临时存储在唯一的缓存器BUF中。所述缓存器BUF 具有的长度大于数据窗口的最大尺寸MAX_SIZE。这也意味着,缓存器 BUF包括多个地址,其大于数据窗口的最大尺寸。缓存器BUF的长度 是所述缓存器内可以存储的多个字,一个字包含一定数目的比特。

优选地,缓存器具有的长度等于数据窗口的最大尺寸加1,即, 它的长度等于被包括在窗口中的数据的最大数目+1。它也意味着,缓 存器BUF包括多个地址,其等于数据窗口的最大尺寸+1。加上的地 址是额外字存储器地址WORD。

图2显示缓存器BUF和要被读取D_RD和写入D_WR到所述缓存器 BUF的数据序列的窗口w。在本例中,数据序列是理想序列,即,要 被读取和写入的数据的数目在每个窗口w期间是相同的,换句话说, 所有的窗口w具有相同的尺寸SIZE.

在本例中,一个窗口w包含至多4个数据,即,窗口的尺寸等于 4。所以,这里,缓存器BUF具有的长度等于:(4+1)*(一个数据内的比 特数),以及在所述缓存器内地址的数目是5。

缓存器BUF具有底部地址B_ADD、顶部地址T_ADD、和正好在顶 部地址T_ADD后被加上的额外字存储器地址WORD。它们分别相应于被 显示为@0、@3和@4的地址.

实际上,在标准集成电路的通常的涡轮译码器中,它的长度是64 个字+1个56比特。

在第一步骤ST1期间,包含4个数据1、2、3和4的第一窗口w1 被写入到缓存器BUF中,从缓存器的其中一端开始,这里是从底部地 址B_ADD开始.没有数据要被读取。

然后,在步骤ST2,要被写入的当前窗口是第二窗口w2,它包含 数据5、6、7和8;而以前的窗口w1必须以相反的次序被读取,即, 数据4、3、2和1要被读取.当前的窗口w2的写入和以前的窗口w1 的读取以相同的地址方向同时进行,所述地址方向是与以前的数据窗 口w1的写入的地址方向相反的方向。在这种情形下,地址方向从缓 存器BUF的项部地址进行到底部地址。

此外,以前的数据窗口w1的读取从等于同一个以前的数据窗口w1 的最后写入地址的读取地址开始。这意味着,它在这里从顶部地址 T_ADD=@3开始。这具有读取正确的数据的优点。

而且,当前的数据窗口w2的写入在其中以前的数据窗口w1的数 据没有写入到的地址处开始。这意味着,它在这里在额外字存储器地 址WORD=@4处开始。因此,数据5从额外字存储器地址WORD写入, 而数据4的读取从顶部地址T_ADD开始。这具有避免由要被写入的数 据擦除要被读取的数据的优点。

然后,我们读取3和我们写入6(4被擦除);我们读取2和我们写 入7(3被擦除);我们读取1和我们写入8(2被擦除)。因此,由于这 个额外字存储器地址,由于在所述写入和所述读取之间的同时性,我们 避免用我们需要写入的数据覆盖我们需要读取的数据。而且,由于从与 以前的数据窗口的写入相反的方向写入和读取,我们也避免擦除我们需 要读取的某些数据。

在步骤3(ST3),包含数据9、10、11和12的第三窗口w3是当前 要被写入的数据;以及以相反次序要被读取的数据是以前的第二窗口w2 的数据,即,以前已保存的8、7、6和5。正如我们看到的,所述新的 写入和读取也是从与以前的数据窗口w2的写入相反的方向进行。以前 的第二数据窗口w2的读取从所述以前的第二窗口w2的写入所使用的最 后的写入地址,即从地址@1开始,而当前的第三窗口w3的写入从在其 中以前的第二窗口w2的数据没有写入到的地址处,即从地@0处开始。

因此,数据9从底部地址B_ADD=@0被写入(数据1被擦除),而 数据8的读取从地址@1开始。然后,我们读取7和我们写入10(8被 擦除);我们读取6和我们写入11(7被擦除);我们读取5和我们写入 12(6被擦除)。

在步骤4(ST4),只有以前的第三窗口w3的四个数据要以相反的 次序被读取,即,以前被保存的12、11、10和9。

该读取从等于所述第三窗口的最后的写入地址的读取地址,即从地 址@3开始;以及该读取是以与所述以前的第三窗口w3的写入相反的方 向进行的。它是从顶部地址T_ADD=@3进行到底部地址B_ADD=@0。

图3显示对于同一个例子被存储的每个数据的时间寿命。

在Y轴上,我们具有缓存器BUF的地址,该缓存器BUF的地址由 底部地址B_ADD=@0开始到额外字存储器地址WORD=@4,所述存储 器地址等于窗口w的最大尺寸MAX_SIZE+1。在X轴上,我们具有读 取和写入所有进入的数据所占用的时间T。

我们以下面划线的黑体和斜体字表示被写入的数据,我们以黑体表 示读取的数据,其他的是留在缓存器BUF中的写入的数据和在时间T 期间未读取或擦除的数据。

也呈现出窗口。一个窗口w显示要被写入D_WR的数据和要被读 取D_RD的数据。

在T0,我们以要被写入的第一窗口w1开始。在T0,我们在地址 @0写入数据1;在T1,我们在下一个地址@1写入数据2;在T2,我 们在下一个地址@2写入数据3;在T3,我们在地址@3写入该第一窗 口w1的最后数据4。

然后,要被写入的当前的数据窗口是第二窗口w2,以及第一窗口 w1是要被读取的以前的窗口。因此,并行地,在T4,我们写入数据5, 我们读取数据4;在T5,我们写入数据6,我们读取数据3;在T6, 我们写入数据7,我们读取数据2等等...,直至最后的窗口w3被读取, 所述读取在T15结束。

可以指出,缓存器BUF可以具有更大的长度,例如长度等于6, 即,地址从@0到@5。在这样的情形下,当前窗口的写入例如可以在地 址@5开始。

正如我们看到的,由于按照本发明的方法,我们赢得许多时间, 因为读取和写入是并行地进行的。

在图2和3上显示的这个例子是对于理想序列的。但通常,我们 接收的不是理想数据序列,而是经典的数据序列。经典数据序列具有 的最后的窗口w小于其他窗口,即,它包含较小数目的数据。换句话 说,最后窗口的尺寸SIZR不同于其他窗口的尺寸。

图4所示的例子正是这种情形。最后窗口w3只包含3个数据, 而其他窗口包含4个数据。

正如我们还将看到的,如果我们实施上述方法的步骤,我们将能 够正确地管理这样的最后窗口。

在这样的窗口的情形下,我们需要跳转到适当的地址。所以,通 过从在同一个以前的数据窗口处写入的最后地址开始读取这样的最后 窗口,正如前面提到的,这个最后窗口的读取也可以正确地进行。这 里,读取地址在地址@2开始。

图5显示对于经典序列被存储的每个数据的时间寿命。正如我们 看到的,开始是与对于理想序列解释的情形相同的。但在T11,不再 写入,而是读取以前的第二窗口w2的数据5。然后在T12,我们开始 读取以前的第三窗口w3。跳转到适当的地址以读取数据11,而不是 数据6。

可以指出,根据本发明的方法足以适用于理想序列以及经典序 列。

为了达到上述方法的实施方案,必须有带有并行输入端的计数 器。因此,涡轮译码器包括控制器CTRL,它管理这样的计数器,正如 在图6上看到的。所述控制器CTRL包括两个模块,第一模块WR_CNT_ADD 管理写地址计数器,以及第二模块RD_CNT_ADD管理读地址计数器。

第一模块WR_CNT_ADD优选地具有四个输入信号。第一输入信号 ENA_WR是用于使能写入的信号,因此用于使计数器能够工作;第二输 入信号INC_DEC_CTRL是用于递增或递减写地址计数器的地址的信号。 第三输入信号RESET_WR_ADD是用于复位写地址计数器和用于使能装 载写地址计数器的信号。第四输入信号NRESET是用于复位所有信号 的信号。

第二模块RD_CNT_ADD优选地具有四个输入信号。第一输入信号 ENA_RD是用于使能读取的信号,因此用于使计数器能够工作;第二输 入信号INC_DEC_CTRL是用于递增或递减读地址计数器的地址的信号。 它是与用于第一模块的相同的信号。当写入和读取被同时应用时,它 使得能够以同一个地址方向写入和读取(从缓存器BUF的顶部到底部 地址,或反之亦然),正如以前描述的。

第三信号LOAD_RD_CNT是用于使能装载读地址计数器的信号。第 四输入信号NRESET是与第一模块的第四信号相同的信号。

当能够装载读地址计数器时,读地址计数器取写地址计数器的内 容。因此,以前的数据窗口的最后的写入地址可被装载到读地址计数 器,用于读取所述以前的数据窗口。

图7显示对于达到用于写和读地址计数器的正确的序列的所需要 的进度表。所使用的例子是前面使用的经典的序列(最后窗口的尺寸 不同于其他窗口的尺寸)。

在T1,写地址计数器被复位。在T2,使能写入(ENA_WR=1),以 及写地址计数器的装载从地址WR_@=0开始,它是缓存器BUF的底部 地址B_ADD,正如我们在前面看到的。应当指出,第二信号INC_DEC_CTRL 被设置为0。这意味着,启动递增。所以,地址以递增方式被装载。 因此,地址1被装载;然后地址2被装载。在T3,用于使能装载读地 址计数器的第三信号LOAD_RD_CNT被启动。然后,在T4,地址3被装 载到写地址计数器。这个地址3相应于在图5的例子中取的顶部地址 T_ADD。然后,在T5,使能读取(ENA_RD=1),以及启动递减 (INC_DEC_CTRL=1)。

第三信号LOAD_RD_CNT允许达到在第一数据窗口w1的末端把写 地址计数器的最后的地址装载到读地址计数器,这里它是地址3。应 当指出,这样的地址的装载比起加增量或减增量具有优先权。它是在 时间T5后,与把地址WR_@=4装载到写地址计数器并行进行的,该地 址相应于在图5的例子中看到的额外字存储器附加的地址WORD。当前 的数据窗口w2的写入和以前的数据窗口w1的读取同时进行,它们的 相应的地址分别为从4递减到1和从3递减到0。

在T6,启动用于使能装载读地址计数器的第三信号LOAD_RD_CNT。 它允许在第二窗口w2的末端把写地址计数器的最后地址装载到读地 址计数器,这里它是地址WR_@=1。在T7,启动加增量(INC_DEC_CTRL= 0)。在T8,禁止写入(ENA_WR=0)。最后的地址2已经被装载到写地 址计数器中。在T9,使能装载读地址计数器(LOAD_RD_CNT=1)。

在T10,启动减增量(INC_DEC_CTRL=1)。在第三窗口w3的末端, 把写地址计数器的最后地址装载到读地址计数器;这里它是地址2。 然后,读取第三窗口w3(这是最后的窗口)的数据。

因此,由于这个地址计数器的实施方案,可以有效地管理理想的 或经典的数据序列。

应当理解,本发明并不限于上述的实施例,以及可以作出改变和 修正,而不背离在附属权利要求书中限定的本发明的精神和范围。在 这方面,作出以下结束语。

应当理解,本发明并不限于上述的UMTS应用。它可通过使用用 于使用数据窗口译码数据的涡轮译码器在任何应用内使用。

应当理解,按照本发明的方法不限于上述的实施方案。

如果硬件软件的单一项目可实现多个功能的话,藉助于硬件或 软件的项目或二者,有许多实施按照本发明的方法的功能的方式。不 排除硬件或软件或二者的项目的组合实现一个功能,因此,形成单一 功能,而不用修正按照本发明的源译码的方法。

所述硬件或软件项目可以以几种方式被实施,诸如藉助于连接线电子电路或藉助于适合于分别编程的集成电路。集成电路可被包含 在计算机或接收机中。在第二种情形下,接收机包括适配于进行当前 窗口的写入的写入装置,和适配于进行以前窗口的读取的读取装置, 正如以前描述的,所述装置是如上所述的硬件或软件项目。

集成电路包括一组指令。因此,被包含在例如计算机编程存储器 或译码器存储器中的所述指令组可使得计算机或译码器实现译码方法 的不同的步骤。

指令组可通过读取数据载体(诸如,例如盘)被装载到编程存储 器。业务提供者也可以使得指令组通过通信网(诸如,例如互联网) 可获得。

在以下的权利要求书中任何参考符号不应当被认为限制本权利要 求。将会看到,动词“包括”和它的动词变化的使用不排除除了在任 何权利要求中规定的以外的任何其他步骤或部件的存在。在部件或步 骤前面的词“一个”并不排除多个这样的部件或步骤的存在。

QQ群二维码
意见反馈