CN1930782A - 用于交织器存储器和去交织器存储器的地址生成器 - Google Patents

用于交织器存储器和去交织器存储器的地址生成器 Download PDF

Info

Publication number
CN1930782A
CN1930782A CNA2005800077002A CN200580007700A CN1930782A CN 1930782 A CN1930782 A CN 1930782A CN A2005800077002 A CNA2005800077002 A CN A2005800077002A CN 200580007700 A CN200580007700 A CN 200580007700A CN 1930782 A CN1930782 A CN 1930782A
Authority
CN
China
Prior art keywords
address fragment
address
fragment
compared
memory
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.)
Granted
Application number
CNA2005800077002A
Other languages
English (en)
Other versions
CN1930782B (zh
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN1930782A publication Critical patent/CN1930782A/zh
Application granted granted Critical
Publication of CN1930782B publication Critical patent/CN1930782B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/2742Irregular interleaver wherein the permutation pattern is not obtained by a computation rule, e.g. interleaver based on random generators
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明提供了用于交织器存储器和去交织器存储器的地址生成器。还提供了用于生成对交织器存储器进行寻址的地址值的方法和装置。生成要附加最高有效位的连续地址片段。只把生成的地址片段中可能会超过最大许可值的一小部分与最大许可值进行比较。如果被比较的地址片段超过最大许可值,则丢弃该被比较的地址片段。如果被比较的地址片段未超过最大许可值,则接受该被比较的地址片段。

Description

用于交织器存储器和去交织器存储器的地址生成器
技术领域
本发明涉及用于生成对存储器进行寻址的地址值的方法。更具体地,所述地址值是在对存储器进行寻址需要它们时而生成的。本发明还涉及用于生成对存储器进行寻址的地址值的装置。
背景技术
交织/去交织用来使突发性(bursty)通信信道表现为具有拟独立差错的通信信道。通过对要传输的数据进行交织,由突发性信道引起的差错群在去交织之后被分解,从而分布在较宽范围的接收码元上。当接收到传输的数据并对其进行去交织时,可以使用适于对独立差错进行修正的码来恢复数据。
在交织器/去交织器中,使用存储器来存储要交织/去交织的数据块。存储器可能很大,因此优选的是在运行过程中(on-the-fly)(即,当需要该地址时)计算用于对存储器进行寻址的地址模式(address pattern)。另选地,可以把所述地址保存在表中,这需要额外的存储容量。
可以使用LFSR(线性反馈移位寄存器)技术来计算地址模式。典型地,LFSR适于生成最大长度或PN(伪噪声)序列。
可以通过生成附加有一个或若干个最高有效位(MSB)的地址片段(address fragment)来提供地址值。然而,这种地址生成技术具有这样的问题,即,当附加了MSB时,生成的地址可能在许可地址范围之外。如果生成的地址值在范围之外就只好丢弃它,并且作为代替必须生成新的地址值。为了确保所有生成的地址都在范围之内,必须对所有生成的地址值与最大许可值进行比较。因而,进行了大量不必要的比较,这需要不必要的时间和处理能力。
在DVB(数字视频广播)标准ETSI EN300744,v1.4.1,ETSI,January2001中,限定了从指标q到指标H(q)的码元交织。q和H(q)都由Nr位组成。H(q)的计算包括生成Nr-1位的字Ri,Ri是Ri’(LFSR的状态)的变换形式。
针对i=0,1,……Mmax-1(其中Mmax是LFSR输出的最大长度序列的长度)运行用于码元交织的算法,将导致生成所有有效的H(q)值,q=0,1,……Nmax-1,其中Nmax是所需交织序列的地址数量。由于Mmax>Nmax,所以对于每一个生成的H(q),必须检查H(q)是有效的,即,H(q)小于Nmax
H(q)的最高有效位不依赖于Ri,而是针对每个i进行轮换(toggle)。因为最大长度序列包含LFSR的奇数个状态(2Nr-1-1),所以在交织器模式重复自身之前,PN序列运行了两次。
在上述版本的DVB标准中,限定了两种主要模式,8k模式(Nr=13)和2k模式(Nr=11)。另外,设想了4k模式(Nr=12)。可以把不同的模式概括为:
  模式   Nr   Mmax   Nmax
  2k4k8k   111213   204840968192   151230246048
必须要重新计算大约35%((Mmax-Nmax)/Nmax)的循环迭代H(q),这是因为计算的值在范围之外(H(q)≥Nmax)。这导致执行时间的对应增加。然而,因为在现有技术中在所有生成的循环迭代中都对H(q)进行比较,所以进行了许多不必要的比较,这导致非最佳执行时间和能量消耗。
同样的问题也出现在去交织过程中,其中存储器的映射是H(q)的逆。
上面针对DVB标准描述的内容也适用于其它交织方案,其中,向生成的地址片段附加一个或若干个MSB将生成可能不在范围之内的地址值,其中必须检查生成的地址值不超过最大许可值。
US-B1-6314534公开了用于交织器中的地址生成的方法和装置。使用随机地址片段和位颠倒地址片段来生成地址。这种地址生成器的问题是,每个时钟周期都要进行确定地址在范围之内的比较。因而,由于对范围之内的地址进行了比较,所以执行时间将不必要的长。
US-B1-6549998公开了用于针对每次迭代都生成有效交织地址的交织器。地址生成器包括两个用于对平行查询表进行寻址的计数器。进行量值比较来选择恰当的输出。这种地址生成器的问题在于,它包括两个计数器,这使其变得复杂。此外,在每个时钟周期都进行确定生成的地址在范围之内的比较。而且,由于该地址生成器包括两个用于存储临时地址值的寄存器,所以需要不必要的存储器容量。
发明内容
本发明的一个目的是提供用于减少基于附加了至少一个最高有效位(MSB)地址片段来生成地址值所需的处理容量的方法和装置。
本发明的目的由一种用于生成对存储器进行寻址的地址值的方法来实现。根据该方法,生成附加了至少一个最高有效位的连续地址片段。只对可能会生成范围之外的地址值的一小部分地址片段与最大许可值进行比较。如果被比较的地址片段超过最大许可值,则丢弃该被比较的地址片段。然而,如果被比较的地址片段未超过最大许可值,则接受该被比较的地址片段。
在给定交织序列的预定数量个地址值下比较的所述一小部分地址值依赖于MSB的数量。如果只附加了一个MSB,则所述一小部分可以例如是1/2。
如果必要,在比较之前或比较之后对地址片段进行序列变换。
被比较的地址片段之后的地址片段要么与被比较的地址片段在同一时钟周期中生成,要么响应于丢弃或接受被比较的地址片段而生成。
可以利用反馈函数来生成被比较的地址片段之后的下一个或再下一个地址片段。
也可以通过用于生成对存储器进行寻址的地址值的装置来实现本发明的目的。所述装置包括具有预定数量个寄存器的移位寄存器,所述移位寄存器用于生成最大长度伪噪声(PN)序列,即,连续地址片段。比较器装置适于对生成的地址片段中的一小部分与最大许可值进行比较。所述被比较的地址片段可能生成范围之外的地址值。选择器装置适于在被比较的地址片段超过最大许可值时,丢弃该被比较的地址片段,而在相反情况下,接受该被比较的地址片段。
可以提供轮换装置来把作为最高有效位的至少一位附加给任一地址片段或变换地址片段,以生成所述地址值。
所述装置可以通过包括要由处理器运行的可读程序装置的软件来实现。另选地,所述装置可以实现为专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
一种用于对数据块进行交织的交织器也实现了本发明的目的,该交织器包括交织器存储器和根据本发明的用于生成对该存储器进行寻址的地址值的装置。
一种用于对数据块进行交织的去交织器也实现了本发明的目的,该去交织器包括去交织器存储器和根据本发明的用于生成对该存储器进行寻址的地址值的装置。
一种用于传送数据的通信设备也实现了本发明的目的,该通信设备包括存储器和根据本发明的用于生成对该存储器进行寻址的地址值的装置。
另外,一种实现在计算机可读介质上的软件程序产品也实现了本发明的目的,该软件程序产品包括用于在由处理器运行所述产品时执行根据本发明的方法的指令。
在从属权利要求中限定了本发明的进一步的实施例。
本发明的一个优点是,与现有技术中已知的地址生成方案相比,减少了所需的处理容量。更具体地,上述的ETSI标准中提出的用于生成地址值的算法,与根据本发明的算法相比,要执行多得多的比较,导致了非最佳处理时间和能量消耗。因而,本发明导致更快的执行时间,并且由于消除了不必要的操作而减少了能量消耗。
应当强调,当术语“包括”在本说明书中使用时,用来指存在规定的特征、整数、步骤或组件,而不排除存在或增加一个或更多个其它的特征、整数、步骤、组件或它们的组合。
附图说明
根据下面参照附图对本发明的详细描述,本发明的其它目的、特征和优点将得以呈现,在附图中:
图1是连接到移动通信网络的移动终端的示意图;
图2是图1中的移动终端的通信组件的框图;
图3是根据本发明的交织器的框图;
图4是根据本发明的地址生成器的第一实施例的框图;
图5是根据本发明的地址生成器的第二实施例的框图;
图6是根据本发明的地址生成器的第三实施例的框图;以及
图7是根据本发明的用于生成地址值的方法的流程图。
具体实施方式
图1例示了实现为移动电话的移动终端1,作为包括根据本发明的交织器的通信设备的一个示例。本发明不仅适用于移动终端,而且也可以并入到任何电子通信设备(如便携式通信设备、移动无线电终端、寻呼机、通信装置、电子管理器、智能电话、机顶盒、电视机,或者移动电视接收器)中,所述电子通信设备需要发送和/或接收交织数据。本发明还可以实现在经由电缆或光纤连接进行通信的电子装置中,并且不限于无线通信。
移动终端1包括用于用户交互的用户接口,该用户接口例如可以包括麦克风2、扬声器3、小键盘4以及显示屏5。移动终端1还包括通信接口,该通信接口包括用于经由无线通信链路11与移动通信网络10或其它电子装备进行通信的天线6。该通信接口还可以适于与其它网络(如用于数字视频广播(DVB)的网络)进行通信,其中,移动终端1适于直接与DVB网络进行通信。用于与移动通信网络或DVB网络进行通信的通信接口还可以用来只接收DVB传输。也就是说,移动终端1并非必需连接到网络(以使该网络获知该移动终端的存在),因为DVB传输是广播的,因此通信只是单向的。
图2更详细地例示了终端1的通信接口。该通信接口包括通信单元,该通信单元例如包括接收器/发送器(Tx/Rx)单元21、调制器/解调器单元22、以及与移动终端1的其它单元相连接的编码器/解码器单元23。编码器/解码器单元23包括根据本发明的交织器/去交织器30。另选地可以把交织器/去交织器30设置为独立单元。此外,该通信接口也可以适于经由电缆或光纤连接进行通信。
图3更详细地例示了交织器/去交织器30。交织器/去交织器30包括适于存储预定数量个数据块的交织器/去交织器存储器31,每个数据块都具有特定数量个位。存储器31形成具有预定数量行和列的阵列。数据块被以第一顺序读取到交织器/去交织器存储器31中,并被以不同于第一顺序的第二顺序从该存储器中读出。生成用于对所述阵列的每个存储器位置进行寻址的地址值。为了形成要传输的数据块,根据通常被构造为具有类随机特性的交织模式对存储器位置进行寻址。形成的块因而包括拟独立交织位。在传输之后,对传输的块进行去交织,即,把其读取到去交织存储器中,在该去交织存储器中恢复原始的数据块。因而,传输期间因突发性信道而引起的位差错会扩展。可以利用纠错方案来修复所述差错。在下文中,为简化标记,我们将参照交织器和去交织器存储器或者简单的存储器及其功能性。然而,本发明同样与去交织器相关。
交织器地址生成器40连接到存储器31,并且确保生成恰当的地址值。可以把生成的地址值提供给诸如中央处理单元的控制器32,控制器32将对存储器进行寻址并获取用于传输或由终端1的其它单元使用的要转发的位。另选地,把地址生成器40的输出直接转发给存储器31,存储器31将输出存储在对应于特定地址值的存储器位置处的数据。
图4更详细地例示了根据本发明的用于生成地址值的装置或者地址生成器100的实施例。地址生成器100例如可以实现为专用集成电路(ASIC)、现场可编程门阵列、硬件布线逻辑,或者地址生成器100可以通过要由终端1的处理器执行的软件指令来实现。地址生成器100包括预定数量(Nr-1)个生成包括预定数量个位的地址片段所需的寄存器110a-110d。寄存器110a-110d的每个输入端子都连接到复用器120a-120d的输出端子。每个寄存器110a-110d的输出端子连接到复用器120a-120d的第一输入端子。而且,寄存器110a-110d的输出端子通过总线可操作地连接到第一变换单元130a。寄存器110a-110d的输出共同形成下面的向量表示地址片段R’i。第一变换单元130a适于把该地址片段变换成下文中的第二向量Ri表示的变换地址片段。可以根据不同的方案来执行变换。在ETSI EN300744,v1.4.1,ETSI,January 2001中公开了一种用于对地址片段R’i进行变换以满足DVB标准的方案,在此通过引用将其包含进来。
寄存器110a-110d的输出端子还连接到第一地址片段计算单元140a,第一地址片段计算单元140a适于利用地址计算或反馈函数g(x),基于当前地址片段R’i来生成连续的下一个地址片段R’i+1。在上述的ETSI标准中提出了一种用于利用g(x)来计算下一个地址片段R’i+1的方案。然而,只要能生成下一个地址片段,也可以采用其它方案。第一地址片段计算单元140a的输出端子通过总线可操作地连接到第二变换单元130b。第二变换单元130b适于根据与针对第一变换单元130a讨论的原理相同的原理,把下一个地址片段R’i+1变换成下一个变换地址片段Ri+1
第一地址片段计算单元的输出端子还连接到第二地址片段计算单元140b。第二地址片段计算单元140b适于利用地址计算函数g(x),根据所述下一个地址片段R’i+1来计算再下一个地址片段R’i+2。第二地址计算单元140b的输出端子可操作地连接到每个复用器120a-120d的第二输入端子,在此可以把二进制字R’i+2的值反馈给寄存器110a-110d。
在同一时钟周期内,当前地址片段R’i、下一个地址片段R’i+1以及再下一个地址片段R’i+2都可用。因而,在每个复用器120a-120d的输入端子处,可以使用每个寄存器110a-110d的当前值,和由第二地址计算单元140b所确定的再下一个值。在下一时钟周期中把当前值或再下一个值中的任一个输入给寄存器,这将在下面进行描述。
第一变换单元130a和第二变换单元130b的输出端子连接到选择器单元150。选择器单元150适于基于从比较器160接收到的控制信号M,选择当前变换地址片段Ri或下一个变换地址片段Ri+1,这两个变换地址片段在同一时钟周期都是可用的。
轮换单元170适于向来自选择器150的输出串接或附加一个或若干个MSB(最高有效位)。根据上述标准,如果从选择器中输出当前地址片段Ri,则附加1。如果从选择器150中输出下一个地址片段Ri+1,则附加0。从而,生成了用于对存储器31进行寻址的完整地址值H(q)。
本发明不限于作为MSB的单个位。可以向变换地址片段附加一个或若干个位来生成地址值。然后,轮换单元适于在若干个值之间轮换MSB,所述若干个值中的一些将生成范围之外的地址值。根据附加的MSB的数量,仅必须比较生成的地址值中的一小部分,这将在下面进行描述。如果附加了一个MSB,则每隔一个的地址值可能在范围之外。然而,如果附加了例如两个MSB,则根据Nmax,所述一小部分可以是1/4、1/2、或3/4。在多于一个MSB的情况下,也可能需要多于两个地址片段计算单元140a、140b。更具体地,可能需要多达2(MSB的数量)个地址片段计算单元。此外,比较器可以连接到多于一个地址片段计算单元。更具体地,比较器可以耦合到这些地址片段计算单元中的所述一小部分。
地址片段R’i可以根据上述标准而取以下值:
i=0,1:  R’i[Nr-2,Nr-3,……,1,0]=0,0,……,0,0
i=2:     R’i[Nr-2,Nr-3,……,1,0]=0,0,……,0,1
2<i<Mmax{R’i[Nr-3,Nr-4,……,1,0]=R’i-1[Nr-2,Nr-3,……,1];
           在2k模式下:R’i[9]=R’i-1[0]R’i-1[3]
           在8k模式下:R’i[11]=R’i-1[0]R’i-1[1]
           R’i-1[4]R’i-1[6]}
根据本发明,应当注意,对于上述标准,地址值可能仅对于奇数(即,i为奇数)移位寄存器值(即,当附加1作为MSB时)在范围之外。根据图4的实施例,变换单元130a、130b的输出Ri和Ri+1,即,当前和下一个变换地址片段,始终小于或等于Nmax。例如,对于8k模式,变换单元130a、130b的输出包括12位,即,变换地址片段的最大许可值是4095,不管它是奇数还是偶数变换地址值。附加0作为MSB将不改变变换地址片段的值,因此所得到的地址将不在范围外。然而,附加1作为MSB将生成4096到8191之间的地址值,其中的2144个地址值(8191-6048+1)在所需的范围0到6047之外。因而,只需要确定要附加1作为MSB的变换地址片段是否在范围之内,即,当仅附加一位作为MSB时,只对每隔一个的地址片段进行比较。因此,比较器160适于确定当前变换地址片段是否在范围之外,即,Ri在针对MSB而调节时是否小于或等于Nmax。为了满足DVB标准,比较器160适于根据所用模式(2k、4k或8k模式)来确定是否Ri<488、976、或1952(6048-4096=1952)。应当注意,对于所有的三种模式可以使用同一比较函数,因为1952=2×976=2×2×488。在上述示例中,确定变换地址片段的值是否小于1952。即,如果附加1作为MSB,则具有值1951的变换地址片段是将生成范围内的地址值的最大地址片段。
如果Ri在范围之内,则比较器160向选择器150输出带有信息的控制信号M,以输出被比较的变换地址片段Ri。而且,比较器160输出由轮换单元170接收到的轮换控制信号,该轮换单元170附加1作为Ri的MSB。此外,比较器160输出在复用器120a-120d的第三输入处接收的移位寄存器控制信号E。如果复用器120a-120d接收到控制信号E,则在寄存器110a-110d中保持寄存器的当前值。在下一时钟周期内,比较器160指示选择器150输出下一个地址片段Ri+1,而不进行任何比较,并指示轮换单元附加0作为Ri+1的MSB。
在输出下一个地址片段Ri+1之后的时钟周期内,以再下一个地址片段R’i+2对寄存器110a-110d进行更新,并且i递增2。
如果被比较的变换地址片段在范围之外,则比较器160向选择器150输出带有信息的控制信号M,以输出下一个变换地址片段Ri+1。而且,比较器160指示轮换单元170附加0作为下一个变换地址片段Ri+1的MSB。此外,当地址片段在范围之外时,不保持寄存器110a-110d的值,而是在下一时钟周期内对其进行更新。
重复对每隔一个地址片段进行比较、输出或丢弃被比较的地址值、以及输出下一个地址值的过程,直到迭代了所有的i值为止。
因而,根据图4的实施例,在每个时钟周期中都生成正确的地址值。此外,仅在必要时而不是对每个数据都进行比较。从而,减少了用于生成有效地址值的处理时间和处理需求,这节省了功率。
图5例示了根据本发明的用于生成地址值的装置200的第二实施例。用相同的标号指示与图4的实施例中的组件相对应的组件。在图5的实施例中,在连续的时钟周期内生成当前地址片段R’i和下一个地址片段R’i+1。在第一时钟周期内,可从寄存器110a-110d获得当前地址片段,并由单个变换单元130a对其进行变换。对于每隔一个,即,奇数号生成的变换地址片段,比较器260适于根据与上述相同的原理来确定变换地址片段是否在范围之内。对于每个偶数号变换地址片段,比较器260适于确认变换单元130a的输出而不进行任何比较。
如果当前变换地址片段Ri是奇数号并且被确定在范围之内,则比较器260将指示轮换单元170附加1作为MSB。而且,当地址值在地址生成器输出处可用时,比较器可以例如向控制器32发出数据可用信号。然后,比较器适于用第一地址片段计算单元的输出对寄存器110a-110d进行更新。因而,每个寄存器110a-110d将包括用于下一个地址片段的值。在下一时钟周期内,将生成下一个偶数号变换地址片段,并且将生成下一个偶数地址值(具有0作为MSB),而不进行任何比较。
如果当前变换地址片段Ri是奇数号并被确定在范围之外,则在生成新的地址值之前,比较器260将不发出数据可用信号。因而,在当前时钟周期内将不生成地址值。在随后的时钟周期中,将生成下一个偶数号变换地址片段。然后,比较器260不进行任何比较而直接指示轮换单元170附加0作为MSB,并发出数据可用信号。
图6例示了根据本发明的地址生成器300的第三实施例。用相同的标号指示与图4的实施例中的组件相对应的组件。在图6的实施例中,根据与针对图4描述的原理相同的原理来生成当前、下一个以及再下一个地址片段。不同之处在于,在图6的实施例中,比较器360适于确定当前(奇数号)地址片段是否要生成变换地址片段,因而生成可能在范围之外的地址值。因而,比较器360具有哪个地址片段可能生成范围之外的变换地址片段的知识。可以把这种地址片段存储在比较器360的内部存储器361或寄存器中。对生成的当前地址片段与存储器361中存储的地址片段值进行比较,以检查当前变换地址片段是否在范围之内。如果是,则比较器指示选择器150输出该当前变换地址片段,并指示轮换单元170附加1作为MSB。然而,如果比较器360确定当前地址片段在范围之外,则将丢弃当前地址片段。然后,比较器将指示选择起输出下一个(偶数号)变换地址片段而不进行任何比较,并指示轮换单元附加0作为MSB。
在上述实施例中,例如由控制器32分别处理使得H(0)=0、H(1)=2Nr-1以及H(2)<=2Nr-2的前三个地址值R’0=0、R’1=0、R’2=1,这是因为预先得知所得地址在范围之内。
此外,在上述实施例中,对生成的地址片段进行变换。然而,如果设置寄存器来生成可以直接附加MSB以生成地址值的地址片段,则可以不必对地址片段进行变换。而且,如果设置寄存器来直接生成地址值,则也可以不必附加MSB。
图7例示了根据本发明的用于生成对存储器31进行寻址的地址值的方法的一个实施例。在第一步骤400中,通过对前三个地址片段进行处理来对过程进行初始化。
在步骤401中,把当前(奇数号)地址片段(除了在当前奇数号地址片段是R’3时的第一周期内之外,其是从前一周期起的再下一个地址片段,)加载到寄存器中,而在步骤402中,生成下一个(偶数号)和再下一个地址片段。如果需要,在步骤403中对当前地址片段和下一个地址片段进行变换。在步骤404中,确定奇数号变换地址片段是否在范围之内。如果步骤404中的结果为“是”,则在步骤405中把1作为MSB附加给在步骤403中变换地址片段。在步骤406中,保持寄存器的当前值。然后,在步骤407中输出所生成的当前(奇数号)地址值。
如果步骤404中的结果为“否”,则过程进行到步骤408,在此把0作为MSB附加给下一个(偶数号)变换地址片段。然后,在步骤409中输出下一个地址值。
在步骤410中,确定是否已生成所有可能的地址值。如果没有,则过程返回到步骤401。否则,过程结束。
针对多个步骤对根据本发明的方法进行了描述。根据具体的实施例,某些步骤对于执行根据本发明的方法并非是必需的。例如在本发明的所有实施例中都可以不执行变换。此外,也可以按不同的顺序来执行某些步骤。当需要再下一个地址片段时,例如可以在步骤401中生成再下一个地址片段。
上面按照适合于生成对交织器存储器进行寻址的地址值而对本发明进行了描述,使得以交织的顺序从存储器中读取按线性顺序写入存储器中的数据。然而,本发明也适合于生成用于对去交织器存储器进行寻址的地址值,使得按线性顺序从存储器中读取以交织的顺序写入存储器中的数据。在这种情况下,用于生成地址值的映射过程是H(q)的逆。
上面针对特定实施例对本发明进行了描述。然而,除了上面描述之外的其它实施例同样可以落入本发明的范围内。可以在本发明的范围内提供与上述方法步骤不同的通过硬件或软件执行所述方法的方法步骤。可以按除上述之外的其它组合来组合本发明的不同特征和步骤。本发明仅受所附的专利权利要求限制。

Claims (34)

1、一种用于生成对存储器(31)进行寻址的地址值的方法,该方法包括生成多个地址片段的步骤,其特征在于,包括以下步骤:
仅对生成的地址片段中的一小部分与最大许可值进行比较。
2、如权利要求1所述的方法,其中,对每隔一个的地址片段进行比较。
3、如权利要求1或2所述的方法,该方法进一步包括以下步骤:
如果被比较的地址片段超过最大许可值,则丢弃该被比较的地址片段;和
在相反情况下,则接受所述被比较的地址片段。
4、如任一前述权利要求所述的方法,该方法进一步包括以下步骤:
对生成的地址片段进行变换,
其中,在所述仅对生成的地址片段中的一小部分与最大许可值进行比较的步骤之前或之后,对要被比较的地址片段进行变换。
5、如任一前述权利要求所述的方法,该方法进一步包括以下步骤:
把作为最高有效位的至少一位附加到任一地址片段或变换地址片段。
6、如任一前述权利要求所述的方法,其中,所述被比较的地址片段是要附加1作为最高有效位的奇数号地址片段。
7、如任一前述权利要求所述的方法,其中,响应于丢弃或接受被比较的地址片段而生成偶数号地址片段。
8、如权利要求1到6中的任何一项所述的方法,该方法包括以下步骤:
在第一时钟周期内至少生成要被比较的奇数号地址片段以及随后的偶数号地址片段;
如果丢弃所述被比较的奇数号地址片段,则在第一时钟周期内输出所述偶数号地址片段;
如果接受所述被比较的奇数号地址片段,则在第一时钟周期内输出所述被比较的奇数号地址片段并保持移位寄存器的寄存器的值;以及
在第一时钟周期之后的第二时钟周期内输出所述偶数号地址片段。
9、如任一前述权利要求所述的方法,该方法包括以下步骤:
生成下一个奇数号地址片段;和
把所述下一个奇数号地址片段输入到移位寄存器的寄存器(120a-120d)中。
10、如权利要求8或9所述的方法,其中,利用反馈函数(g(x))来生成所述下一个偶数号地址片段和下一个奇数号地址片段。
11、一种用于生成对存储器(31)进行寻址的地址值的装置(100,200,300),该装置包括用于生成多个地址片段的装置(110a-110d,140a,140b),其特征在于包括:
比较器装置(160,260,360),其适于仅对生成的所述多个地址片段中的一小部分与最大许可值进行比较。
12、如权利要求11所述的装置,其中,所述比较器适于对每隔一个生成的地址片段进行比较。
13、如权利要求11或12所述的装置,该装置进一步包括选择器装置(150),该选择器装置(150)适于在被比较的地址片段超过最大许可值时,丢弃所述被比较的地址片段,而在相反情况下,则接受所述被比较的地址片段。
14、如权利要求11到13中的任何一项所述的装置,该装置进一步包括适于对地址片段进行变换的变换装置(130a,130b),该变换装置被设置在所述比较器装置(160,260,360)之前或之后。
15、如权利要求11到14中的任何一项所述的装置,该装置进一步包括轮换装置(170),该轮换装置(170)适于把作为最高有效位的至少一位附加到任一地址片段或变换后的地址片段,以便生成所述地址值。
16、如权利要求10到13中的任何一项所述的装置,其中,所述被比较的地址片段是要附加1作为最高有效位的地址片段。
17、如权利要求11到16中的任何一项所述的装置,其中,所述用于生成地址片段的装置(110a-110d,140a)适于响应于丢弃或接受所述被比较的地址片段而生成下一个偶数号地址片段。
18、如权利要求11到16中的任何一项所述的装置,其中,所述用于生成地址片段的装置包括:
包括预定数量个寄存器(110a-110d)的移位寄存器,其适于在第一时钟周期内生成要被比较的地址片段,
地址片段计算装置(140),其适于基于所述要被比较的地址片段,在第一时钟周期内生成下一个偶数号地址片段;
所述选择器装置(150)适于在丢弃被比较的地址片段时,在第一时钟周期内响应于第一控制信号(M)而输出所述偶数号地址片段,而在接受被比较的地址片段时在第一时钟周期内输出所述被比较的地址片段,并且在第一时钟周期之后的第二时钟周期内输出所述偶数号地址片段;并且
所述移位寄存器适于在所述被比较的地址片段被接受时,响应于第二控制信号(E)而在第一时钟周期内保持所述寄存器的当前值。
19、如权利要求18所述的装置,其中,所述地址片段计算单元装置(140a,140b)适于,基于所述偶数号地址片段来生成下一个奇数号地址片段,并把所述下一个奇数号地址片段反馈给所述移位寄存器。
20、如权利要求18或19所述的装置,其中,所述地址片段计算装置(140a,140b)适于利用反馈函数来生成所述下一个偶数号地址片段和下一个奇数号地址片段。
21、如权利要求11到20中的任何一项所述的装置,其中,所述装置(100,200,300)是通过包括要由处理器运行的可读程序装置的软件来实现的。
22、如权利要求11到20中的任何一项所述的装置,其中,所述装置(100,200,300)被实现为专用集成电路。
23、如权利要求11到20中的任何一项所述的装置,其中,所述装置(100,200,300)被实现为现场可编程门阵列。
24、如权利要求11到23中的任何一项所述的装置,该装置进一步包括适于生成最大长度伪噪声序列的移位寄存器。
25、如权利要求11到24中的任何一项所述的装置,其中,所述存储器(31)是交织器存储器。
26、如权利要求11到24中的任何一项所述的装置,其中,所述存储器(31)是去交织器存储器。
27、一种用于对数据块进行交织的交织器,该交织器包括存储器(31)和根据权利要求11到25中的任何一项所述的用于生成对所述存储器进行寻址的地址值的装置(100,200,300)。
28、一种用于对数据块进行交织的去交织器,该去交织器包括存储器(31)和根据权利要求11到24和26中的任何一项所述的用于生成对所述存储器进行寻址的地址值的装置(100,200,300)。
29、一种用于传送数据的通信设备,该通信设备包括存储器(31)和根据权利要求11到26中的任何一项所述的用于生成对所述存储器进行寻址的地址值的装置。
30、如权利要求29所述的通信设备,其中,所述通信设备是移动无线电终端、寻呼机、通信装置、电子管理器、或智能电话。
31、如权利要求29所述的通信设备,其中,所述通信设备是移动电话(1)。
32、一种用于接收数据的通信设备,该通信设备包括如权利要求28所述的去交织器。
33、如权利要求32所述的通信设备,其中,所述通信设备是机顶盒、电视机、或移动电视接收器。
34、一种实现在计算机可读介质上的软件程序产品,该软件程序产品包括用于在由处理器运行该产品时执行如权利要求1到10中的任何一项所述的方法的指令。
CN2005800077002A 2004-03-10 2005-03-03 用于交织器存储器和去交织器存储器的地址生成器 Expired - Fee Related CN1930782B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP04005627A EP1575175B1 (en) 2004-03-10 2004-03-10 Address generator for an interleaver memory and a deinterleaver memory
EP04005627.7 2004-03-10
US55343804P 2004-03-16 2004-03-16
US60/553,438 2004-03-16
PCT/EP2005/002221 WO2005091509A1 (en) 2004-03-10 2005-03-03 Address generator for an interleaver memory and a deinterleaver memory

Publications (2)

Publication Number Publication Date
CN1930782A true CN1930782A (zh) 2007-03-14
CN1930782B CN1930782B (zh) 2012-05-02

Family

ID=34814279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800077002A Expired - Fee Related CN1930782B (zh) 2004-03-10 2005-03-03 用于交织器存储器和去交织器存储器的地址生成器

Country Status (9)

Country Link
US (1) US7873800B2 (zh)
EP (1) EP1575175B1 (zh)
JP (1) JP4777971B2 (zh)
KR (1) KR101274394B1 (zh)
CN (1) CN1930782B (zh)
AT (1) ATE410830T1 (zh)
DE (1) DE602004016947D1 (zh)
HK (1) HK1097358A1 (zh)
WO (1) WO2005091509A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2454196B (en) * 2007-10-30 2012-10-10 Sony Corp Data processsing apparatus and method
GB2454193B (en) * 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
GB2454194A (en) * 2007-10-30 2009-05-06 Sony Corp Address generation polynomial and permutation matrix for DVB-T2 1k OFDM sub-carrier mode interleaver
GB2454195A (en) * 2007-10-30 2009-05-06 Sony Corp Address generation polynomial and permutation matrix for DVB-T2 16k OFDM sub-carrier mode interleaver
US8179954B2 (en) 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
US8885761B2 (en) 2003-03-25 2014-11-11 Sony Corporation Data processing apparatus and method
PL2204002T3 (pl) 2007-10-30 2013-08-30 Sony Corp Urządzenie i sposób przetwarzania danych
GB2454318B (en) 2007-10-30 2012-10-17 Sony Corp Data processing apparatus and method
ES2562031T3 (es) 2007-10-30 2016-03-02 Sony Corporation Aparato y método de procesamiento de datos
GB2454722B (en) * 2007-11-16 2012-10-24 Sony Corp Data processing apparatus and method
GB2460459B (en) * 2008-05-30 2012-07-11 Sony Corp Data processing apparatus and method
JP5477465B2 (ja) * 2009-09-16 2014-04-23 日本電気株式会社 インタリーバ及びインタリーブ方法
GB2491377A (en) * 2011-05-31 2012-12-05 British Broadcasting Corp Method and apparatus for memory access in an interleaver
US9183057B2 (en) * 2013-01-21 2015-11-10 Micron Technology, Inc. Systems and methods for accessing memory
TWI551079B (zh) * 2014-11-28 2016-09-21 晨星半導體股份有限公司 適用於第二代地面數位視訊廣播系統之解交錯程序之資料處理電路及方法
WO2017082060A1 (ja) * 2015-11-10 2017-05-18 ソニー株式会社 データ処理装置、及び、データ処理方法
US10140223B2 (en) * 2016-06-27 2018-11-27 Qualcomm Incorporated System and method for odd modulus memory channel interleaving

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2577999B2 (ja) * 1989-09-28 1997-02-05 クラリオン株式会社 擬似雑音符号発生装置における先頭又は任意ビットパルス生成回路およびサンプリングパルス生成回路
US5687325A (en) * 1996-04-19 1997-11-11 Chang; Web Application specific field programmable gate array
US6625234B1 (en) * 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
US6314534B1 (en) 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
KR100480286B1 (ko) * 1999-04-02 2005-04-06 삼성전자주식회사 터보 인터리빙 어드레스 발생 장치 및 방법
US6549998B1 (en) * 2000-01-14 2003-04-15 Agere Systems Inc. Address generator for interleaving data
JP4555454B2 (ja) * 2000-11-21 2010-09-29 富士通株式会社 データ再生装置
US6871270B2 (en) * 2001-12-03 2005-03-22 Samsung Electronics Co., Ltd. Device and method for minimizing puncturing-caused output delay
US6851039B2 (en) * 2002-09-30 2005-02-01 Lucent Technologies Inc. Method and apparatus for generating an interleaved address

Also Published As

Publication number Publication date
CN1930782B (zh) 2012-05-02
WO2005091509A1 (en) 2005-09-29
JP4777971B2 (ja) 2011-09-21
EP1575175A1 (en) 2005-09-14
US20070139428A1 (en) 2007-06-21
HK1097358A1 (en) 2007-06-22
EP1575175B1 (en) 2008-10-08
JP2007528169A (ja) 2007-10-04
DE602004016947D1 (de) 2008-11-20
KR101274394B1 (ko) 2013-06-18
US7873800B2 (en) 2011-01-18
ATE410830T1 (de) 2008-10-15
KR20070015539A (ko) 2007-02-05

Similar Documents

Publication Publication Date Title
CN1930782A (zh) 用于交织器存储器和去交织器存储器的地址生成器
CN1168223C (zh) 位倒置随机交织的综合地址发生
CN1186880C (zh) 具有基于状态机的交织器的编码系统
CN1187944C (zh) 在报头压缩/解压缩应用中的静态校验和信息的再利用
CN101232289B (zh) 涡轮解码器及解码涡轮编码信号的方法
CN1198422C (zh) 检测带逆序校验位的循环冗余校验码中的错误的装置和方法
US8194782B2 (en) Grouping bits interleaving apparatus and method thereof
CN101013931A (zh) 移动多媒体广播中的信道编码和交织方法及其装置
CN102405599A (zh) 用于并行turbo解码的扩展turbo交织器
CN101926095A (zh) 用于在无线通信中交织的伪随机排序的系统和方法
CN1311922A (zh) 经改进的Turbo编码交织器
CN101151806B (zh) 利用映射函数周期性的存储器有效的交织/去交织
CN1417967A (zh) 数据发送和接收设备中的交织器去相关
CN1756090A (zh) 信道编码装置和方法
CN1393054A (zh) 用于利用单工码产生(n,3)码和(n,4)码的装置和方法
CN1411195A (zh) 交错器模式修改
CN1264279C (zh) 在移动通信系统中编码/解码信道的设备和方法
CN1129887A (zh) 用于对数字数据去交错的系统和方法
EP0608848B1 (en) Cyclic coding and cyclic redundancy code check processor
CN107733439B (zh) 一种ldpc编码方法、编码装置及通信设备
CN1349357A (zh) 在移动通信系统中执行特博解码的方法
CN102055572B (zh) 数据重传方法及装置
CN1488196A (zh) 对里德-马勒码的解码操作
WO2001022598A1 (fr) Procede et dispositif de creation de donnees de decision ponderee
CN1762102A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1097358

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

CF01 Termination of patent right due to non-payment of annual fee