包括可重新配置计数器的可重新配置交织器的利记博彩app

文档序号:7521769阅读:234来源:国知局
专利名称:包括可重新配置计数器的可重新配置交织器的利记博彩app
技术领域
本发明涉及一种可重新配置的交织器,被配置为产生交织地址序列,可配置用于至少两种不同的交织模式。本发明还涉及一种重新配置交织器的方法。本发明还涉及一种对应的计算机程序产品和一种对应的系统。
背景技术
turbo编码包括在很多广播和无线通信标准的物理层中。如标准所规定的,包括在物理层中的turbo解码器包括交织器。turbo码与信道编码方案有关,信道编码方案例如使用无线通信和网络标准中,比如通用移动电信系统(UMTS)、码分多址2000 (CDMA2000)、全球微波互连接入(WiMax)、无线宽带(WiBro)、高速下行分组接入(HSDPA)协议等等。例如,发送器使用turbo编码器将原始数据编码以用于传输,接收器使用turbo解码器将接收到的数据解码。在传输期间可能会发生错误。使用turbo编码器和turbo解码器允许校正错误。无线标准的吞吐量需求在不断增加。新的标准(比如UMTS-LTE)需要超过100Mbps 的峰值吞吐量。Turbo解码器包括两个主要部件,软输入软输出(SISO)解码器和交织器。在执行期间,解码器对所谓的软数据进行操作。软数据给出了与原始发送的数据有关的概率信息。 解码器和交织器在迭代处理中协同工作来校正接收到的数据帧中的错误。例如,首先,解码器校正数据中的少数错误。然后,对该帧进行交织并再次解码。以这种方式,在每次迭代中, 更多的错误会被校正。例如,在 S. A. Barbulescu 禾口 S. S. Pietrobon, ‘‘ Turbo codes :A tutorial ona new class of powerful error correcting coding schemes, Part 1Codestructures and interleaver design" , J. Elec. and Electron. Eng. ,Australia,vol. 19,pp. 129-142, Sep. 1999 ;以及 S. A. Barbulescu 禾口 S. S. Pietrobon, " Turbocodes :A tutorial on a new class of powerful error correcting coding schemes, Part 2 :Decoder design and performance, " J. Elec. and Electron. Eng.,Australia, vol. 19,pp.143-152,Sep.1999 中描述了 turbo解码器的结构和操作。turbo解码器包括两个主要部件,软输入软输出(SISO)解码器和交织器。SISO将数据帧解码,校正一些错误。对该帧进行交织并且再次解码。以这种方式,每次更多的错误被校正。这些迭代重复预定次数,至到没有错误需要校正为止,或者至到满足一些其它预定停止标准为止。该迭代解码仅在数据被交织的情况下工作。交织规则在通信标准中指定并且被设计为以preudo-random方式移动(shuffle)数据。当仅需要支持一个标准时,交织器也可以在专用硬件中实现交织器地址产生。然而,不同的标准指定了变化很大的turbo交织方案。

发明内容
一种支持多个交织模式的方法是将交织模式作为查找表存储在存储器中。该方法具有需要大量存储器的缺点。特别是,支持多种不同块长度的标准很难支持这种方法。另一种支持多个交织模式的方法是为每个交织模式创建专用硬件。虽然专用硬件需要较少的存储器,但是它需要大量的占地面积(footprint)来支持多种不同的交织标准。利用现有的硬件来支持新的标准是不可能的。具有可以被重配为支持大量交织方案的交织器将是有益的。特别地,具有可以被重配为与多个turbo码标准一同使用的交织器将是有益的。本发明提供一种可重新配置的交织器,包括多个计数器,多个计数器中的每个计数器配置有总计数数目和起始值,总计数数目定义了要计数的多个值,起始值定义了从其开始进行计数的值;多个存储器,多个存储器中的每个存储器被配置为从存储器的存储器位置获取值,所述存储器位置由多个计数器中与存储器相关联的计数器指示;以及多个计算元件,被配置为对从多个存储器获取的值进行操作。可重新配置的交织器被配置为产生交织地址序列。交织地址中的下一个交织地址可以通过以下操作来获得递增多个计数器中的至少一个计数器,以及计算元件对从与递增的计数器相关的存储器中获取的至少一个值进行操作。通过重新配置至少一个具有至少一个总计数数字和起始值的计数器,该可重新配置交织器配置为至少两种不同的交织形式之一。通过重新配置计数器来使得与该计数器相关的存储器能从存储器中的不同位置获取不同的值,可以修改交织器的这个行为,因此也可以修改交织器所产生交织地址序列。 这允许高度重用计算元件,从而提供一个可重新配置的交织器,该交织器相对于其配置性具有相对较小的占地面积。在使用期间,可重新配置交织器的多个计数器被配置为对特定数目的值和总计数数目进行计数,并且从特定起始值开始计数。存储器可以在不同存储位置处包含不同值,因此,如果起始值改变,那么从存储器获取的值也会改变。相似地,如果总计数数目改变,则存储器将从更多或更少的存储器位置中获取。可重新配置的交织器产生交织地址序列。典型地,该序列是在一系列周期中产生的,其中在每个周期中获得序列中地址中的一个地址。一个周期可以通过递增一个或者多个或者全部的计数器来开始。因此,与递增的计数器相关联的存储器将获取值。典型地,该值从新的存储器位置获取,因此会与先前从存储器获取的值不同。一种针对灵活交织器不同的方法是使用大小足够大的查找表存储器。然后,能够在处理器上预先计算(比如其上使用交织器的应用的主机处理器)特定交织方案需要的所需的交织地址,以及在turbo解码开始之前将这些值加载到查找表存储器中。这种解决方案的缺点在于每次块大小改变时都需要进行预先计算和加载。处理器需要被要用于完整块的交织地址计算。尤其对较大的turbo块大小,交织地址的计算会花去主机处理器大量的计算时间。此外,需要加载完整块地址,这也意味着turbo解码的开始需要在进行上述操作之前停止,如果块大小规则变化,则解码的吞吐量降低。可重新配置的交织器可以用于产生交织序列。交织器可以使用在任何领域,其中用于对数据序列或者地址等进行交织的交织器是令人期待的。当需要一个或多个高性能,低IC占地面积和高度可重新配置性时,交织器尤其有用。多个计数器可以以硬件来实现。计数器可以包括存储计数器的当前值的寄存器和用于递增计数器的递增装置。递增装置可以包括用于接收要被递增的计数器的信号的输入。例如,递增装置可以接收时钟信号,用于在每个时钟计时标记(tick)递增计数器。递增装置还可以包括用于存储总计数数目和起始值的存储装置。递增装置被配置为递增计数器直到计数了总计数数目个值为止。计数器也可以通过在存储器中存储计数器值来实现。 计数器值由运行在处理器上的软件装置来递增。优选地,多个计数器是独立可重新配置的。多个存储器可以是多个物理上不同的存储器。然而,存储器也可以对应于一个较大物理存储器的不同区域。例如,存储器管理器可以将较大存储器中的存储器区域映射到多个存储器。将单个存储器划分为多个存储器的另一个方法是将存储器划分为多个地址块以及为每个计数器配置一个起始值以使每个计数器在不同的地址块中产生地址。从存储器中由计数器指示的存储器位置获取值可以通过硬件装置执行。例如,获取装置可以与存储器相关联,来从由关联的计数器所指示的存储器位置中获取值。然而, 获取装置也可以通过软件装置实现,获取装置被配置为从存储在由软件装置可访问的位置 (比如存储器或者寄存器)中的计数器中获取值。在实施例中,每个存储器与不同的计数器相关联。在实施例中,单个计数器与多于一个存储器相关联。在实施例中,一个计数器正好与每个存储器相关联。在实施例中,多个计数器与单个存储器关联以从相同的存储器获取多个值。计算元件可以以硬件来实现。计算元件也可以被组织为计算网络。网络中的计算元件在另一计算元件对存储器上的值执行操作之后,直接或间接接收来自于存储器的值。可以使用IC技术进行硬件的实现。在实施例中,多个计数器中的至少一个计数器被配置为在计数了总计数数目个值之后从起始值开始重复计数。计算交织序列所需的值典型地包含副本。为了节省存储器空间,可以对计数器进行编程以重复对重复值加以表示的值。在实施例中,所有的计数器被配置为在计数了总计数数目个值之后从起始值开始重复计数。交织器可以被配置为重复计算相同的交织序列。以这种方式硬件不需重配置即可再次启动,使得解码器能够使用交织器来完成另一叠加。在实施例中,计算元件被配置为接收从两个不同存储器获取的两个值,以及被配置为通过操作两个获取的值来产生值。计算可以通过多个相对简单的元件来执行,相对简单的元件被配置用于小操作。通过将计算网络中的这种元件进行组合,更复杂的计算可以通过它们的组合来实现。例如,被配置为接收两个值的计算元件被配置为通过将两个获取的值相加或相乘来值。其它运算也是可能的,比如异或运算等等。在实施例中,被配置为接收两个值的计算元件被配置为通过将两个获取的值相加来产生值,以及可重新配置的交织器配置为在至少两种不同的交织模式之一中,与包括至少一个零值的存储器相关的计数器被配置用于所述存储器,以仅获取值零。在实施例中,配置来接收两个值的计算元件配置成通过将两个获取的值相乘来产生值,以及可重新配置的交织器配置为在至少两种不同的交织模式其中之一的方式中,与包括至少一个值一(“1”)的存储器相关的计数器被配置用于所述存储器,仅获取值1。
当根据本发明重新配置交织器时,重新配置灵活性的某部分不需要执行当前的交织模式。取而代之关闭计数器和/或与它关联的存储器,计数器可以这种方式配置从存储器获取的值不影响交织序列的其余计算。例如,如果两个存储器连接到一个加法元件,则通过配置使存储器始终产生零 (“0”),来绕过存储器之一的影响。加零对其它值没有影响。例如,如果两个存储器连接到多个乘法元件,则通过配置使存储器始终产生一 (“1”),来绕过存储器之一的影响。乘1对其它值没有影响。在实施例中,总计数数目被设置为1,以及起始值被设置为表示根据需要包含0或 1的存储器中的位置,计数器被配置为在计数了总计数数目个值之后重复其自身。在实施例中,可重新配置的交织器包括至少一个选择元件(也被称作“MUX”)。选择元件被配置为接收选择比特、接收两个值以及根据选择比特输出两个值之一。多个计算元件中的至少一个计算元件被配置为接收选择元件的输出作为输入,或者选择元件被配置为从计算元件接收两个输入值之一。针对至少两种不同的交织模式之一对可重新配置交织器进行配置还依赖于选择比特。为了进一步提高交织器的可配置性,经过计算元件的数据路由可以通过选择元件来修改。例如,如果某计算元件接收两个值的和作为输入,以用于一个交织模式,而接收两个值的乘积作为输入以用于另一交织模式,那么该计算元件就可通过选择元件连接到加法元件和乘法元件。如果交织器被配置用于一种交织模式,则选择元件被配置为转发传送加法结果,当交织器被配置用于另一交织模式时,则选择元件被配置为转发乘法结果。在实施例中,可重新配置的交织器包括缓冲器元件,用于接收值和输出该值来由计算元件操作,以获取交织地址序列中的下一个交织地址。对于某些交织模式来说,序列中的下一值取决于前一个值。缓冲器元件临时存储用于计算序列中下一个地址的计算结果。该缓冲器元件可以被配置为存储用于一次迭代的值,即存储用于计算下一地址的值。缓冲器元件也可以存储多个值。例如,缓冲器元件可以包括先输入先输出缓冲器(FIFO),也被称为队列。在实施例中,可重新配置交织器包括可配置的限制元件。限制元件被配置为接收限制比特和限制值,以及接收限制输入值。对限制比特的一个值,限制元件被配置为使用限制值作为模数对限制输入值执行模运算并进行输出。对限制比特的另一值,限制元件被配置为利用限制值作为限制来对限制输出值执行限制操作,如果限制输入值小于限制值则输出限制输入值。针对至少两种不同的交织模式之一对可重新配置的交织器进行配置还取决于限制比特或限制值。某些交织模式需要模运算或限制操作。这两种操作在某种程度上来说是相似的, 实现了具有较少占地面积的有效的实现方式。例如,为了执行限制操作,可以将输入值与限制值比较,如果限制输入值高于限制值,那么限制单元能够采取一些动作,比如不输出值, 输出0,设置对无效地址等加以表示的信号。额外的可能性是限制输出的比特数目,即,如果产生高于限制值的输出值,那么丢弃输出值的一些数目的比特。为了执行模运算,也可以将输入值与限制值比较,例如,从限制输入值减去模数。将限制输入值与限制值比较的方法可以在模运算和/或限制操作和/或丢弃操作之间共享。在实施例中,使用配置有限制值和操作值的限制元件。操作值配置用于至少三种操作模式之一的限制元件。在一种操作模式下,限制元件使用限制值作为模数来执行模运算。在一种操作模式下,限制元件执行限制操作,如果输入大于限制值,则设置有效比特;如果输入小于或等于限制值,则重新设置有效比特。在一个操作模式下,限制元件执行丢弃操作,如果输入大于限制值,则输出被丢弃了某些数目比特的输入值,如果输入小于或等于限制值,则输出输入。例如,丢弃操作可以通过输入预定数目的最低有效位,或者丢弃预定数目的最高有效位来实现。输出的比特数目是可配置的。在实施例中,限制元件被配置为接收限制比特和限制值,以及接收限制输入值。对于限制比特的一个值,限制元件被配置为使用限制值作为模数,来对限制输入值执行模运算并进行输出。对于限制比特的另一值,限制元件被配置为使用限制值作为限制来对限制输入值执行丢弃操作,如果限制输入值小于限制值,则输出限制输入值,并且输出限制输入值的预定数目最低有效位。交织器可以包括处理器,或者被布置用于与处理器相结合。例如处理器可以预先计算存储器的值,或者递增计数器。处理器可以获得在turbo解码算法中使用的交织地址。 turbo解码器可以以硬件、软件或者它们的结合来实现。根据本发明的交织器可以用于电子设备,尤其是移动电子设备。交织器可以用于计算机。交织器可以完全在专用硬件中实现。交织器可以以软件实现,或者使用专用硬件和通用硬件的组合来实现。本发明还涉及turbo编码器或者解码器,包括前述权利要求中任一项所述的可重新配置的交织器。例如,turbo解码器可以用于移动电话,卫星接收机,机顶有线TV接收机等。交织器可以结合无线和有线接收而使用。交织器也可以用于传输系统(例如,对应于接收以上给出示例的传输系统)的turbo编码器。本发明还涉及一种对交织器进行重新配置的方法。所述方法包括利用总计数数目和起始值配置多个计数器,所述总计数数目定义了要计数的值的数目,起始值定义了从其开始进行计数的值;从多个存储器获取值,所述值通过存储器中的存储器位置获取,所述存储器位置由多个计数器中与存储器相关联计数器指示;对从多个存储器中获取的值进行操作;产生交织地址序列,交织地址序列中下一个交织地址是可通过以下操作来获得的 地址多个计数器的至少一个计数器,和通过计算元件操作从与递增的计数器相关联的存储器中获取的至少一个值。通过利用总计数数目和起始值中的至少一个来重新配置至少一个计数器,可重新配置的交织器被配置用于至少两种不同的交织模式之一。根据本发明的方法可以作为计算机实现的方法在计算机上实现,或者以专用硬件或者以计算机和专用硬件的组合来实现。根据本发明方法的可执行代码可以存储在计算机程序产品中。计算机程序产品的示例包括存储器设备,光存储设备,集成电路,服务器等等。 本发明也可以用于在线软件。在优选实施例中,计算机程序包括当计算机程序在计算机上运行时,适于执行根据本发明的方法所有步骤的计算机程序代码装置。优选地,计算机程序在计算机可读介质上体现。提供一种可重新配置的交织器,被配置为产生交织地址序列,可配置为至少两种不同的交织模式。可重新配置的交织器包括多个可重新配置的计数器。计数器所计数的值数目可配置为它们的起始值。交织器还包括计数器指示存储器位置使得可以获取值的存储器。计算元件依据获取的值计算交织的地址顺序。通过重新配置计数器,交织器可以配置用于不同的交织模式。


参考附图,本发明将进一步以示例的方式详细阐述,其中图1示出了根据本发明的可重新配置交织器的第一实施例的框图,图2示出了可重新配置计数器的框图,图3示出了根据本发明的可重新配置交织器的第二实施例的框图,图4示出了根据本发明的可重新配置交织器的第三实施例的框图,图5示出了根据本发明的可重新配置交织器的第四实施例的框图,图6示出了根据本发明的解码系统的实施例的框图,图7详细说明了 3GPP2交织器,图8详细说明了 UMTS turbo交织器,图9示出了根据本发明的方法的流程图。贯穿整个附图,相同的参考数字表示相似或者对应的特征。图1至6的参考数字列表100可重新配置的交织器111,121可重新配置的计数器112,122 存储器130 计算元件220寄存器210 总计数数目230起始值240 递增装置331,332 计算元件340 选择元件410缓冲器500可重新配置的交织器502,504 存储器506乘法器508比特选择器510,512 存储器514选择元件516 乘法器518 加法器520 选择元件522 限制元件524 缓冲器
526加法器
528存储器
530选择元件
532加法器
534加法器
536限制元件
538缓冲器
600解码系统
602交织器
604控制器
606解码器
608存储器
610可重新配置的装置
612用于写入到存储器的连接
614用于从存储器读取的连接
具体实施例方式虽然本发明允许多种不同形式的实施例,但是这里在附图中示出并详细描述一个或者多个特定实施例,应该理解,本公开应被当作是本发明原理的示例而并非意在将本发明限制于所示和描述的特定实施例。turbo编码为信道编码方案,用于无线广播,通信和网络标准中,例如DVB-SH、 ETSI-SDR、UMTS、CDMA2000、UMTS和UMTS LTE。能够在下面的参考(标准文件)中找到这些包括这里使用的交织方案在内的标准的细节第3代合作伙伴计划。技术规范小组无线接入网络;复用和信道编码(FDD)。技术报告3G TS 25. 212v3. 3. 0草案1,技术规范,2000年6月。卫星服务到手持式设备(SH)在低于3GHz下的成帧结构、信道编码和调制,DVB文档 Alll Rev. 1,2007 年 7 月,以及3GPP TS 25. 212V7. 5. 0 (2007-5)技术规范第3代合作伙伴计划;技术规范小组无线接入网络;复用和信道编码(FDD)(版本7)。不同的标准规定了差异很大的turbo交织方案。以下,将以示例给出少数标准的 turbo 交织方案。图 7 指定了用于 CDMA2000、DVB-SH、ETSI-SDR 和 MediaFIo 的 3GPP2 交织
ο虽然在这种情况下,交织地址的产生是在标准之间共享的,但是不同的标准的确指定了不同的块大小。相关块大小在下表中给出。
权利要求
1.一种可重新配置的交织器,包括多个计数器,所述多个计数器中的每个计数器配置有总计数数目和起始值,所述总计数数目定义要计数的值的数目,起始值定义从其开始进行计数的值;多个存储器,所述多个存储器中的每个存储器被配置为从存储器的存储器位置获取值,所述存储器位置由多个计数器中与所述存储器相关联的计数器指示; 多个计算元件,被配置为对从多个存储器获取的值进行操作; 其中,所述可重新配置的交织器被配置为产生交织地址序列,所述交织地址序列中的下一个交织地址是通过以下操作可获得的递增多个计数器中的至少一个计数器,以及通过计算元件对从与递增的计数器相关联的存储器中获取的至少一个值进行操作;通过利用总计数数目和起始值中的至少一个来重新配置至少一个计数器,将所述可重新配置的交织器配置用于至少两种不同的交织模式之一。
2.根据权利要求1所述的可重新配置的交织器,其中,多个计数器中的至少一个计数器被配置为在计数了总计数数目个值之后,从起始值开始重复计数。
3.根据前述权利要求中任一项所述的可重新配置的交织器,其中,计算元件被配置为接收从两个不同的存储器获取的两个值,并且被配置为通过对两个获取的值进行操作来产生值。
4.根据权利要求3所述的可重新配置的交织器,其中,配置为接收两个值的计算元件被配置为通过将两个获取的值相加或相乘来产生值。
5.根据权利要求4所述的可重新配置的交织器,其中,配置为接收两个值的计算元件,被配置为通过将两个获取的值相加来产生值,以及可重新配置的交织器被配置为,在至少两种不同的交织模式之一中,与包含至少一个零的存储器相关联的计数器被配置用于所述存储器,以仅获取值0 ; 或者配置为接收两个值的计算元件,通过将两个获取的值相乘来产生值,以及可重新配置的交织器被配置为,在至少两种不同的交织模式之一中,与包括至少一个一 (“1”)的存储器相关联的计数器被配置用于所述存储器,以仅获取值1。
6.根据前述权利要求中任一项所述的可重新的配置交织器,包括至少一个选择元件, 其中,选择元件被配置为接收选择比特,接收两个值并且根据选择比特输出两个值之一, 多个计算元件中的至少一个被配置为接收选择元件的输出作为输入,或者选择元件被配置为从计算元件接收两个输入值之一,以及针对至少两种不同的交织模式之一对可重新配置的交织器的配置还取决于选择比特。
7.根据前述权利要求中任一项所述的可重新配置的交织器,包括缓冲器元件,用于接收值和输出所述值,以由计算元件对所述值进行操作,从而获取交织地址序列中的下一个交织地址。
8.根据前述权利要求中任一项所述的可重新配置的交织器,包括可配置的限制元件,该限制元件被配置为接收限制比特和限制值并且接收限制输入值,其中限制元件被配置为,针对限制比特的一个值,使用限制值作为模数对限制输入值执行模运算并进行输出,以及限制元件被配置为,针对限制比特的另一个值,使用限制值作为限制对限制输入值执行限制操作,如果限制输入值小于限制值,则输出限制输入值;针对至少两种不同的交织模式之一对可重新配置的交织器的配置还取决于限制比特或限制值。
9.一种turbo编码器或解码器,包括前述权利要求中任一项所述的可重新配置的交织器
10.一种重新配置交织器的方法,包括配置具有总计数数目和起始值的多个计数器,总计数数目定义要计数的值的数目,起始值定义从其开始进行计数的值,从多个存储器获取值,值是从存储器的存储器位置获取的,所述存储器位置由多个计数器中与所述存储器相关联的计数器指示,以及对从多个存储器获取的值进行操作,产生交织地址序列,交织地址序列中的下一个交织地址是通过以下操作可获得的递增多个计数器中的至少一个计数器,以及通过计算元件对从与递增的计数器相关联的存储器中获取的至少一个值进行操作,通过利用总计数数目和起始值中的至少一个对至少一个计数器进行重新配置,将可重新配置的交织器配置用于至少两种不同的交织模式之一。
11.一种计算机程序,包括计算机程序代码装置,适于当计算机程序在计算机上运行时,执行权利要求10中的所有步骤。
12.根据权利要求11所述的计算机程序,在计算机可读介质上实现。
全文摘要
本发明提供了一种可重新配置的交织器,被配置为产生交织地址序列,可配置用于至少两种不同的交织模式。可重新配置的交织器包括多个可重新配置的计数器111,121。计算器所计数的值的数目可配置为它们的起始值。交织器还包括多个存储器112,122,其中计数器表示存储器位置,使得可以获取值。计算元件130根据获取的值计算交织地址序列。通过重新配置计数器以及可能地改变存储器的内容,交织器可以配置用于不同的交织模式。
文档编号H03M13/27GK102281074SQ201110153798
公开日2011年12月14日 申请日期2011年6月9日 优先权日2010年6月10日
发明者纳赫·恩靳 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1