CN102057580A - 针对多标准的可重新配置的Turbo交织器 - Google Patents

针对多标准的可重新配置的Turbo交织器 Download PDF

Info

Publication number
CN102057580A
CN102057580A CN2009801214560A CN200980121456A CN102057580A CN 102057580 A CN102057580 A CN 102057580A CN 2009801214560 A CN2009801214560 A CN 2009801214560A CN 200980121456 A CN200980121456 A CN 200980121456A CN 102057580 A CN102057580 A CN 102057580A
Authority
CN
China
Prior art keywords
adder
information
memory
specific
turbo
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.)
Pending
Application number
CN2009801214560A
Other languages
English (en)
Inventor
安杰洛·拉法埃莱·狄龙纳多
纳赫·恩靳
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN102057580A publication Critical patent/CN102057580A/zh
Pending 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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • H03M13/2775Contention or collision free turbo code internal interleaver
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2739Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • H03M13/2753Almost regular permutation [ARP] interleaver
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6519Support of multiple transmission or communication standards
    • 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/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA
    • 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/6522Intended application, e.g. transmission or communication standard
    • H03M13/6544IEEE 802.16 (WIMAX and broadband wireless access)

Landscapes

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

Abstract

提供了一种数据处理系统,Turbo解码系统,地址生成器,以及用于重新配置Turbo解码方法的方法。该数据处理系统(101)包括Turbo解码系统(100)。该Turbo解码系统(100)包括电子电路。该电子电路包括:存储器(108),地址生成器(102),以及软输入软输出解码器(106)。该地址生成器(102)操作用于根据交织方案产生地址序列。该地址生成器可以支持多个交织方案。该地址生成器(102)操作用于接收重新配置信息。该地址生成器(102)操作用于在操作使用期间,根据重新配置信息来重新配置交织方案。

Description

针对多标准的可重新配置的Turbo交织器
技术领域
本发明涉及包括Turbo解码系统的数据处理系统。
本发明也涉及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 on a new class of powerful error correcting coding schemes,Part 1:Code structures and interleaver design″,J.Elec.and Electron.Eng.,A ustralia,vol.19,pp.129-142,Sep.1999;以及S.A.Barbulescu和S.S.Pietrobon的″Turbo codes: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解码器结构。并行Turbo解码器结构采用多个SISO解码器,以并行地作用于相同的接收数据帧。使用并行Turbo解码器,典型地使用无冲突交织器。在例如Neeb,C.,Thul,M.J.和Wehn,N,2005的“Network-on-chip-centric approach to interleaving in high throughput channel decoders”,Circuits and Systems,ISCAS 2005,IEEE International Symposium on 23-26May 2005,page(s):1766-1769Vol.2.中描述了无冲突交织器。
发明内容
由于Turbo解码器在计算上和存储上是密集的,所以Turbo解码器大多数在专用硬件中实现。如果需要支持多标准,那么当前在专用硬件块中实现每个交织的地址生成块。
现有技术的一个问题是用于交织的现有地址生成器仅支持单个交织方案。
本发明的目的是提供可以支持多交织方案的结构。
通过根据本发明的数据处理系统实现该目的。根据本发明的所述数据处理系统包括Turbo解码系统。所述Turbo解码系统包括电子电路。所述电子电路包括:存储器、地址生成器、以及软输入软输出解码器。所述存储器操作用于存储第一信息。所述地址生成器操作用于根据交织方案产生地址序列。所述存储器操作用于检索按照地址序列的指示检索第一信息。所述软输入软输出解码器操作用于通过针对所检索的第一信息执行Turbo解码半迭代来产生第二信息。所述存储器操作用于按照地址序列指示存储第二信息。所述地址生成器操作用于接收重新配置信息。所述地址生成器操作用于在操作使用期间,根据重新配置信息来重新配置交织方案。
通过使交织器可重新配置来实现支持多交织方案的目的。例如,电子电路首先可用于一个标准,然后可以重新配置交织器,然后电子电路可以用于第二个标准。以这种方式,只需要一个硬件块来支持两个或多个标准。这就节省了占地面积(footprint)、材料成本和复杂性。
传统的多标准Turbo解码器针对每个所支持的标准需要单独的交织器。这会导致大的芯片区域来支持单独的地址生成器。这也增加了设计时间。此外,如果需要支持新的标准,那么需要从头设计新地址生成电路。在根据本发明的数据处理系统中,可以将重新配置数据的新集合上载,并用于使硬件支持新的交织方案。硬件高成本的重新设计没有必要,这也减少了营销的时间。
电子电路可以以任何适合的形式(例如使用CMOS技术)实现。
Turbo解码器执行一系列半迭代。在每个半迭代期间,完成对信息的处理。首先可以将信息接收作为来自天线的信号,然后对该信号进行解调。信息也可以来自某些其它源,例如,来自存储器。软输入软输出解码器典型地对软数据(即,针对符号的对数似然值)进行运算。
重新配置数据可以包括如表示公式的一个或多个参数、将一些特别硬件开或关的一个或多个参数、计算期间使用的一个或多个模值、用于算法的一个或多个起始值等项。
在根据本发明的系统的优选实施例中,交织方案基于多项式。地址生成器包括多项式求值器(evaluator)。多项式求值器操作用于产生多项式值。多项式求值器包括表示多项式的第一多个参数。重新配置信息包括表示重新配置的多项式的至少一个第二多个参数。
基于多项式的交织方案包括针对连续输入值序列的多项式的求值。基于多项式的交织方案包括线性交织器的重要类别。重新配置数据可以包括一列多项式的系数。多项式的求值可以使用直接的算法,以执行乘法、加法以及自乘。在更高级的实施方式中,多项式的求值可以使用例如在Knuth,D.E.The Art of Computer Programming,Vol.2:Seminumerical Algorithms中所描述的Horner规则。
在根据本发明的本系统的实际实施例中,多项式求值器包括:第三多个加法器、第四多个缓冲器、以及配置单元。线性地对第三多个加法器进行排序,所述第三多个加法器包括第一加法器和最后加法器。第三多个加法器中的每个特定加法器与第四多个缓冲器中的特定缓冲器相关联。第三多个加法器中的每个特定加法器配置用于通过以第一数为模,加上特定第五多个输入产生特定输出。特定第五多个输入包括与特定加法器相关联的特定缓冲器的内容。特定加法器配置用于将特定输出存储在特定缓冲器中。针对第三多个加法器中的每个特定加法器(除了第一加法器)的特定第五多个输入包括与特定前一加法器相关联的特定前一缓冲器的内容。最后的加法器产生最后的输出,所述最后的输出表示该多项式值。配置单元操作用于将表示多项式的第一多个参数中的特定参数、或表示重新配置的多项式的第二多个参数中的特定参数存储在第四多个缓冲器中的每个特定缓冲器中。
使用这种多项式求值器尤其有效,因为它以模的加法取代了乘法。通常,模加法更容易计算。因此,多项式求值将更迅速,又导致更高的吞吐量。可选地,多项式求值需要较为不复杂的硬件,从而输送与使用较为不高级的多项式求值器的硬件相同的吞吐量。
在根据本发明的系统的优选实施例中,地址生成器包括其它存储器和计数器。该其它存储器操作用于存储第七多个数字。Turbo解码系统操作用于在软输入软输出解码器执行Turbo解码半迭代时使计数器递增。其它存储器操作用于根据计数器检索第七多个数字中的特定数字。最后的加法器操作用于接收第八多个输入作为输入;第八多个输入包括特定数字。
添加插入数字的方式增加了电子电路可以处理的交织方案的数量。因此,可以支持更大的标准体系。
在根据本发明的系统的优选实施例中,地址生成器包括其它存储器和计数器。其它存储器操作用于存储第七多个数字。Turbo解码系统操作用于在软输入软输出解码器执行Turbo解码半迭代时使计数器递增。其它存储器操作用于根据计数器检索第七多个数字中的特定数字。第三多个加法器中的特定加法器配置用于接收来自特定的前一加法器的输入、以及接收特定数字。该特定加法器操作用于选择来自特定的前一加法器的输入中的一个、以及特定数字,以用于相加。
通过使来自另一存储器的输入可选,还增加了多项式求值器的灵活性。这导致了可以使用的甚至更大数量的交织方案。
在实际的实施例中,如先前权利要求的任何一个中所述的数据处理系统配置于移动通信设备中。
现代移动通信设备是技术汇集的典型示例。期待现代移动通信设备支持许多类型的标准。同时,移动通信设备也处于减少成本和设计努力的压力之下。因为这些原因,根据本发明的数据处理系统尤其适合在移动通信设备中使用。
根据本发明的Turbo解码系统用于根据本发明的数据处理系统中。
根据本发明的地址生成器用于根据本发明的数据处理系统中。
根据本发明的重新配置Turbo解码方法的方法包括:接收重新配置信息,以及根据重新配置信息在Turbo解码方法的操作使用期间,重新配置交织方案。Turbo解码方法包括:根据交织方案产生地址的序列;按照地址序列的指示从存储器中检索第一信息;通过针对所检索的第一信息执行Turbo解码半迭代来产生第二信息;以及按照存储地址序列的指示存储第二信息。
计算机程序产品包括用于实现根据本发明的重新配置的方法的计算机代码。
附图说明
通过示例,以及参照附图,详细描述了本发明,其中:
图1是示出根据本发明的解码系统的第一实施例的框图。
图2是示出地址生成器的实施例的框图。
图3是示出了Turbo解码系统100的实施例的框图。
图4和5示出了与交织相关的各种公式。
图6示出了与交织器一起使用的存储器中数据字的存储器映射。
图7示出了多项式求值器的实施例。
图8和9示出了在多项式求值器中使用的用于计算参数的公式。
图10示出了多项式求值器的实施例。
图11示出了缓冲器708,704和输出724的第一多个值。
图12示出了与交织器并行使用相关的公式。
图13示出了多项式求值器1300的其它实施例。
图14示出了多项式求值器1400的其它实施例。
图15是表示重新配置Turbo解码方法的方法流程图。
在这些附图中,相同的参考符号表示类似或相应的特征。
参考数字列表
100                    解码系统
101                    数据处理系统
102                    地址生成器
104                    控制器
106                    解码器
108                    存储器
110                    重新配置装置
112                    用于写入存储器的连接
114                    用于从存储器读出的连接
200                    交织的地址生成器
202                    线性地址生成器
300                    基本序列生成器
302                    存储器组
304                    存储器组
306                    存储器组
308                    存储器组
310                    网络
312                    解码器
314                    解码器
316                    解码器
318                    解码器
401                    用于根据“k”和“N”计算子序列长度“w”的
                       公式
402                        整个交织器序列
403                        包括在交织器序列402中的子序列
404                        表示线性交织器的多项式表达
501                        需要在时刻j从存储器检索的一列元素(N=4)
502                        需要在时刻j从存储器检索的一列元素(N=8)
503                        给出线地址和交织地址之间的关系的公式
504                        线地址的属性
505                        计算索引的公式
700                        多项式求值器
702,706,710,714,718    加法器
704,708,712,716,720    缓冲器
722                        输入
724                        输出
726                        配置单元
800                        给出用于计算要由配置单元726置于多项式求
                           值器700的缓冲器中的参数的公式的表格
900                        表格
902                        递推关系
1000                       二次置换多项式
1002                       多项式求值器
1200                       并行交织器的属性
1202                       当N=4时,每个子序列的第一元素
1204                       标识每个子序列的第一元素的表格
1300                       多项式求值器
1302                       计数器
1304                       另一存储器
1400                       多项式求值器
1402                       多路复用器
1502                       接收重新配置信息
1504                       根据重新配置信息重新配置交织方案
1506                   根据交织方案产生地址序列
1508                   从地址序列所指示的存储器中检索第一信息
1510                   通过针对所检索的第一信息执行Turbo解码半迭
                       代来产生第二信息
1512                   存储地址序列所指示的第二信息
具体实施方式
尽管本发明能有许多不同形式的实施例,这些实施例在附图中示出并将在一个或多个特定实施例中进行描述,但是应当理解,本公开应被认为是本发明的原理的示例,并不意在将本发明限制于所示出和所描述的特定实施例。
在图1中示出了数据处理系统101和解码系统100的实施例。
数据处理系统101包括解码系统100。解码系统100包括地址生成器102、控制器104、解码器106、存储器108、以及重新配置装置110。解码系统100适于对Turbo码进行解码。
解码器106典型地是SISO类型的解码器。解码器106通过连接112和114与存储器108相连。解码器106使用连接114,用于响应地址从存储器108进行读取。解码器106使用连接112,用于写入存储器108。为了解释方便,利用不同的参考信号(112和114)在图1中指示用于写入和读取的连接,但是典型地,从解码器106到存储器108的连接将以单个连接实现,所述单个连接可以用于读取和写入二者。例如,这种单个连接可以以总线实现。
解码器106从地址生成器102接收地址,用于从存储器108进行读取。控制器104控制地址生成器102和解码器106。使用重新配置装置110可对地址生成器102进行重新配置。
在运算期间,解码系统100接收包括数据和冗余(即错误修正信息)的帧。该帧存储在存储器108中。解码器106在多个迭代中修正在帧中存在的错误。每个这种迭代包括第一半迭代和第二半迭代。
在第一半迭代中,解码器106使用连接114从存储器108中读取数据。典型地,顺序地完成该读取,并且该读取不一定需要由地址生成器102生成地址。接下来,解码器106继续修正数据。当解码器106以该修正步骤结束时,使用连接112将解码器106产生的修正数据写入存储器108。顺序地进行该写入,并且该写入不一定需要来自地址生成器102的地址。
在第二半迭代中,解码器106使用连接114从存储器108读取数据。从至少部分由地址生成器102提供的交织地址进行该读取。接下来,解码器106继续修正数据。当解码器106以该修正步骤结束时,使用连接112将解码器106产生的修正数据写入存储器108。顺序地完成该写入,并且该写入不一定需要来自地址生成器102的地址。
产生地址和修正数据可以组合。例如,可以产生一个或多个地址,之后进行修正进程,接下来可以产生一个或多个其它地址,之后进行其它修正进程,等等,直到产生所有的地址,以及完成特定半迭代的所有修正步骤。
半迭代的处理典型地花费多个时钟周期。在每个时钟周期,解码器106需要处理来自存储器108的新信息项。尽管这不是必需的;但是解码系统100也可以不使用时钟异步地工作。
以这种方式,在第一半迭代过程中顺序地进行使用连接114的读取,以及根据在第二半迭代过程中由地址生成器102提供的地址,进行使用连接114的读取。注意,可选地,第一和第二半迭代的角色可以互换,即,第一半迭代使用交织地址,以及第二半迭代使用线性地址。
使用所谓的停止规则可以静态地以及动态地确定迭代的次数。通过“Stopping Rules for Turbo Decoders”;TMO progress report 42-142;August 15,2000;A.Matache,S.Dolinar and F.Pollara提供停止规则的概述。例如,可以使用第二部分的停止规则定义。
可以根据以下讨论的其它实施例中任意一个来实现重新配置装置110以及地址生成器102。
在图2中,示出地址生成器102的实施例。
地址生成器102包括交织地址生成器200和线性地址生成器202。
解码包括多个迭代。每个迭代包括第一半迭代和第二半迭代。
在第一半迭代中,地址生成器102使用线性地址生成器202。线性地址生成器202产生地址的线性序列,例如连续地址的序列。按照地址的线性序列所指示的顺序,将存储在存储器108的地址的线性序列处的信息通过解码器106进行SISO解码。
在解码器106完成解码之后,解码后的信息存储在存储器108中线性序列所指示的地址处。
典型地,在解码器106所作用的存储器108中存储的信息被称为先验信息。在第一半迭代中,先验信息表示为Ay1,在第二半迭代中表示为Ay2。
当解码器106完成第一半迭代时所获取的信息被称为Le1。当解码器106完成第二半迭代时所获取的信息被称为Le2。
典型地,Ay1,Ay2,Le1以及Le2表示为对数似然比。这种对数似然性典型地大约1字节大小。更大或更小的对数似然也是可能的。
在第二半迭代中,地址生成器102使用交织地址生成器200。交织地址生成器200产生地址的交织序列。按照地址的交织序列所指示的顺序,通过解码器106对存储在存储器108的地址的交织序列处的信息进行SISO解码。在解码器106完成解码之后,解码后的信息存储在存储器108中交织序列指示的地址处。
以这种方式,SISO解码应用于线性顺序的或交织的符号。当达到预定次数的迭代时,或检测到收敛时,停止迭代,并且获取输出比特。输出比特典型地通过数据处理系统101做出进一步处理。例如,可以将输出比特转发至例如音频子系统,并进行音频处理。
可以看出Ay1是Le2的重新排序,即置换。同样,Ay2是Le1的重新排序。解码器106也可以使用所谓的非本征(extrinsic)信息。
在该实施例中,交织器是线性交织器。这类交织器在诸如UMTS LTE、WiMax、以及WiBro标准的标准中使用。通过图4中的多项式404中所示的多项式表达规定线性交织器。
不是所有的针对多项式系数的选择都会给出无冲突交织器。然而,许多这种选择存在,并在本领域中已知。该实施例提供了在Turbo解码系统100中使用的无冲突线性交织器。
为了产生交织地址的列表,交织地址生成器200针对值0至k-1的每个,对多项式404连续地求值。所产生的列表包括在交织半迭代期间解码器106将要作用的交织地址。在图4的公式402中也给出所产生的列表。
在地址生成器102生成的地址转发至存储器108之前,可以例如通过存储器管理程序(未示出)执行存储器映射步骤。
选择地址生成器102中使用的不同的块大小不被认为是重新配置地址生成器102。而是,术语“重新配置”意味着调整地址生成器102,以使用不同的交织方案。例如,如果交织方案基于多项式,那么可以通过重新配置多项式来完成重新配置。可以仅通过更久地运行多项式和调整模来获得新的块大小;新的块大小不需要重新配置交织方案本身。
由于不同类型的Turbo解码用于不同的标准中,期望具有可以支持多于一种类型的Turbo码的结构。多标准Turbo解码器的挑战之一在于找到交织器,即,可以处理多于一个交织方案的地址生成器102。
在图3中,示出了Turbo解码系统100的实施例。
地址生成器102包括基本序列生成器300。解码系统100包括四个存储器组302,304,306和308。每个存储器组与网络310相连。网络310与四个解码器312,314,316和318相连。解码器312-318典型地是SISO解码器。
Turbo解码系统100的该实施例能够并行与多个解码器工作。令N是解码器的数量。图3示出解码器的数量是4。然而,该数目是一个示例,并不限制本发明。
在并行Turbo解码器中,使用多个解码器(例如SISO块),而不是一个单个解码器106。这些解码器处理一个帧,并且需要同时访问非本征信息。当以线性方式访问存储器时,这可以通过以线性的方式将帧分为“组块(chunk)”来完成。然而针对交织访问,这并不总能完成。
当并行化普通的Turbo解码方案时,由于交织,可能发生两个解码器同时需要访问相同的存储器组。这种情况称为“冲突”。
为了实现交织的并行访问,优选使用无冲突交织器。无冲突交织器允许将地址序列分成多个组块,从而每个组块仅需要访问单个存储器组。在该实施例中,交织器是线性交织器。可以设计这类交织器为无冲突。
利用N个解码器,并行交织器在每个时钟周期中产生N个地址。每个地址与总块的“组块”相对应。这种组块命名为“子序列”。每个子序列有“w”个元素,其中“w”被称为子序列长度。令k是使用中的Turbo代码的块大小。典型地,k是所接收的帧的长度。然后,可以如图4中的公式40所示计算w。
在图4的公式402中指示整个交织器序列。并行交织器必须并行产生图4的公式403中所示的子序列。
例如,如果在时间j处使用4个解码器(即N=4),那么利用图5中的参考符号501指示从存储器检索的元素。例如,如果使用8个解码器(即N=8),则利用图5中的参考符号502指示在时间j处必须访问的元素。
注意,尽管Turbo码一般允许4到8个解码器,但是交织方案将不会必须保持无冲突。
一旦从存储器检索到数据,则需要移动(shuffle)(即置换)该数据,从而每个SISO得到它需要的数据字。控制器104为该移动准备所需移动模式,以及网络310移动所读取的存储器线,从而给每个SISO块呈现正确的元素。以下,将解释这些块的功能和交互。通过重新配置,例如通过重新配置寄存器,可以针对多个标准(例如UMTS LTE和WiMax)使用相同的结构。
在更高级的实施例中,基本序列生成器300仅在每个时钟周期中计算单个地址(即线地址),并且将该线地址发送到存储器组302-308中的每个。存储器组302-308中的每个从线地址指示的存储器组中检索信息项。配置基本序列生成器300以及交织方案,从而从存储器组302-308共同检索的数据的集合是那时在该迭代中解码器312-318所需要的数据的集合。
典型地,在基本序列生成器300对存储器线进行计算之后,将有存储器的一些映射。例如,内存管理程序可以将所计算的存储器线映射至物理地址。典型地,解码器312-318使用所谓的格子结构顺序地处理它们的输入数据,以对卷积码进行解码。
在存储器组的存储器线中,有数据字,即,Ay1或Ay2中的一个信息项,例如一个对数似然。
图5中的公式503定义了线地址。线地址具有等式504中示出的特性。之所以这样是因为模运算用作针对加法和乘法的同态。
根据以上,在时间j处所需要的所有元素具有相同的线地址。现在考虑图6中示出的针对交织器的数据字的存储器映射。以逐列的方式将数据存储在存储器中,从而每个存储器线确切地包括来自每个子序列的一个字。图6中的列与图3中的存储器组302-308相对应。
当通过多个解码器访问线时,必须将该线的元素进行移动,从而给每个SISO正确的元素。这是网络310的角色。必须在时刻t给第j个解码器的元素在存储器线内具有索引。如图5中公式505所示,计算存储器线内的索引。
在运算中,基本序列生成器300生成交织地址生成器200使用的地址序列的子序列,模w。该子序列也被成为“基本序列”。基本序列适于使用交织地址的半迭代。一旦从基本序列生成器300接收地址,存储器组便检索多个信息项。将多个信息项发送至针对多个信息项执行置换的网络310。
在置换之后,4个解码器并行工作,以对帧中的它们的部分进行解码。
如果配置存储器使得可以利用单个读取操作读取单个线,那么存储器组302-308可以实现为单个存储器。在这种情况下,基本序列生成器300仅需要发送线地址一次。
在图7中,示出多项式求值器的实施例。
多项式求值器可以用于图1和图2的实施例,以及图3的并列实施例。在并列实施例中,多项式求值器用于产生基本序列。在图1和2的实施例中,多项式求值器用于产生交织序列自身。
多项式求值器700包括多个加法器,示出为加法器702,706,710,714以及718。多项式求值器700也包括多个缓冲器,示出为缓冲器704,708,712,716以及720。特定缓冲器与每个特定加法器相关联。加法器702,706,710,714以及718分别与缓冲器704,708,712,716以及720相关联。
注意,尽管图7示出了5个加法器,但是这个数目绝不是特定的。可以利用不同数量的表示不同次数的多项式。针对加法器的数量,比5小或者大的数量都是可能的。
多个加法器线性排列,并且多个加法器包括第一加法器(例如718),以及最后一个加法器(例如702)。这就意味着在每个加法器之前(除了第一个加法器)都存在前一加法器,以及在每个加法器之后(除了最后一个加法器)都有下一加法器。
每个特定加法器将其关联的缓冲器的内容作为输入。每个特定加法器(除了第一个加法器)也将与特定的前一加法器相关联的缓冲器的内容作为输入。
第一加法器718将其关联的缓冲器720的内容和置于输入722的常数作为输入。加法器718的输出存储在缓冲器720中。
加法器714是加法器718之后的下一加法器。加法器714将其关联缓冲器716的内容和与前一加法器718相关联的缓冲器720的内容作为输入。注意,在加法器718的结果存储在缓冲器720之前,通过加法器714使用缓冲器720的内容。
使用相同的模式,多个加法器可以跟随加法器714。
最后的加法器702将缓冲器708的内容和缓冲器704的内容作为输入。加法器702的结果存储在缓冲器704中,但是也是多项式求值器的该迭代的最后输出。最后输出出现在输出724。然后,输出可以用作所生成的地址、或所生成的线地址。
在多项式求值开始之前,配置单元726将表示要求值的多项式的特定参数存储在缓冲器704,708,712,716以及720中的每个特定缓冲器中。注意,需要特别地选择参数,从而多项式求值器700给出正确的结果。
在运算期间,在交织半迭代开始处,配置单元726利用起始值填充缓冲器704,708,712,716以及720。此外将另一起始值置于输入722上。所有的加法器以另外的另一值为模,将它们的输入相加。在多项式求值器用于图1或2中的交织器的情况下,加法器以k(即,Turbo码的块大小)为模进行计算。如果多项式求值器用于如图3的实施例中计算基本序列,则加法器以w(即子序列的大小)为模进行计算。
在所有的加法器运行过一次之后,所有的缓冲器接收来自与它们相关联的加法器的新值,之后缓冲器存储新值。在下一个迭代中,计算多项式的下一个值。通过配置单元726不再次配置缓冲器。然而,在输入722上,使用与先前的迭代相同的数字。针对固定的多项式,输入722在整个迭代中保持不变,然而缓冲器定期更新。在所有的加法器再次运行过一次,以及所有的缓冲器更新过一次之后,在输出724处产生新值。以这种方式,迭代多项式求值器,直到顺序地产生所有必要的值。
为了针对多项式求值器而准备要在其中使用的、Turbo解码的下一交织半迭代,缓冲器需要通过配置单元726再次重新设定到它们的初始值。
加法器典型地执行模加法。可以以几种方式完成这种模加法。优选地,以差分模运算(differential modulo operation)实现模加法。针对输入“a”和“b”以及模数“c”定义差分模运算。“a”和“b”需要大于或等于0,并小于“c”。可以通过使用普通算术首先将“a”和“b”相加,以及在该加法给出大于“c”的结果的情况下再减去“c”,来计算“(a+b)mod c”的值。在这种情况下,模加法仅需要至多一个普通加法、一个比较和一个减法。在我们的示例中,上述“c”是k或w。
图8示出表800。表800给出公式来计算要由配置单元726置于缓冲器704、708、712、716以及720中的参数。表800也给出要置于输入722上的数字。每个参数表示为包括多项式404的系数以及与多项式无关的系数的和。在图9的表900中示出了以字母“c”指示的后者系数的值。注意,如果期望更大的多项式,则递推关系902允许计算表900的其它值。
给定特定次数的特定多项式,表800给出配置多项式求值器700所需的参数,用于对特定多项式的求值。表800使用系数“c”,系数“c”的值在表900中给出。从左边数起表900所需要的列的数量等于特定次数。表的行指示寄存器值,在其中使用表常数进行计算。
例如,针对2次多项式,需要行1和2,以及使用至列2的表内容。行1将会用于缓冲器704。列2将会用于缓冲器708。
示为上标的“c”的索引与特定缓冲器相对应。上标索引1,2...分别与缓冲器708,712...相对应。以上标指示的“c”的索引用于针对特定缓冲器添加适合的系数。给定特定的多项式,表800和表900共同给出用于计算需要置于缓冲器708-720中的起始值的算法。
在图10中,示出多项式求值器1002的实施例。
线性交织器的特定类别基于二次置换多项式(QPP)。二次置换多项式是可以图10的公式1000中所示的两个参数描述的次数为二的多项式。QPP应具有多项式描述置换的属性。不是针对参数的所有选择都会产生二次置换多项式。在WWRF/WG4/Subgroup on Channel Coding,Editors:Thierry Lestable和Moshe Ran,Error Control Coding Options for Next Generation Wireless Systems,Section 2.3.2.1.1‘Maximum Contention-Free Permutation Polynomials Interleavers中描述了针对f1和f2以及模数的一些可能的选择。
通过将参数视为适合的选择,以及调整在加法器中使用的模数、以及输入722,可以使在图10中示出的多项式求值器1002基于二次置换多项式1000使用任何线性交织器。以上所引用的文件示出这种类型的交织器具有优良的帧差错率。支持所有的二次置换多项式1000的能力因此是极大的优势。
可以通过配置单元726方便地完成重新配置。例如,通过配置该配置单元726访问不同的参数列表,配置单元726将从该不同的参数列表进行更新。
在多项式求值器1002中,在缓冲器中示出了在交织半迭代的开始要置于缓冲器704和708中的初始值。注意,在第一次迭代之后,尽管加法器706输入上的一个值保持不变,但缓冲器中的值将不同。
在图11中,示出了针对图10的交织器的缓冲器708,704以及输出724的第一多个值。以参考符号1100所指示的列指示时钟周期,在该时钟周期内所示出的缓冲器采用所指示的值。
如果在图3的结构中使用图10的交织器,那么呈现针对网络310的适合的选择。
如果使用4个解码器,即N=4,则必须产生4个子序列。已经选择了系数,以具有图12中公式1200给出的属性。
可以使用第一子序列(即基本序列),并添加特定子序列的第一元素,来计算每个特定的子序列。正如图12中的公式1202,每个子序列的第一元素是子序列长度的倍数w。
标识每个子序列的第一元素仅有两种可能的模式。可以使用图12中的表1204,其中数字x意味着相应子序列的第一元素是x·w.
针对每个块的大小,必须标识两行之一;该模式被称为初始模式。将会通过控制器104使用该信息,以识别在元素成为SISO块的输入之前该元素必须被移动的方式。控制器104发送在表1204中所获取的适合的初始模式,并将初始模式发送至网络310。网络310使用该模式来移动从存储器块302-308检索到的信息。
图13示出了在地址生成器102中使用的、尤其是在基于多项式的地址生成器(例如可以是生成器200或300)中使用的多项式求值器1300的其它实施例。
类似于多项式求值器700,多项式求值器1300包括以与在多项式求值器700中相同的方式连接的多个加法器和多个缓冲器。
然而,多项式求值器1300包括另一存储器1304和计数器1302。另一存储器1304存储多个数字。可以定期地处理计数器,例如计数器可以降低的模4。
另一存储器1304配置用于在计数器1302的控制之下检索多个数字中的一个。典型地,计数器1302是循环计数器。
针对每个新的数据字,Turbo解码系统100使计数器1302递增。
所检索的数字用作最后的加法器702的附加输入。在图13示出的实施例中,其中仅具有一个加法器,加法器702仅具有两个输入。在具有多于一个加法器的多项式求值器的实施例中,最后的加法器将会具有至少3个输入。
通过改变包括缓冲器704的多个缓冲器的初始值,以及改变另一存储器1304的内容,可以重新配置多项式求值器1300。
图13的结构针对WiMax尤其有用。另一存储器1304的结果是:针对多项式的输入的一些值,使用不同的常数项。与仅利用一个多项式严格表示的那些置换相比,这扩展了置换的次数,即,可以使用多项式求值器的交织方案。
图14示出了在地址生成器102中使用的多项式求值器1400的另一实施例。
多项式求值器1400组合了多项式求值器1300和多项式求值器1002。
多项式求值器1400包括多路复用器1402。多路复用器1402接收来自缓冲器708和另一存储器1304的输入。通过选择多路复用器1402使用来自另一存储器1304的输入,可以针对使用多项式求值器1300的交织方案配置该实施例。通过选择多路复用器1402来使用缓冲器708的内容作为输入,多项式求值器1400可以用于使用多项式求值器1002的交织方案。
图15是表示重新配置Turbo解码方法的方法流程图
重新配置的方法的步骤1502,所述方法接收重新配置信息。在步骤1504中,所述方法根据重新配置信息,重新配置交织方案。注意,当Turbo解码系统在操作使用中时,可以进行步骤1504。
Turbo解码方法包括步骤1506:根据交织方案产生地址序列;步骤1508:按照地址序列的指示从存储器中检索第一信息;步骤1510:通过针对所检索的第一信息执行Turbo解码半迭代来产生第二信息;以及步骤1512:按照地址序列的指示存储第二信息。
正如对本领域技术人员显而易见的,步骤的顺序可以不同,或者一些步骤可以并行执行。例如,可以并行(至少部分地)执行步骤1506,1508以及1510。此外,并不是需要一个步骤完全结束,某个其它步骤才能开始。在产生地址序列的一部分后,将会检索信息的一部分。在检索信息的一部分之后,解码将开始。
正如这里的实施例所描述的,可以使用执行以上流程图中广义描述的可以存储在任何适合的电子存储介质的编程指令的程序处理器,来实现本发明。然后,本领域技术人员将理解,可以在不偏离本发明的情况下,以任何数量的变化和许多适合的编程语言实现上述过程。例如,在不偏离本发明的情况下,所进行的特定运算的顺序可以经常变化,可以增加附加运算,或可以删除运算。在不偏离本发明的情况下,可以添加错误获取、改进和变化。这些变化是预期的,且认为是等同的。
使用专用硬件和/或专用处理器可以实现本发明。类似地,通用计算机、基于微处理器的计算机、数字信号处理器、微控制器、专用处理器、习用电路、专用集成电路(ASIC)、和/或专用硬接线逻辑可以用于构建本发明的可选等同实施例。在列举几个装置的权利要求中,这些装置的几个可以体现为硬件的同一项。
本领域技术人员将理解,可以在不偏离本发明的情况下,使用盘存储器以及其它形式的存储器(例如,只读存储(ROM)设备、随机存取存储器(RAM)设备、光学存储元件、磁存储元件、光磁存储元件、闪存和/或其它等同存储器技术)来实现用于实现上述实施例的上述实施例的程序步骤和关联数据。这种可选的存储器设备应该认为是等同的。
尽管结合特定实施例描述了本发明,但是,很明显,根据前述描述,许多选择、修改、置换和变化对本领域技术人员来说显而易见。因此,在权利要求的范围内,本发明包含所有的选择、修改和变化。

Claims (10)

1.一种包括Turbo解码系统(100)的数据处理系统(101),所述Turbo解码系统(100)包括电子电路,所述电子电路包括:存储器(108)、地址生成器(102)、以及软输入软输出解码器(106),其中:
所述存储器(108)操作用于存储第一信息;
所述地址生成器(102)操作用于根据交织方案产生地址序列;
所述存储器(108)操作用于按照所述地址序列的指示检索所述第一信息;
所述软输入软输出解码器(106)操作用于通过针对所检索的第一信息执行Turbo解码半迭代来产生第二信息;
所述存储器(108)操作用于按照所述地址序列的指示存储第二信息;其特征在于:
所述地址生成器(102)操作用于接收重新配置信息;
所述地址生成器(102)操作用于在运算使用期间,根据重新配置信息来重新配置交织方案。
2.如权利要求1所述的数据处理系统(101),其中:
所述交织方案基于多项式;
所述地址生成器(102)包括多项式求值器,所述多项式求值器操作用于产生多项式值;
所述多项式求值器包括表示多项式的第一多个参数;
所述重新配置信息包括表示重新配置的多项式的至少一个第二多个参数。
3.如权利要求2所述的数据处理系统(101),其中:
所述多项式求值器包括:
第三多个加法器、第四多个缓冲器、以及配置单元(726);
对所述第三多个加法器进行线性地排序,所述第三多个加法器包括第一加法器和最后的加法器;
第三多个加法器中的每个特定加法器与第四多个缓冲器中的特定缓冲器相关联;
第三多个加法器中的每个特定加法器配置用于通过以第一数字为模,加上特定第五多个输入来产生特定输出,所述特定第五多个输入包括与特定加法器相关联的特定缓冲器的内容;所述特定加法器配置用于将特定输出存储在特定缓冲器中;
针对第三多个加法器中除第一加法器之外的每个特定加法器的特定第五多个输入包括与特定前一加法器相关联的特定前一缓冲器的内容;
所述最后的加法器产生最后的输出(724),所述最后的输出(724)表示所述多项式值;以及
配置单元(726)操作用于将表示多项式的第一多个参数中的特定参数、或表示重新配置的多项式的第二多个参数中的特定参数存储在第四多个缓冲器中的每个特定缓冲器中。
4.如权利要求3所述的数据处理系统(101),其中所述地址生成器(102)包括另一存储器(1304)和计数器(1302);其中:
所述另一存储器(1304)操作用于存储第七多个数字;
所述Turbo解码系统(100)操作用于在软输入软输出解码器(106)执行Turbo解码半迭代时使计数器(1302)递增;
另一存储器(1304)操作用于根据计数器(1302)检索第七多个数字中的特定数字;
最后的加法器操作用于接收第八多个输入作为输入,所述第八多个输入包括特定数字。
5.如权利要求3所述的数据处理系统(101),其中所述地址生成器(102)包括另一存储器(1304)和计数器(1302),其中:
另一存储器(1304)操作用于存储第七多个数字;
所述Turbo解码系统(100)操作用于在软输入软输出解码器(106)执行Turbo解码半迭代时使计数器(1302)递增;
所述另一存储器(1304)操作用于根据计数器(1302)检索第七多个数字中的特定数字;
第三多个加法器中的特定加法器配置用于接收来自特定的前一加法器的输入、以及接收特定数字;
所述特定加法器操作用于选择来自特定的前一加法器的输入中的一个、以及特定数字,以用于相加。
6.如先前权利要求的任何一个中所述的数据处理系统(101),配置于移动通信设备中。
7.一种Turbo解码系统(100),用于如权利要求1-5中任一所述的数据处理系统(101)中。
8.一种地址生成器(102),用于如权利要求1-5中任一所述的数据处理系统(100)中。
9.一种重新配置Turbo解码方法的方法,所述重新配置包括:
接收重新配置信息;以及
根据所述重新配置信息,在所述Turbo解码方法的操作使用期间,重新配置交织方案;
所述Turbo解码方法包括:
根据所述交织方案产生地址序列;
按照所述地址序列的指示从存储器中检索第一信息;
通过针对所检索的第一信息执行Turbo解码半迭代,来产生第二信息;以及
按照所述地址序列的指示存储所述第二信息。
10.一种计算机程序产品,包括用于实现如权利要求9中所述的方法的计算机代码。
CN2009801214560A 2008-06-09 2009-06-09 针对多标准的可重新配置的Turbo交织器 Pending CN102057580A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP08104307 2008-06-09
EP08104307.7 2008-06-09
PCT/IB2009/052448 WO2009150612A1 (en) 2008-06-09 2009-06-09 Reconfigurable turbo interleaver for multiple standards

Publications (1)

Publication Number Publication Date
CN102057580A true CN102057580A (zh) 2011-05-11

Family

ID=41066319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801214560A Pending CN102057580A (zh) 2008-06-09 2009-06-09 针对多标准的可重新配置的Turbo交织器

Country Status (4)

Country Link
US (1) US20110087949A1 (zh)
EP (1) EP2297859A1 (zh)
CN (1) CN102057580A (zh)
WO (1) WO2009150612A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508802A (zh) * 2011-11-16 2012-06-20 刘大可 基于并行随机存储器的数据写入、读取方法、装置及系统
CN104539294A (zh) * 2014-12-26 2015-04-22 复旦大学 一种用于Turbo码和LDPC码译码器的地址生成器

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2010111027A (ru) * 2010-03-24 2011-09-27 ЭлЭсАй Корпорейшн (US) Устройство и способ для высокоскоростного расчета таблиц перемежения для нескольких стандартов беспроводной связи
US20120030544A1 (en) * 2010-07-27 2012-02-02 Fisher-Jeffes Timothy Perrin Accessing Memory for Data Decoding
WO2014089830A1 (en) * 2012-12-14 2014-06-19 Nokia Corporation Methods and apparatus for decoding
CN112751572B (zh) * 2021-01-07 2023-03-14 西安电子科技大学 四路并行LTE基4Turbo交织地址生成方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1954503A (zh) * 2004-05-18 2007-04-25 皇家飞利浦电子股份有限公司 Turbo解码器输入重新排序

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1320715B1 (it) * 2000-10-19 2003-12-10 Cselt Centro Studi Lab Telecom Modulo generatore di circuiti per la decodifica di codiciconvoluzionali, metodo per la generazione di tale tipo di circuito e
EP1401108A1 (en) * 2002-09-12 2004-03-24 STMicroelectronics N.V. Electronic device avoiding write access conflicts in interleaving, in particular optimized concurrent interleaving architecture for high throughput turbo-decoding
GB2409133A (en) * 2003-12-11 2005-06-15 Motorola Inc Interleaver for a turbo encoder and decoder
US8218518B2 (en) * 2006-06-09 2012-07-10 Samsung Electronics Co., Ltd. Interleaver interface for a software-defined radio system
US8327057B1 (en) * 2007-04-16 2012-12-04 Juniper Networks, Inc. Ordering write bursts to memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1954503A (zh) * 2004-05-18 2007-04-25 皇家飞利浦电子股份有限公司 Turbo解码器输入重新排序

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MYOUNG-CHEOL SHIN 等: "Processor-Based Turbo Interleaver for Multiple Third-Generation Wireless Standards", 《IEEE COMMUNICATIONS LETTERS》 *
RIZWAN ASGHAR 等: "Dual Standard Re-configurable Hardware Interleaver for Turbo Decoding", 《IEEE 3RD INTERNATIONAL SYMPOSIUM ON》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508802A (zh) * 2011-11-16 2012-06-20 刘大可 基于并行随机存储器的数据写入、读取方法、装置及系统
CN104539294A (zh) * 2014-12-26 2015-04-22 复旦大学 一种用于Turbo码和LDPC码译码器的地址生成器

Also Published As

Publication number Publication date
WO2009150612A1 (en) 2009-12-17
EP2297859A1 (en) 2011-03-23
US20110087949A1 (en) 2011-04-14

Similar Documents

Publication Publication Date Title
JP5768022B2 (ja) メモリコントローラ、記憶装置、誤り訂正装置および誤り訂正方法
RU2235424C2 (ru) Перемежитель турбокода, использующий линейные конгруэнтные последовательности
CN107370490B (zh) 结构化ldpc的编码、译码方法及装置
AU2004302428A1 (en) Apparatus and method for coding/decoding block low density parity check code in a mobile communication system
CN102870330B (zh) 编码设备、纠错码配置方法及其程序
CN102057580A (zh) 针对多标准的可重新配置的Turbo交织器
KR20010080157A (ko) 스테이트 머신 기반 인터리버를 가지는 코딩 시스템
KR20130029080A (ko) 소거 없는 플래시 메모리의 다중 프로그래밍
WO2011109084A1 (en) Quasi-cyclic ldpc encoding and decoding for non-integer multiples of circulant size
JPWO2010073922A1 (ja) 誤り訂正符号化装置、復号装置、符号化方法、復号方法、及びそのプログラム
JP5840741B2 (ja) 複数のコード・タイプをプログラマブル復号する方法および装置
CN101371448B (zh) 快速编码和解码方法及相关设备
CN100508405C (zh) 提高Turbo码译码速度的并行译码方法及译码装置
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
JPWO2006087792A1 (ja) 符号化装置及び符号化方法
JP2009171347A (ja) 演算ユニット、エラー訂正復号回路及び誤り位置多項式の演算方法
JP5488472B2 (ja) 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
CN110022158B (zh) 一种译码方法及装置
CN102281074A (zh) 包括可重新配置计数器的可重新配置交织器
US9281844B2 (en) Configurable and low power encoder for cyclic error correction codes
Yue et al. A unified forward error correction accelerator for multi-mode Turbo, LDPC, and polar decoding
JP5510447B2 (ja) 復号装置および復号方法
Lee et al. Implementation of parallel BCH encoder employing tree-type systolic array architecture
CN103888224A (zh) 一种用于LTE系统Turbo码内交织的并行实现方法及装置
Khan et al. A real time programmable encoder for low density parity check code as specified in the IEEE P802. 16E/D7 standard and its efficient implementation on a DSP processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110511