CN101232289A - 涡轮解码器及解码涡轮编码信号的方法 - Google Patents

涡轮解码器及解码涡轮编码信号的方法 Download PDF

Info

Publication number
CN101232289A
CN101232289A CNA2008100084336A CN200810008433A CN101232289A CN 101232289 A CN101232289 A CN 101232289A CN A2008100084336 A CNA2008100084336 A CN A2008100084336A CN 200810008433 A CN200810008433 A CN 200810008433A CN 101232289 A CN101232289 A CN 101232289A
Authority
CN
China
Prior art keywords
turbine
decoder
memory
information
decoding
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
CNA2008100084336A
Other languages
English (en)
Other versions
CN101232289B (zh
Inventor
巴中·申
塔克·K·李
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Zyray Wireless Inc
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 Zyray Wireless Inc filed Critical Zyray Wireless Inc
Publication of CN101232289A publication Critical patent/CN101232289A/zh
Application granted granted Critical
Publication of CN101232289B publication Critical patent/CN101232289B/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • 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/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/2757Interleaver with an interleaving rule not provided for in the subgroups H03M13/2703 - H03M13/2753
    • 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/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • H03M13/2785Interleaver using in-place interleaving, i.e. writing to and reading from the memory is performed at the same memory location
    • 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/6566Implementations concerning memory access contentions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明涉及一种涡轮解码器及解码涡轮编码信号的方法。本发明通过采用任何所需数量的并行实现的涡轮解码处理器来执行已使用QPP交织执行的涡轮解码。该方法允许选择任意数量(M)的解码处理器(即多个并行实现的涡轮解码器)以使用QPP交织来执行涡轮编码信号的解码。另外,调制存储器映射(MMOD,C,W)提供了更多的自由来选择特定二次多项式排列(QPP)交织(π),以满足具有任何所需数量的并行实现涡轮解码处理器的并行涡轮解码实现。该存储器映射允许更新信息(使用并行实现涡轮解码器实现更新)的无冲突读写到存储器组。

Description

涡轮解码器及解码涡轮编码信号的方法
技术领域
本发明涉及通信系统,更具体地说,涉及一种采用涡轮(turbo)编码的通信系统。
背景技术
数据通信系统已经持续发展了许多年。最近比较受关注的一种通信系统是采用迭代错误纠正码的通信系统。其中,近些年来受到很多关注的一种特定通信系统是采用了涡轮码(迭代错误纠正码的一种类型)的通信系统。对于指定的信噪比(SNR),使用迭代码的通信系统通常能够比使用其它码的系统达到更低的位错误率(BER)。
在本发展领域中,主要的持续方向是为了努力在通信系统中连续地降低所需的SNR以达到指定的BER。理想的目标是为了努力在通信信道中到达香农极限(Shannon’s limit)。香农极限可以视为用于通信信道中的数据率,其具有特殊的SNR并能够通过通信信道无错地传输。换言之,对于指定的调制和码率,香农极限是信道容量的理论界限。
涡轮码的使用提供了这种相关的更低错误率,并且以相关的低数据吞吐量率操作,涡轮码的使用已经大量地用在通信信道内具有大的噪声级的通信系统环境中,在这种通信系统以最大可能的维护完全无错通信。涡轮编码的一些最初应用是空间相关的应用,其中准确通信(即理想地无错)通常被认为是基本的设计标准。然后,发展方向转向发展适用于地面和与消费者相关的应用。还有,基于空间相关应用的继承,涡轮编码环境努力的焦点继续是实现相对更低错误平底(error floor),而不是特定地达到更高的吞吐量。
最近,本领域的焦点已经转向发展涡轮编码及其各种变化,在保持在涡轮码环境中提供相对低错误平底的同时,支持更高的吞吐量。
实际上,随着通信系统中吞吐量需求的增加,涡轮采用多个处理器和多个存储器组的并行涡轮解码变得很有必要。许多当前的系统支持宽范围的码字大小。因而,并行涡轮解码器设计中的有效性和灵活性是非常重要的。
一般来说,在采用涡轮码的通信系统环境中,在通信信道的一端存在具有编码能力的第一通信设备,而在通信信道的另一端也存在具有解码能力的第二通信设备。在许多实例中,这两个通信设备中的一个或两个包括有编码器和解码器能力(在双向通信系统中)。
发明内容
本发明主要涉及设备和操作方法,并将在下面的附图说明、具体实施方式及权利要求作进一步描述。
根据本发明的一方面,提供了一种涡轮解码器,用于对使用二次多项式排列(QPP)交织生成的涡轮编码信号执行并行解码,所述涡轮解码器包括:
多个涡轮解码器,其数量是2到涡轮编码信号的信息块长度之间的任意整数;
多个存储器;其中:
所述多个涡轮解码器用来读写所述多个存储器;
在第一解码周期:
根据所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第一映射,所述多个涡轮解码器中的每个涡轮解码器从所述多个存储器的第一相应存储器中获取第一信息;
所述多个涡轮解码器中的每个涡轮解码器使用从所述多个存储器的第一相应存储器中获取的所述第一信息执行解码处理,以生成第一更新信息;
所述第一更新信息在所述多个存储器的每个第一相应存储器中覆盖所述第一信息;
在第二解码周期:
根据所述多个解码器和所述多个存储器之间无冲突调制存储器映射的第二映射,所述多个涡轮解码器中的每个涡轮解码器从所述多个存储器的第二相应存储器中获取第二信息;
所述多个涡轮解码器中的每个涡轮解码器使用从所述多个存储器的第二相应存储器中获得的所述第二信息执行解码处理,以生成第二更新信息;
所述第二更新信息在所述多个存储器的每个第二相应存储器中覆盖所述第二信息;
所述多个涡轮解码器用来生成已被编码到所述涡轮编码信号中的至少一个位的最佳估计值。
优选地,所述涡轮解码器进一步包括:
处理模块,用来在所述涡轮编码信号的迭代解码处理过程中执行所述多个涡轮解码器和所述多个存储器之间的无冲突调制映射;其中:
所述处理模块提供所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第一映射;
所述处理模块提供所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第二映射;
将所述多个涡轮解码器和所述多个存储器相关联的所述无冲突调制存储器映射是基于所述涡轮编码信号的信息块长度和所述涡轮编码信号的虚块长度两者至少其一确定的。
优选地:
执行涡轮解码时,所述多个涡轮解码器中的涡轮解码器用来在外部信息(extrinsic information)上执行QPP交织,从而生成用于后续解码处理的“先验概率”(app)信息。
优选地:
执行涡轮解码时,所述多个涡轮解码器中的涡轮解码器用来在外信息上执行QPP解交织,从而生成用于后续解码处理的“先验概率”(app)信息。
优选地,所述多个涡轮解码器中的涡轮解码器包括:
第一软输入/软输出(SISO)解码器,用来:
接收与涡轮编码信号相关的多个度量;
在所述多个度量上执行SISO解码,从而计算第一外部信息;
交织器模块,在第一外部信息上执行交织,从而生成第一“先验概率”(app)信息;
第二SISO解码器,在第一app信息上执行SISO解码,从而生成第二外信息;
解交织器模块,在第二外部信息上执行解交织,从而生成第二“先验概率”(app)信息;
输出处理器,用来处理第二SISO解码器已生成的最新外部信息,从而生成被编码在涡轮编码信号中信息位的最佳估计值。
优选地,所述多个涡轮解码器中的涡轮解码器包括:
第一软输入/软输出(SISO)解码器,用来:
接收与涡轮编码信号相关的多个度量;
在所述多个度量上执行SISO解码,从而计算第一外部信息;
交织器模块,在第一外部信息上执行QPP交织,从而生成第一“先验概率”(app)信息;
第二SISO解码器,在第一app信息上执行SISO解码,从而生成第二外部信息;
解交织器模块,在第二外部信息上执行QPP解交织,从而生成第二“先验概率”(app)信息;
输出处理器,用来处理第二SISO解码器已生成的最新外部信息,从而生成被编码在涡轮编码信号中的信息位的最佳估计值。
优选地:
所述多个涡轮解码器包括一定数量的涡轮解码器;
所述多个存储器包括同样数量的存储器。
优选地:
所述多个涡轮解码器包括第一数量的涡轮解码器;
所述多个存储器包括第二数量的存储器。
优选地:
所述涡轮解码器在无线个人通信设备中实现。
优选地:
所述涡轮解码器在通信设备中实现;
所述通信设备在卫星通信系统、无线通信系统、有线通信系统、光纤通信系统的至少一个中实现。
根据本发明的一方面,提供了一种涡轮解码器,用于对使用二次多项式排列(QPP)交织生成的涡轮编码信号执行并行解码,所述涡轮解码器包括:
多个涡轮解码器,其数量是2到涡轮编码信号的信息块长度之间的任意整数;
多个存储器;
处理模块,用来在所述涡轮编码信号的迭代解码处理过程中执行所述多个涡轮解码器和所述多个存储器之间的无冲突调制映射;其中:
所述多个涡轮解码器用来读写所述多个存储器;
在第一解码周期:
根据所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第一映射,所述多个涡轮解码器中的每个涡轮解码器从所述多个存储器的第一相应存储器中获取第一信息;
所述多个涡轮解码器中的每个涡轮解码器使用从所述多个存储器的第一相应存储器中获取的所述第一信息执行解码处理,以生成第一更新信息;
所述第一更新信息在所述多个存储器的每个第一相应存储器中覆盖所述第一信息;
所述处理模块提供所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第一映射;
在第二解码周期:
根据所述多个解码器和所述多个存储器之间无冲突调制存储器映射的第二映射,所述多个涡轮解码器中的每个涡轮解码器从所述多个存储器的第二相应存储器中获取第二信息;
所述多个涡轮解码器中的每个涡轮解码器使用从所述多个存储器的第二相应存储器中获得的所述第二信息执行解码处理,以生成第二更新信息;
所述第二更新信息在所述多个存储器的每个第二相应存储器中覆盖所述第二信息;
所述处理模块提供所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第二映射;
所述多个涡轮解码器用来生成已被编码到所述涡轮编码信号中的至少一个位的最佳估计值;且
执行涡轮解码时,所述多个涡轮解码器中的涡轮解码器用来:
在第一外部信息上执行QPP交织,从而生成用于后续解码处理的第一“先验概率”(app)信息。
在第二外部信息上执行QPP解交织,从而生成用于后续解码处理的第二“先验概率”(app)信息。
优选地,所述多个涡轮解码器中的涡轮解码器包括:
第一软输入/软输出(SISO)解码器,用来:
接收与涡轮编码信号相关的多个度量;
在所述多个度量上执行SISO解码,从而计算第一外部信息;
交织器模块,在第一外部信息上执行QPP交织,从而生成第一“先验概率”(app)信息;
第二SISO解码器,在第一app信息上执行SISO解码,从而生成第二外信息;
解交织器模块,在第二外部信息上执行QPP解交织,从而生成第二“先验概率”(app)信息;
输出处理器,用来处理第二SISO解码器已生成的最新外部信息,从而生成被编码在涡轮编码信号中信息位的最佳估计值。
优选地:
所述多个涡轮解码器包括一定数量的涡轮解码器;
所述多个存储器包括同样数量的存储器。
优选地:
所述涡轮解码器在无线个人通信设备中实现。
优选地:
所述涡轮解码器在通信设备中实现;
所述通信设备在卫星通信系统、无线通信系统、有线通信系统、光纤通信系统的至少一个中实现。
根据本发明的一方面,提供了一种用于对使用二次多项式排列(QPP)交织生成的涡轮编码信号进行解码的方法,所述方法包括:
从通信信道中接收涡轮编码信号;
执行预处理以从所述涡轮编码信号中提取出编码块;
将所述编码块分离成多个子块,以便所述多个子块的每个子块包括相应的多个数据;
将所述多个子块中第一子块的第一多个数据存储到多个存储器组中的第一存储器组;
将所述多个子块中第二子块的第二多个数据存储到多个存储器组中的第二存储器组;
从第一存储器组中获取第一多个数据的第一元素,对其执行涡轮自然顺序相位解码处理(turbo natural order phase decoding processing),从而更新第一元素,并使用更新后的第一元素覆盖第一存储器组中的第一元素;
从第二存储器组中获取第二多个数据的第二元素,对其执行涡轮自然顺序相位解码处理,从而更新第二元素,并使用更新后的第二元素覆盖第二存储器组中的第二元素;
从第一存储器组中获取第一多个数据的第三元素,对其执行涡轮自然顺序相位解码处理,从而更新第三元素,并使用更新后的第三元素覆盖第一存储器组中的第三元素;
从第二存储器组中获取第二多个数据的第四元素,对其执行涡轮自然顺序相位解码处理,从而更新第四元素,并使用更新后的第四元素覆盖第二存储器组中的第四元素;
根据并行涡轮解码处理,使用多个解码处理器对所述编码块进行涡轮解码处理,其中所述多个解码处理器的数量是2到涡轮编码信号的信息块长度之间的任意整数;
生成被编码在涡轮编码信号中的至少一个信息位的最佳估计值。
优选地,所述方法进一步包括:
采用以并行解码组合实现的多个涡轮解码器,以执行涡轮自然顺序相位解码处理和交织顺序相位解码处理;其中:
所述多个涡轮解码器用来读写所述多个存储器组。
优选地,所述方法进一步包括:
在外部信息上执行QPP交织,从而生成用于后续解码处理的“先验概率”(app)信息。
优选地:
在外部信息上执行QPP解交织,从而生成用于后续解码处理的“先验概率”(app)信息。
优选地:
所述方法在通信设备中执行;
所述通信设备在卫星通信系统、无线通信系统、有线通信系统、光纤通信系统的至少一个中实现。
本发明的其它特征和优点通过引用附图所作的具有实施方式描述变得显而易见。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是通信系统的一个实施例的示意图;
图2是涡轮解码器的一个实施例的示意图;
图3是具有分时的涡轮码解码器的实施例示意图,其采用单个SISO解码器或单个SISO解码器阵列;
图4是可以应用在涡轮解码中的并行解码的实施例示意图;
图5是自然/非交织顺序解码处理器(用于涡轮编码信号的并行解码)的分离处理的实施例示意图;
图6是交织(π)顺序解码处理器(用于涡轮编码信号的并行解码中)的分离处理的实施例示意图;
图7A是针对自然/非交织顺序相位在并行解码上的存储器映射的实施例示意图;
图7B是针对交织(π)顺序(一个存储器中存在冲突)在并行解码上的存储器映射的实施例示意图;
图8是执行并行解码的涡轮解码器的实施例示意图,其中因为涡轮解码器和存储器之间缺少无冲突存储器映射,该涡轮解码器中有冲突发生;
图9是执行并行解码的涡轮解码器的实施例示意图,其中因为涡轮解码器和存储器之间的无冲突存储器映射,该涡轮解码器中没有冲突发生;
图10和图11分别是通信系统其它实施例的示意图;
图12A、图12B、图12C和图12D分别是涡轮解码器和存储器之间不同的、连续的无冲突存储器映射的示意图;
图13是涡轮解码器实施例的示意图,其采用两组单独的SISO解码器来访问存储在多个存储器组中的数据;
图14是涡轮解码器实施例的示意图,其采用多个SISO解码器来访问存储在多个存储器组中的数据;
图15是解码涡轮编码信号的方法的实施例示意图;
图16是解码涡轮编码信号的方法的另一实施例示意图。
具体实施方式
许多通信系统都会结合涡轮码的使用。虽然存在许多可使用涡轮码的潜在应用,我们提出了可以应用于3GPP信道码的方式,以支持任意数量的信息位。对于WCDMA、HSDPA,使用本发明在此提出的各种特征可支持的信息位的数量可以是40到5114,对于LTE,其数量会更多。
关于UTRA-UTRAN长期演化(LTE)和3GPP系统结构演化(SAE)的更多信息可以在以下网站获得:
www.3gpp.org
涡轮码早已被建议用于3GPP LTE信道编码。在3GPP LTE的信道编码系统中,存在对配备和提供宽范围块大小(即涡轮码的块长度)的需求。参考文献[1]中被称为“准规则排列(ARP)”的代数交织(algebraic interleave)可以考虑作为此编码系统的候选,还有参考文献[2]中的“二次多项式排列(QPP)”可以考虑作为替代的候选。
此外,此系统的涡轮编码一般需要使用并行解码方案来实现,这是因为3GPP LTE信道编码期望有特高的数据吞吐量和较大的块大小。并行解码需要无冲突存储器访问,即任何一个涡轮解码器(其为一组并行排列的涡轮解码器之一)在任何指定时间仅访问存储器(其为一组并行排列的存储器之一)。在并行涡轮解码中,解码处理包括窗口的处理,这些窗口共同组成整个涡轮码块。例如,因为解码方法本质上是有窗的,所以整个涡轮码块被分成许多子块,并在子块中执行更短的递归。并行解码方案包括有并行工作的多个涡轮解码处理器,并且将每个子块分配到不同的解码处理器。既然每个处理器使用同样的解码方法,那么每个处理器同时访问存储器。如果存在无效的存储器映射(M),那么将出现冲突;这就是说,来自两个或多个处理器的两个或多个存储器访问在同一时间对同一存储器组作出尝试。(见后面图7A、图7B、图8、图9和它们相关的字面描述,以及并行涡轮解码环境中的冲突对无冲突存储器映射的其它描述)。存储器和处理器之间的无效存储器映射(M)引起的冲突将降低解码实现的效率。在参考文献[3]中指出,总是存在用于任何程度和任何交织(π)的并行解码的无冲突存储器访问。然而,参考文献[3]中给出的方法是点对点的(ad-hoc),而且一般实现不是很友好,特别当需要支持许多不同的块大小时,如在3GPP LTE信道编码的环境中。
数字通信系统的目标是将数字数据从一个位置或子系统中无错地或以可接受的低错误率传输到另一个位置。如图1所示,数据在多种通信系统中通过多种通信信道进行传输:磁介质、有线、无线、光纤、铜线和其它类型的媒介。
图1是通信系统100的一个实施例的示意图。
参考图1,通信系统100的这个实施例是通信信道199,其将位于通信信道199一端的通信设备110(包括具有编码器114的发送器112和具有解码器118的接收器116)通讯连接到位于通信信道199另一端的通信设备120(包括具有编码器128的发送器126和具有解码器124的接收器122)。在某些实施例中,通信设备110和120仅包括发送器或接收器。实现通信信道199的媒介存在几种不同的类型,即使用碟形卫星天线132和134的卫星通信信道130、使用塔142、144和/或本地天线152、154的无线通信信道150、有线通信信道150和/或使用电光(E/O)接口162和光电(O/E)接口164的光纤通信信道160。另外,还可以一起实现和接入一种以上的媒介类型,从而形成通信信道199。
图2是涡轮解码器200的一个实施例的示意图。将接收的信号(即通常从通信信道接收)提供给I、Q提取模块202,由其从接收信号201中提取I、Q(同相和正交)成分。这可视为接收器预处理,它包括任何适当的频率转换(若需要,通常从载波频率向下转换)。I、Q然后可以根据调制的适当星座(constellation)和映射进行映射。然后,将映射的I、Q传送到度量(metric)生成器204。度量生成器204生成适当的度量241(其根据接收的I、Q测得)给调制的适当星座和映射中的星座点接收;星座点的映射在调制中对度量进行索引;这些度量可视为在调制中从实际接收符号位置到预期星座点位置的换算欧几里德(Euclidian)距离。
继续讨论涡轮解码处理和功能性。接着,将度量生成器204计算出的度量241同时提供给第一软输入/软输出(SISO0)解码器210和第二SISO1解码器230。在格栅编码(trellis coding)的环境中(如涡轮格栅编码调制(TTCM)),第一SISO0解码器210和第二SISO1解码器230均根据采用的格栅计算出向前度量(α)和向后度量(β)以及外部(extrinsic)值。
针对待解码的帧内的每一符号,计算出这些向前度量、向后度量和外部值。向前度量、向后度量和外部值的这些计算全部基于所用的格栅。
以第一SISO0解码器210开始,计算出外部值211以后,将其传送给交织器(interleaver)(π)220,之后将其作为“先验概率”(app)信息221传送到第二SISO1解码器230。类似地,在第二SISO1解码器230内计算出外部值231以后,将其传送到解交织器(de-interleaver)(π-1)240,然后作为“先验概率”(app)信息241传送到第一SISO0解码器210。注意,涡轮解码器200的迭代解码处理中的单个解码迭代包括执行两个SISO操作;这就是说,迭代解码处理必须经过第一SISO0解码器210和第二SISO1解码器230。
达到有效置信级别并收敛得到解以后,或者已执行了预定次数的解码迭代以后,来自第二SISO1解码器230的输出作为输出被传送到输出处理器250。SISO210和230的操作一般称为对符号(包含在接收的符号中)的软符号判决的计算。在某些实施例中,在实际位级别上执行这些软符号判决。输出处理器250使用这些软符号判决以生成信息位的最佳估计值251(如硬位(soft bit)和/或符号判决),其中该信息位在源涡轮编码信号中已被编码(一般在信号201最先进入的通信信道的另一端的涡轮编码器位置)。
同样注意,在交织器(π)220中执行的交织可以使用QPP交织的实施例执行,如附图标号291所示。
许多在此提出的实施例采用了二次多项式排列(QPP)交织的不同实施例。以下提供了关于执行QPP交织的方法的更多细节。
图3是具有分时的涡轮码解码器的实施例示意图,其采用单个SISO解码器或单个SISO解码器阵列。该实施例根据涡轮解码处理(并行涡轮解码处理)采用单个SISO解码器或单个SSO解码器阵列来执行SISO0和SISO1解码操作。MUX305用来接收信息位310和冗余位302,并选择性地将它们提供给SISO解码器310。该实施例中的SISO解码器也包括集成的交织器(π)320和集成的解交织器(π-1)340。MUX305的选择信号根据一个信号工作,其偶相位303控制对提供到SISO解码器310的信息位301或冗余位302的选择,以执行SISO0解码处理或SISO1解码处理。
在一个实施例中,如附图标号312所示,当执行自然顺序相位解码时(即SISO0解码操作),对存储器入口的访问是在选择信号303指示偶相位给MUX306时执行的。同样,当执行交织(π)顺序相位解码(即SISO1解码操作)时,对存储器入口的访问是在选择信号303指示奇相位给MUX306时执行的。
图4是可以应用在涡轮解码中的并行解码的实施例示意图。如图所示,涡轮编码信号中信息块的块长度401表示为L,其也可以称为交织(π)大小。这也可以称为将进行涡轮解码的编码块。该块可以分成多个窗口,以便每个窗口的大小W=L/M(W是窗口大小)。如附图标号402所示。由于涡轮码使用卷积编码器作为其组成编码器,连续的符号通过状态进行连接且因此子块必须包含连续的信息位。
并行解码实现中设置的处理器的数量表示为M(如附图标号404所示),并且注意M是L的因数(即M除以L没有余数)。
在周期0中(即涡轮解码的迭代解码处理中的第一次解码迭代),处理每个窗口的第一部分,如每个窗口相应的阴影部分所示。然后,在周期1中(即涡轮解码的迭代解码处理中的第二次解码迭代),处理每个窗口的第二个部分,如每个窗口相应的阴影部分所示。如此继续直到周期W-1(即涡轮解码的迭代解码处理中的最终解码迭代),处理每个窗口的最终部分,如每个窗口相应的阴影部分所示。
在每个周期中,使用多个解码处理器(例如多个涡轮解码器)的并行实现中的一个解码处理器(例如一个涡轮解码器)处理每个窗口的指定部分。
图5是自然/非交织顺序解码处理器(用于涡轮编码信号的并行解码)的分离处理的实施例500的示意图。该示意图同样与图4相对应。例如,窗口大小W、处理器数量M和块长度L的规定都与之前的实施例相同,如附图标号502所示(即W=L/M或M.W=L)。另外,信息序列的索引集(index set)如附图标号501所示,I={0,1,...L-1},因此交织信息序列的索引集在图6中如附图标号601所示,为π(I)={π(0),π(1),...π(L-1)}。
然后I的M个窗口的索引集如下:
{0,1,...W-1},{W,W+1,...2W-1},...{(M-1)W,...MW-1}    (1)
根据以自然顺序相位进行的并行涡轮解码处理(采用M个解码处理器),在周期0(即涡轮解码的迭代解码处理中的第一次解码迭代)中,被处理的每个窗口各自的第一部分如下:
1、处理器0处理信息块的0部分。
2、处理器1处理信息块的W部分。
3、处理器2处理信息块的2W部分。
...
s、处理器s处理信息块的sW部分(s是整数)。
...
M-1、处理器M-1处理信息块的(M-1)W部分。
在周期1(涡轮解码的迭代解码处理中的第二次解码迭代)中,被处理的每个窗口各自的第二部分如下:
1、处理器0处理信息块的1部分。
2、处理器1处理信息块的W+1部分。
3、处理器2处理信息块的2W+1部分。
...
s、处理器s处理信息块的sW+1部分(s是整数)。
...
M-1、处理器M-1处理信息块的(M-1)W+1部分。
如此继续直到周期W-1(涡轮解码的迭代解码处理中的最终解码迭代)中,被处理的每个窗口各自的最终部分如下:
1、处理器0处理信息块的W-1部分。
2、处理器1处理信息块的W+W-1部分。
3、处理器2处理信息块的W+2W-1部分。
...
s、处理器s处理信息块的sW+W-1部分(s是整数)。
...
M-1、处理器M-1处理信息块的(M-1)W+W-1部分。
在第0和第t解码周期上,每列上的元素集分别是(同样如附图标号503所示):
E0={0,W,...(M-1)W},及
Et={t,W+t,...(M-1)W+t}。
这就是说,这是所有M个窗口中所有第i个元素的“集”。事实上,在周期t上,M个处理器对Et中的索引位并行地执行解码。
图6是交织(π)顺序解码处理器(用于涡轮编码信号的并行解码中)的分离处理的实施例600的示意图。该示意图同样对应图4。例如,窗口大小W、处理器数量M、块长度L的规定都与之前的实施例相同,如附图标号602所示(即W=L/M或M.W=L)。另外,信息序列的索引集(index set)如附图标号501所示,I={0,1,...L-1},因此交织信息序列的索引集在图6中如附图标号601所示,为π(I)={π(0),π(1),...π(L-1)}。
根据以自然顺序相位进行的并行涡轮解码处理(采用M个解码处理器),在周期0(即涡轮解码的迭代解码处理中的第一次解码迭代)中,被处理的每个窗口各自的第一部分如下(注意:这些是交织(π)部分):
1、处理器0处理信息块的π(0)部分。
2、处理器1处理信息块的π(W)部分。
3、处理器2处理信息块的π(2W)部分。
...
s、处理器s处理信息块的π(sW)部分(s是整数)。
...
M-1、处理器M-1处理信息块的π((M-1)W)部分。
在周期1(涡轮解码的迭代解码处理中的第二次解码迭代)中,被处理的每个窗口各自的第二部分如下:
1、处理器0处理信息块的π(1)部分。
2、处理器1处理信息块的π(W+1)部分。
3、处理器2处理信息块的π(2W+1)部分。
...
s、处理器s处理信息块的π(sW+1)部分(s是整数)。
...
M-1、处理器M-1处理信息块的π((M-1)W+1)部分。
如此继续直到周期W-1(涡轮解码的迭代解码处理中的最终解码迭代)中,被处理的每个窗口各自的最终部分如下:
1、处理器0处理信息块的π(W-1)部分。
2、处理器1处理信息块的π(W+W-1)部分。
3、处理器2处理信息块的π(2W+W-1)部分。
...
s、处理器s处理信息块的π(sW+W-1)部分(s是整数)。
...
M-1、处理器M-1处理信息块的π((M-1)W+W-1)部分。
在交织(π)处理一侧上,第0个和第t个解码周期上的每列内的元素集分别是(同样如附图标号603所示):
E ^ 0 = { π ( 0 ) , π ( W ) , . . . , π ( ( M - 1 ) W ) } ,
E ^ t = { π ( t ) , π ( W + t ) , . . . , π ( ( M - 1 ) W + t ) } .
然后π(I)的M个窗口的索引集如下:
{π(0),π(1),...π(W-1)},{π(W),π(W+1),...π(2W-1)},...{π((M-1)W),...,π(MW-1)}
一般地,针对第i次解码迭代可作出如下定义:
E ^ i = { π ( i ) , π ( W + i ) , . . . , π ( sW + i ) , π ( ( M - 1 ) W + i ) }
然后,从索引集I和π(1)到集Zp={0,1,...P-1}所定义的存储器映射M被称为用于具有并行度M的并行解码的无冲突映射(如参考文献[4]所述),以上是假设如下关系对于所有可能i的每个j,j′∈{0,...L-1},j≠j′成立:
j,j′∈EtM(j)≠M(j′),且 j , j ′ ∈ E ^ i ⇒ M ( j ) ≠ M ( j ′ ) - - - ( 2 )
注意,第t个周期的索引集中的解码值应该被映射到不同的存储器组(例如提供来服务多个并行设置的涡轮解码器的多个存储器中的不同存储器)。
参考文献[4]中已经证明,针对任何指定的交织(π),总存在用于任何并行解码处理器的并行解码的无冲突映射。然而,对于需要支持许多不同块大小信道编码的通信系统,生成参考文献[2]给出的这样一种映射的方法很难实现。
在参考文献[5]中,定义了一个公式化无冲突映射(formulaic collision-freememory mapping),其将π(jw+j)映射到π(jW+i)/W,并将π-1(jw+1)映射到π-1(jW+i)/W,其中W是窗口大小。如果交织有这种无冲突映射,在参考文献[4]中称之为无冲突。由于这种映射采用了划分,称之为划分映射(MDIV,W)。事实上,该映射可以表示如下:
Figure S2008100084336D00171
然而,由于使用划分映射,并行处理器的数量限制为交织(π)大小的因子。例如,采用大小为L=6144=3×211的QPP交织。若使用划分存储器映射MDIV,W,那么并行解码处理器的数量M必须是L的因子。因此,如果数据吞吐量需要20个处理器(M=20),那么划分存储器映射MDIV,W将不能工作。在此,介绍一种可变通但仍公式化的存储器映射(M),其能够适用于任意数量M的并行处理器以用于任何二次多项式排列(QPP)交织。
然而,以下提出了更多的信息,以帮助读者理解并行实现的涡轮解码器环境中的无冲突存储器访问。另外,也提出了采用并行实现的涡轮解码器的通信设备的更多实施例。
图7A是针对自然/非交织顺序相位在并行解码700上存储器映射的实施例示意图。
图7B是针对交织(π)顺序在并行解码702上存储器映射的实施例示意图(一个存储器中存在冲突)。
图7A和图7B应该互相结合来考虑。实施例700和702每个都采用4个存储器组(表示为存储器741、存储器742、存储器743、存储器744)。所示编码块被分离成多个子块。这个特殊的编码块包括4W个数据位置。
第一子块以数据位置0、1开始,一直到W-1。第二子块以数据位置W、W+1开始,一直到2W-1。第三子块以数据位置2W、2W+1开始,一直到3W-1。第四子块以数据3W、3W+1开始,一直到4W-1。
在周期0中,第一子块的第一数据(即位置0中的数据)存储在存储器742的第一位置。
在周期0中,第二子块的第一数据(即位置W中的数据)存储在存储器743的第一位置。
在周期0中,第三子块的第一数据(即位置2W中的数据)存储在存储器741的第一位置。
在周期0中,第四子块的第一数据(即位置3W中的数据)存储在存储器744的第一位置。
在周期1中,第一子块的第二数据(即位置1中的数据)存储在存储器741的第二位置。
在周期1中,第二子块的第二数据(即位置W+1中的数据)存储在存储器744的第二位置。
在周期1中,第三子块的第二数据(即位置2W+1中的数据)存储在存储器742的第二位置。
在周期1中,第四子块的第二数据(即位置3W+1中的数据)存储在存储器743的第二位置。
这个处理过程一直持续,直到编码块的所有数据元素都被存储到4个存储器组相应的存储器位置。特定数据元素将存储到那个存储器组内的这种放置取决于所采用的映射。
经过交织(π)后,如图所示,交织编码块被分成多个子块。这个特殊编码块包括4W个数据位置。
第一子块以数据位置π(0)、π(1)开始,一直到π(W-1)。第二子块以数据位置π(W)、π(W+1)开始,一直到π(2W-1)。第三子块以数据位置π(2W)、π(2W+1)开始,一直到π(3W-1)。第四子块以数据π(3W)、π(3W+1)开始,一直到π(4W-1)。
在周期0中,根据所采用的特殊交织和映射,第一子块的第一数据(即位置π(0)中的数据)存储在存储器741的位置。
在周期0中,根据所采用的特殊交织和映射,第二子块的第一数据(即位置π(W)中的数据)存储在存储器744的位置。
在周期0中,根据所采用的特殊交织和映射,第三子块的第一数据(即位置π(2W)中的数据)存储在存储器743的位置。
在周期0中,根据所采用的特殊交织和映射,第四子块的第一数据(即位置π(3W)中的数据)存储在存储器742的位置。
在周期1中,根据所采用的特殊交织和映射,第一子块的第二数据(即位置π(1)中的数据)存储在存储器742的位置。
在周期1中,根据所采用的特殊交织和映射,第二子块的第二数据(即位置π(W+1)中的数据)存储在存储器741的位置。
在周期1中,根据所采用的特殊交织和映射,第三子块的第二数据(即位置π(2W+1)中的数据)存储在存储器742的位置。
在周期1中,根据所采用的特殊交织和映射,第四子块的第二数据(如位置π(3W+1)中的数据)存储在存储器744的位置。
这个处理过程一直持续,直到编码块的所有数据元素都被存储到4个存储器组相应的存储器位置。特定数据元素将存储到哪个存储器组的这种放置取决于所采用的映射。
注意,这个映射不是无冲突的,因为在交织顺序相位的周期1中,第一子块的第二数据(即位置π(1)中的数据)和第三子块的第二数据(即位置π(2W+1)中的数据)都映射到同一存储器742。
图8是执行并行解码的涡轮解码器800的实施例示意图,其中因为涡轮解码器和存储器之间缺少无冲突存储器映射,该涡轮解码器800中有冲突发生。
该涡轮解码器800包括多个涡轮解码器821-827、多个存储器841-847和处理模块830(用来执行多个涡轮解码器821-827和多个存储器841-847之间的存储器映射)。可以看出,一个以上的解码器在指定时间试图访问同一存储器。特别地,涡轮解码器821和涡轮解码器822正试图访问存储器841,涡轮解码器824和涡轮解码器825正试图访问存储器845。同样,涡轮解码器827和另一涡轮解码器(包括在省略号...所示区域)正试图访问存储器847。而这会引起冲突并导致不良性能。
图9是执行并行解码的涡轮解码器900的实施例示意图,其中因为涡轮解码器和存储器之间的无冲突存储器映射,该涡轮解码器900中没有冲突发生。
该涡轮解码器900包括多个涡轮解码器921-927、多个存储器941-947、处理模块930(用来执行多个涡轮解码器921-927和多个存储器941-947之间的存储器映射)。可以看出,只有一个涡轮解码器在特定时间访问任何一个存储器。这是多个涡轮解码器921-927和多个存储器941-947之间真正的无冲突存储器映射。
图10和图11是通信系统的其它实施例的示意图。
参考图10的通信系统1000,通信系统1000包括通信设备1010,其通过通信信道1099连接到另一设备。通信设备1010包括解码器1021,其实现为用来采用无冲突存储器映射的并行实现涡轮解码器。
通信设备1010通过通信信道1099连接到其它设备1090,而该其它设备可以是另一通信设备1092、存储媒介1094(如在硬盘驱动(HDD)的环境中)或用来接收和/或传输信号的任何其它类型设备。在某些实施中,通信信道1099是双向通信信道,其用来在第一时间段执行第一信号的传输以及在第二时间段接收第二信号。若需要,可以采用全双工通信,其中通信设备1010和设备1090中每个都可以同时相互传输和/或接收。
通信设备1010的解码器1021包括涡轮解码器1020、处理模块1030、存储器1040。处理模块1030可以连接到存储器1040,以便存储器用来存储使处理模块1030执行某些功能的可操作指令。
一般来说,处理模块1030用来在迭代解码处理过程中执行涡轮解码器1020和存储器1040之间的无冲突存储器映射。
同样需要注意,处理模块1030和在此所述的任何其它处理模块能以如下所述任何数量的方式实现。在一个实施例中,处理模块1030可以严格地作为电路实现。可选地,处理模块1030可以严格地在软件中实现,如可以在数字信号处理器(DSP)或相似类型的设备中采用。在另一实施例中,在不脱离本发明范围和精神的情况下,处理模块1030可以作为软硬件的结合实现。
在其它更多的实施例中,处理模块1030可以使用共享处理设备、个人处理设备或多个处理设备实现。这种处理设置可以是微处理器、微控制器、数字信号处理器、微型计算机、中心处理单元、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路、模拟电路、数字电路和/或任何基于可操作指令处理信号(模拟和/或数字)的设备。处理模块1030可以连接到用来存储可操作指令的存储器1040,其中可操作指令使处理模块1030执行涡轮解码器1020和存储器1040之间适当的无冲突储存映射。
这种存储器1040可以是单个存储设备或多个存储设备。这种存储器1040可以是只读存储器、动态存储器、静态存储器、闪存和/或任何存储数字信息的设备。注意当处理模块1030通过状态机、模拟电路、数字电路和/或逻辑电路实现一个或多个其功能时,存储相应可操作指令的存储器嵌入在电路中,包括状态机、模拟电路、数字电路和/或逻辑电路。
参考图11的通信系统1100,该实施例与之前的实施例稍微有点相似。通信系统1100包括通过通信信道1199连接到另一设备的通信设备1110。通信设备1110包括涡轮解码器1120,其本身由多个涡轮解码器1121-1122组成。通信设备1110也包括存储器1140,其本身由多个存储器1141-1142组成。处理模块1130用来在涡轮编码信号的迭代解码处理过程中,执行多个涡轮解码器1121-1122和多个存储器1141-1142之间的无冲突存储器映射。
图12A、图12B、图12C和图12D分别是涡轮解码器和存储器之间不同的、连续的无冲突存储器映射的示意图。这四个图应该相互结合来考虑。
通信设备包括涡轮解码器,其本身由多个涡轮解码器1221、1222和1223组成。这种通信设备也包括存储器,其本身由存储器1241、1242和1243组成。处理模块1230用来在涡轮编码信号的迭代解码处理过程中执行多个涡轮解码器1221、1222、1223和多个存储器1241、1242、1243之间的无冲突存储器映射。
在任何特定时间,处理模块1230用来确保只有一个涡轮解码器在该特定时间访问特定的存储器。例如,处理模块1230在时间1执行第一无冲突存储器映射,如附图标号1201所示。处理模块1230在时间2执行第二无冲突存储器映射,如附图标号1202所示。处理模块1230在时间3执行第二无冲突存储器映射,如附图标号1203所示。处理模块1230在时间4执行第二无冲突存储器映射,如附图标号1204所示。可以看出,这四个图的每个图中,都只有一个涡轮解码器在任何特定时间连接到任何一个存储器。
可以看出,涡轮解码器1221、1222、1223和多个存储器1241、1242、1243之间的无冲突存储器映射在涡轮编码信号的迭代解码处理过程中随时间函数变化。
二次多项式排列(QPP)
关于二次多项式排列(QPP)交织(π)的更多细节在下面给出。
设块大小或交织大小是L,如果以下函数
π(x)=ax+bx2mod(L)    (4)
是{0,1,...L-1}上的排列(permutation),那么其称之为参考文献[3]所述的二次多项式。
参考文献[3]中同样指出,如果处理器的数量M是L的约数,即W=L/M,那么使用等式(3)的划分存储器映射MDIV,W便是无冲突QPP交织(π)。
公式化可变通无冲突存储器映射(M)(formulaic and flexible collision-freememory mapping)
如上,使用划分存储器映射MDIV,W的情况下,并行实现的解码处理器的数量限制为交织大小的因子。换句话说,划分存储器映射MDIV,W不能适应任何可能数量的并行实现解码处理器。
例如,取QPP交织的大小为L=6144=3×211。使用划分存储器映射MDIV,W,则并行实现的解码处理器的数量P必须是块长度/交织大小L的因子。因此,考虑一个可能的例子,如果数据吞吐量需要P=20,则划分存储器映射MDIV,W将不能进行。
以下提出一种存储器映射(M)的新方法,其是可变通的(能够适应任何数量的解码处理器P),并且是一种公式化存储器映射(M)。
假定交织π的大小为L。设C是数字,那么以下条件成立:
条件I:
如果π(x)=π(y)modC,那么x=ymodC    (5)
指定并行处理器的任何数量P,那么P≤C。设窗口大小W是符合以下条件的最小数:
条件II:
a)W≥L/P且b)gcd(W,C)=1。    (6)
设L′=P*W。
涡轮解码的并行实现现在可以考虑在大小为L′的“虚”交织(也可以是大小为L′的“虚”块)上执行。
参考图5和图6可以观察到,具有sW+t>L或π(sW+t)>L的某些解码周期变成伪(dummy)解码周期,即该周期内对应的处理器没有工作。
窗口大小为W的调制存储器映射MMOD,C,W可以如下定义:
Figure S2008100084336D00231
C的值和条件在以下的法则1中定义。
法则1  设并行解码处理器的数量P是满足P≤C的任何数,其中C满足上述等式(5)中的条件I且窗口大小W满足上述等式(6)的条件II,那么调制存储器映射MMOD,C,W是π的无冲突存储访问映射。
证明:
A)在涡轮解码的自然顺序相位中,如果
MMOD,C,W(s0W+t)=MMOD,C,W(s1W+t),那么s0W≡s1WmodC。
但是s0和s1都小于P≤C(见等式1)且gcd(W,C)=1(条件,等式6)。因此以下关系成立:
MMOD,,C,W(s0W+t)=MMOD,,C,W(s1W+t)s0=s1
B)在涡轮解码的交织(π)顺序相位中,如果
MMOD,,C,W(π(s0W+t))=MMOD,,C,W(π(s1W+t)),那么
π(s0W+t)≡π(s1W+t)modC。
根据等式(5)的条件,有π(s0W+t)≡π(s1W+t)modC。所以,再有s0=s1
通过结合A)和B),可以证明调制存储器映射MMOD,C,W是π的无冲突存储访问映射。
当交织(π)是二次多项式排列(QPP)时,我们有如下的定理。
定理1  假定QPPπ(x)=ax+bx2modL,L为大小。如果整数C满足C|b(即如果是C,b是约数)且gcd(a,C)=1,那么
π(x)=π(y)modCx=ymodC。
证明:π(x)=π(y)modCa(x-y)+b(x2-y2)=0modC。从而
a(x-y)modC=0。
这意味着x=ymodC。
以下提供了在并行实现的涡轮解码器环境中采用QPP交织(π)的一些例子,可以看出,提供了一种公式化且可变通的无冲突存储器映射(M)来访问使用二次多项式排列(QPP)交织的并行涡轮解码架构中的存储器组。
例1:在参考文献[5]的列表中取大小为L=6144=3×211的QPPπ,其中a=263,b=480=25×3×5。取P=C=20=5×4。有gcd(a,C)=1且C|b(即C满足定理1)。因而
π(x)=π(y)modCx=ymodC。
设W=309,那么W满足等式(6)中的条件,也就是
a)W≥L/P,且
b)gcd(W,C)=1。
那么,通过法则1,调制存储器映射MMOD,20,309是使用20个并行实现涡轮解码处理器(即P=20)的此QPP的无冲突存储器映射。
通过取P=19<C=20,有调制存储器映射MMOD,20,324,其使用19个并行实现涡轮解码处理器(即P=20)的QPP的无冲突存储器映射。
如下给出了一个满足条件I的更常规的情形。
法则2设π(x)=ax+bx2modL是大小为L的QPP交织。
如果C是L的因数,即C|L。当且仅当x=ymodC(即满足条件I)时,π(x)=π(y)modC。
证明:(←)假设x=ymodC。
存在整数k使x=y+kC。从而
π(y)-π(x)=a(x+kC-x)+b(x2+2kCx+4k2C2-x2)modL
=C(ak+2b2kx+4k2C)modL=0modC
由于C|L,
(→)假设π(x)=π(y)modC。
定义两个集
集1:S(x)={i|i=xmodC}和
集2:S(y)={j|j=ymodC}。
假定x≠ymodC,那么S(x)⌒s(y)=。
然而,通过(←)有
π(S(x))={π(i)|i=xmodC}={π(i)|π(i)=π(x)modC},和
π(S(y))={π(j)|j=ymodC}={π(j)|π(j)=π(y)modC}。
从而π(S(x))=π(S(y))。
这与S(x)⌒s(y)=相矛盾,且π是一种排列。
因此,x=ymodC。
例2:在参考文献[5]的列表中取大小为L=6144=3×211的QPPπ。设并行实现涡轮解码处理器的数量为20(即P=20)。取C=24。那么C|L且P<C。那么通过法则2,条件I成立。
设W=311,则W满足等式(6)中的条件II,即
a)W≥L/P,且
b)gcd(W,C)=1。
那么,通过法则1,调制存储器映射MMOD,20,311是用于使用20个并行实现涡轮解码处理器(即P=20)的此QPP交织的无冲突存储器映射。
例3:在参考文献[5]的列表中取大小为L=4736=37*27的QPPπ。设并行实现涡轮解码处理器的数量为10(即P=10)。取C=16。那么C|L且P<C。那么通过法则2,条件I成立。
设W=475,那么W满足等式(6)中的条件II,即
a)W≥L/P,且
b)gcd(W,C)=1。
那么,通过法则1,调制存储器映射MMOD,10,475是用于有20个并行实现的涡轮解码处理器(即P=10)的此QPP的无冲突存储器映射。
总之,对于并行实现的涡轮解码处理器的任何数量P,通过注意选取数C≥P和W,调制存储器映射MMOD,C,W是用于参考文献[5]的表3中给出的任何QPP交织(π)的无冲突存储器映射。
而且,调制存储器映射MMOD,C,W提供了更多的自由度来选择特殊的二次多项式排列(QPP)交织(π),以满足使用任何所需数量的并行实现涡轮解码处理器的并行涡轮解码实现。
图13是涡轮解码器1300实施例的示意图,其采用两组单独的SISO解码器(1310和1330)来访问存储在多个存储器组1390中的数据。如其它实施例中所示,接收到的信号(例如,通常从通信信道接收)提供给I、Q提取模块1302,由其从接收的信号1301中提取I、Q(同相和正交)成分。这可视为接收器预处理,它包括任何适当的频率转换(若需要,通常从载波频率向下转换)。I、Q然后可以根据调制的适当星座(constellation)和映射进行映射。然后,将映射的I、Q传到度量(metric)生成器1304。度量生成器1304生成适当的度量1341,其从接收的I、Q分派到调制的适当星座和映射中的星座点;星座点的映射在调制中对度量进行索引;这些度量可视为在调制中从实际接收符号的位置到预想星座点位置的换算欧几里德(Euclidian)距离。
继续讨论涡轮解码处理和功能性,度量生成器1304计算出的度量1341然后被同时提供给第一软输入/软输出(SISO)0解码器阵列1310和第二SISO1解码器阵列1330。第一SISO0解码器阵列1310包括一定数量的SISO0解码器,如SISO0 1311,...和SISO0 1312所示。第一SISO0解码器阵列1310中每个单独的解码器用来对存储在特定存储器组1390中一个存储器的特定存储器位置中的数据执行SISO解码。
将先前由度量生成器1304计算出的度量1341也提供到第二SISO1解码器阵列1330。这一SISO1解码器阵列1330包括一定数量的SISO1解码器,如SISO1 1331,...和SISO0 1332所示。SISO1解码器阵列1330中的每个单独的解码器用来对存储在特定存储器组1390中一个存储器的特定存储位置中的数据执行SISO解码。
在格栅编码的环境中(如涡轮格栅编码调制(TTCM)),第一SISO0解码器阵列1310和第二SISO1解码器阵列1330均根据所采用的格栅,为在特定解码迭代中被更新的每个对应存储器位置内的特定数据条目计算出向前度量(α)和向后度量(β)以及外部(extrinsic)值。
针对将被解码的帧中的每个符号,均计算出这些向前度量、向后度量和外部值。向前度量、向后度量和外部值的这些计算全部基于所用的格栅。
以第一SISO0解码器阵列1310开始,在计算出外部值1311以后,将其传送到交织器(π)1320,然后作为“先验概率”(app)信息1321传送到第二SISO1解码器阵列1330。注意,对存储器组1390中数据的访问是以无冲突方式执行的,这是因为其中所采用的存储器映射(根据调制存储器映射MMOD,C,W)提供了更多的自由来选择特定二次多项式排列(QPP)交织(π),以满足具有任何所需数量的并行实现涡轮解码处理器的并行涡轮解码实现。
类似地,在第二SISO1解码器阵列1330内计算出外部值1331以后,将其传送到解交织器(π-1)1340,然后作为“先验概率”(app)信息1341传送到第一SISO0解码器阵列1310。
注意,涡轮解码器1300的迭代解码处理过程中的单次解码迭代执行两个SISO操作;这就是说,迭代解码处理必须经过第一SISO0解码器阵列1310和第二SISO1解码器阵列1330。
达到有效置信级别并收敛得到解后,或者执行解码迭代预定次数后,来自第二SISO1解码器阵列1330的输出作为输出被传送到输出处理器1350。SISO0解码器阵列1310和SISO1解码器阵列1330的操作一般称为对包含在接收的信号1301中的符号的软符号判决的计算。在某些实施例中,以实际位级别执行这些软符号判决。输出处理器1350使用这些软符号判决以生成已被编码在原始涡轮编码信号(例如,一般在信号1301最先进入的通信信道的另一端的涡轮编码器位置内)内的信息位的最佳估计值1351(如硬位和/或符号判决)。
还要注意的是,在交织器(π)1320中执行的每次交织可以使用QPP交织的实施例执行,如附图标号1391所示。同样,在解交织器(π-1)1340中执行的解交织也可以使用QPP解交织的实施例执行。
图14是涡轮解码器1400实施例的示意图,其采用多个SISO解码器来访问存储在多个存储器组中的数据。如其它实施例中所示,将接收的信号(如通常从通信信道接收)提供给I、Q提取模块1402,由其从接收的信号1401中提取I、Q(同相和正交)成分。这可视为接收器预处理,其可包括任何适当的频率转换(若需要,通常从载波频率向下转换)。I、Q然后可以根据调制的适当星座(constellation)和映射进行映射。然后,将映射的I、Q传到度量(metric)生成器1404。度量生成器1404生成适当的度量1441,其从接收的I、Q分派到调制的适当星座和映射中的星座点;星座点的映射在调制中对度量进行索引;这些度量可视为在调制中从实际接收符号的位置到预想星座点位置的换算欧几里德(Euclidian)距离。
继续讨论涡轮解码处理和功能性,度量生成器1404计算出的度量1441然后被同时提供给软输入/软输出(SISO)解码器阵列1410,其既执行SISO0解码操作又执行SISO1解码操作。该SISO0解码器阵列1410包括一定数量的SISO解码器,如SISO 1411,...和SISO 1412所示。SISO解码器阵列1410中每个单独的解码器用来对存储在特定存储器组1490中一个存储器的特定存储器位置中的数据执行SISO解码(针对SISO0解码操作和SISO1解码操作两者)。
在格栅编码的环境中(如涡轮格栅编码调制(TTCM)),SISO解码器阵列14310中的每个SISO解码器根据所采用的格栅,为在特定解码迭代中被更新的每个对应存储器位置内的特定数据条目计算出向前度量(α)和向后度量(β)以及外部(extrinsic)值。
针对将被解码的帧中的每个符号,均计算出这些向前度量、向后度量和外部值。向前度量、向后度量和外部值的这些计算全部基于所用的格栅。
以SISO解码器阵列1410所执行的第一解码操作(即SISO0)开始,在计算出外部值1411以后,将其传送到交织器(π)1420,然后作为“先验概率”(app)信息1421传回到SISO解码器阵列1410。注意,在执行SISO1解码操作时,SISO解码器阵列1410对存储器组1490中数据的访问是以无冲突方式执行的,这是因为其中所采用的存储器映射(根据调制存储器映射MMOD,C,W)提供了更多的自由来选择特定二次多项式排列(QPP)交织(π),以满足具有任何所需数量的并行实现涡轮解码处理器的并行涡轮解码实现。
类似地,在SISO解码器阵列1430内计算出外部值1431以后,将其传送到解交织器(-1)1440,然后作为“先验概率”(app)信息1441传回给SISO解码器阵列1410。
注意,涡轮解码器1400的迭代解码处理过程中的单次解码迭代执行两个SISO操作;这就是说,迭代解码处理必须经过SISO解码器阵列1410两次。
达到有效置信级别并收敛得到解后,或者执行解码迭代预定次数后,来自SISO解码器阵列1430的输出(已经执行了SISO1解码操作)作为输出被传送到输出处理器1450。SISO解码器阵列1410的操作一般称为对包含在接收的信号1401中的符号的软符号判决的计算。在某些实施例中,以实际位级别执行这些软符号判决。输出处理器1450使用这些软符号判决以生成已被编码在原始涡轮编码信号(例如,一般在信号1401最先进入的通信信道的另一端的涡轮编码器位置内)内的信息位的最佳估计值1451(如硬位和/或符号判决)。
还要注意的是,在交织器(π)1420中执行的每次交织可以使用QPP交织的实施例执行,如附图标号1491所示。同样,在解交织器(π-1)1440中执行的解交织也可以使用QPP解交织的实施例执行。
如此实施例中所示,使用了单个SISO解码器阵列1410来执行SISO0解码操作和SISO1解码操作。还需要注意的是,可采用单个模块来实现交织器(π)1420和解交织器(-1)1440两者的功能,这两者都可基于QPP格式实现。
图15是解码涡轮编码信号的方法的流程图。如步骤1510所示,方法1500通过从通信信道接收涡轮编码信号而开始。注意涡轮编码信号可以是使用二次多项式排列(QPP)交织(π)生成的,如步骤1512所示。
方法1500继续在步骤1520中,执行预处理以从涡轮编码信号中提取出编码块。步骤1530中,将该编码块分割成多个子块。同样注意,每个子块本身包括多个数据。
然后在步骤1540中,将多个子块的多个数据存储到多个存储器组内。步骤1550中,根据并行涡轮解码处理,使用多个解码处理器对所述编码块(即多个子块中每个中的数据)进行涡轮解码。步骤1560中,生成被编码在该涡轮编码信号中的信息位的最佳估计值。
图16是解码涡轮编码信号的方法的另一实施例1600的示意图。最初,在某些实施例中,方法1600可以初步地执行与图15中方法1500的步骤1510、1520、1530和1540相似的操作。
如步骤1610所示,方法1600根据并行涡轮解码处理使用多个解码器来执行第一次SISO解码(例如,SISO0,自然顺序相位)并因此生成第一外部信息。多个子块的多个数据存储在多个存储器组内并可从该多个存储器组中读出。
方法1600然后在步骤1620中,使用二次多项式排列(QPP)交织(π)对第一外部信息进行交织,从而生成第一先验概率信息。
步骤1630中,根据并行涡轮解码处理使用多个解码器来执行第二次SISO解码并因此生成第二外部信息。
在执行附图标号1641所示的附加解码操作时,方法1600继续使用二次多项式排列(QPP)解交织(π-1)来解交织(π-1)第二外部信息,从而生成第二先验概率,如步骤1600所示。方法1600然后返回到步骤1610来进行后续的解码迭代。
然而,当最终解码迭代已经执行完(所有SISO0和SISO1解码操作已经执行,特别在最终SISO1解码操作已经执行后),如附图标号1631所示,然后方法1600在步骤1650中生成被编码在涡轮编码信号中的信息位的最佳估计值。
以上借助于说明指定的功能和关系的方法步骤对本发明进行了描述。为了描述的方便,这些功能组成模块和方法步骤的界限和顺序在此处被专门定义。然而,只要给定的功能和关系能够适当地实现,界限和顺序的变化是允许的。任何上述变化的界限或顺序应被视为在权利要求保护的范围内。
以上还借助于说明某些重要功能的功能模块对本发明进行了描述。为了描述的方便,这些功能组成模块的界限在此处被专门定义。当这些重要的功能被适当地实现时,变化其界限是允许的。类似地,流程图模块也在此处被专门定义来说明某些重要的功能,为广泛应用,流程图模块的界限和顺序可以被另外定义,只要仍能实现这些重要功能。上述功能模块、流程图功能模块的界限及顺序的变化仍应被视为在权利要求保护范围内。
本领域技术人员也知悉此处所述的功能模块,和其它的说明性模块、模组和组件,可以如示例或由分立元件、特殊功能的集成电路、带有适当软件的处理器及类似的装置组合而成。
此外,虽然描述细节的目的是清楚和明白上述实施例,本发明并不限于这些实施例。任何本领域技术人员知悉的、对这些特征和实施例进行各种改变或等效替换而得的技术方案,都属于本发明的保护范围。
参考文献
[1]C.Berrou,Y.Saouter,C.Douillard,S.Kerouédan,and M.Jézéquel,“Designing good permutations for turbo codes:towards a single model,”2004 IEEEInternational Conference on Communications(ICC),Vol.1,pp:341-345,20-24 June2004.
[2]O.Y.Takeshita,“On maximum contention-free interleavers andpermutation polynomials over integer rings,”IEEE Trans.Information Theory,vol 52,No.3,March 2006.
[3]A.Tarable,S.Benedetto and G.Montorsi“Mapping Interleaving Laws toParallel Turbo and LDPC Decoder Architectures,”IEEE Trans.on Information Theory,Vol.50,No.9,pp.2002-2009,Sept.2004.
[4]A.Nimbalker,T.E.Fuja,D.J.Costello,Jr.T.K.Blankenship and B.Classon,“Contention-Free Interleavers,”IEEE ISIT 2004,Chicago,USA,June 27-July2,2004.
[5]Ericsson,Motorola,QPP interleaver parameters,3GPP TSG RAN WG1#47bis R1-070484.

Claims (10)

1.一种涡轮解码器,用于对使用二次多项式排列交织生成的涡轮编码信号执行并行解码,其特征在于,所述涡轮解码器包括:
多个涡轮解码器,其数量是2到涡轮编码信号的信息块长度之间的任意整数;
多个存储器;其中:
所述多个涡轮解码器用来读写所述多个存储器;
在第一解码周期:
根据所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第一映射,所述多个涡轮解码器中的每个涡轮解码器从所述多个存储器的第一相应存储器中获取第一信息;
所述多个涡轮解码器中的每个涡轮解码器使用从所述多个存储器的第一相应存储器中获取的所述第一信息执行解码处理,以生成第一更新信息;
所述第一更新信息在所述多个存储器的每个第一相应存储器中覆盖所述第一信息;
在第二解码周期:
根据所述多个解码器和所述多个存储器之间无冲突调制存储器映射的第二映射,所述多个涡轮解码器中的每个涡轮解码器从所述多个存储器的第二相应存储器中获取第二信息;
所述多个涡轮解码器中的每个涡轮解码器使用从所述多个存储器的第二相应存储器中获得的所述第二信息执行解码处理,以生成第二更新信息;
所述第二更新信息在所述多个存储器的每个第二相应存储器中覆盖所述第二信息;
所述多个涡轮解码器用来生成已被编码到所述涡轮编码信号中的至少一个位的最佳估计值。
2.根据权利要求1所述的涡轮解码器,其特征在于,所述涡轮解码器进一步包括:
处理模块,用来在所述涡轮编码信号的迭代解码处理过程中执行所述多个涡轮解码器和所述多个存储器之间的无冲突调制映射;其中:
所述处理模块提供所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第一映射;
所述处理模块提供所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第二映射;
将所述多个涡轮解码器和所述多个存储器相关联的所述无冲突调制存储器映射是基于所述涡轮编码信号的信息块长度和所述涡轮编码信号的虚块长度两者至少其一确定的。
3.根据权利要求1所述的涡轮解码器,其特征在于:
执行涡轮解码时,所述多个涡轮解码器中的涡轮解码器用来在外部信息上执行二次多项式排列交织,从而生成用于后续解码处理的先验概率信息。
4.根据权利要求1所述的涡轮解码器,其特征在于:
执行涡轮解码时,所述多个涡轮解码器中的涡轮解码器用来在外部信息上执行二次多项式排列解交织,从而生成用于后续解码处理的先验概率信息。
5.根据权利要求1所述的涡轮解码器,其特征在于,所述多个涡轮解码器中的涡轮解码器包括:
第一软输入/软输出解码器,用来:
接收与涡轮编码信号相关的多个度量;
在所述多个度量上执行软输入/软输出解码,从而计算第一外部信息;
交织器模块,在第一外部信息上执行交织,从而生成第一先验概率信息;
第二软输入/软输出解码器,在第一先验概率信息上执行软输入/软输出解码,从而生成第二外部信息;
解交织器模块,在第二外部信息上执行解交织,从而生成第二先验概率信息;
输出处理器,用来处理第二软输入/软输出解码器已生成的最新外部信息,从而生成被编码在涡轮编码信号中的信息位的最佳估计值。
6.一种涡轮解码器,用于对使用二次多项式排列交织生成的涡轮编码信号执行并行解码,其特征在于,所述涡轮解码器包括:
多个涡轮解码器,其数量是2到涡轮编码信号的信息块长度之间的任意整数;
多个存储器;
处理模块,用来在所述涡轮编码信号的迭代解码处理过程中执行所述多个涡轮解码器和所述多个存储器之间的无冲突调制映射;其中:
所述多个涡轮解码器用来读写所述多个存储器;
在第一解码周期:
根据所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第一映射,所述多个涡轮解码器中的每个涡轮解码器从所述多个存储器的第一相应存储器中获取第一信息;
所述多个涡轮解码器中的每个涡轮解码器使用从所述多个存储器的第一相应存储器中获取的所述第一信息执行解码处理,以生成第一更新信息;
所述第一更新信息在所述多个存储器的每个第一相应存储器中覆盖所述第一信息;
所述处理模块提供所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第一映射;
在第二解码周期:
根据所述多个解码器和所述多个存储器之间无冲突调制存储器映射的第二映射,所述多个涡轮解码器中的每个涡轮解码器从所述多个存储器的第二相应存储器中获取第二信息;
所述多个涡轮解码器中的每个涡轮解码器使用从所述多个存储器的第二相应存储器中获得的所述第二信息执行解码处理,以生成第二更新信息;
所述第二更新信息在所述多个存储器的每个第二相应存储器中覆盖所述第二信息;
所述处理模块提供所述多个涡轮解码器和所述多个存储器之间无冲突调制存储器映射的第二映射;
所述多个涡轮解码器用来生成已被编码到所述涡轮编码信号中的至少一个位的最佳估计值;且
执行涡轮解码时,所述多个涡轮解码器中的涡轮解码器用来:
在第一外部信息上执行二次多项式排列交织,从而生成用于后续解码处理的第一“先验概率”信息。
在第二外部信息上执行二次多项式排列解交织,从而生成用于后续解码处理的第二“先验概率”信息。
7.根据权利要求6所述的涡轮解码器,其特征在于,所述多个涡轮解码器中的涡轮解码器包括:
第一软输入/软输出解码器,用来:
接收与涡轮编码信号相关的多个度量;
在多个度量上执行第一软输入/软输出解码,从而计算第一外部信息;
交织器模块,在第一外部信息上执行二次多项式排列交织,从而生成第一“先验概率”信息;
第二软输入/软输出解码器,在第一“先验概率”信息上执行软输入/软输出解码,从而生成第二外部信息;
解交织器模块,在第二外部信息上执行二次多项式排列解交织,从而生成第二“先验概率”信息;
输出处理器,用来处理第二软输入/软输出解码已生成的最新外部信息,从而生成被编码在涡轮编码信号中的信息位的最佳估计值。
8.一种用于对使用二次多项式排列交织生成的涡轮编码信号进行解码的方法,其特征在于,所述方法包括:
从通信信道中接收涡轮编码信号;
执行预处理以从所述涡轮编码信号中提取出编码块;
将所述编码块分离成多个子块,以便所述多个子块的每个子块包括相应的多个数据;
将所述多个子块中第一子块的第一多个数据存储到多个存储器组中的第一存储器组;
将所述多个子块中第二子块的第二多个数据存储到多个存储器组中的第二存储器组;
从第一存储器组中获取第一多个数据的第一元素,对其执行涡轮自然顺序相位解码处理,从而更新第一元素,并使用更新后的第一元素覆盖第一存储器组中的第一元素;
从第二存储器组中获取第二多个数据的第二元素,对其执行涡轮自然顺序相位解码处理,从而更新第二元素,并使用更新后的第二元素覆盖第二存储器组中的第二元素;
从第一存储器组中获取第一多个数据的第三元素,对其执行涡轮自然顺序相位解码处理,从而更新第三元素,并使用更新后的第三元素覆盖第一存储器组中的第三元素;
从第二存储器组中获取第二多个数据的第四元素,对其执行涡轮自然顺序相位解码处理,从而更新第四元素,并使用更新后的第四元素覆盖第二存储器组中的第四元素;
根据并行涡轮解码处理,使用多个解码处理器对所述编码块进行涡轮解码处理,其中所述多个解码处理器的数量是2到涡轮编码信号的信息块长度之间的任意整数;
生成被编码在涡轮编码信号中的至少一个信息位的最佳估计值。
9.根据权利要求8所述的方法,其特征在于,所述方法进一步
采用以并行解码组合实现的多个涡轮解码器,以执行涡轮自然顺序相位解码处理和交织顺序相位解码处理;其中:
所述多个涡轮解码器用来读写所述多个存储器组。
10.根据权利要求8所述的方法,其特征在于,所述方法进一步包括:
在外部信息上执行二次多项式排列交织,从而生成用于后续解码处理的“先验概率”信息。
CN2008100084336A 2007-01-17 2008-01-16 涡轮解码器及解码涡轮编码信号的方法 Expired - Fee Related CN101232289B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US88083507P 2007-01-17 2007-01-17
US60/880,835 2007-01-17
US89765307P 2007-01-26 2007-01-26
US60/897,653 2007-01-26
US11/810,991 2007-06-07
US11/810,991 US8065588B2 (en) 2007-01-17 2007-06-07 Formulaic flexible collision-free memory accessing for parallel turbo decoding with quadratic polynomial permutation (QPP) interleave

Publications (2)

Publication Number Publication Date
CN101232289A true CN101232289A (zh) 2008-07-30
CN101232289B CN101232289B (zh) 2010-09-29

Family

ID=39232742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100084336A Expired - Fee Related CN101232289B (zh) 2007-01-17 2008-01-16 涡轮解码器及解码涡轮编码信号的方法

Country Status (6)

Country Link
US (2) US8065588B2 (zh)
EP (1) EP1947773A1 (zh)
KR (1) KR100955305B1 (zh)
CN (1) CN101232289B (zh)
HK (1) HK1122914A1 (zh)
TW (1) TWI406509B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882933A (zh) * 2010-06-11 2010-11-10 北京创毅视通科技有限公司 一种LTE中进行Turbo译码的方法及Turbo译码器
CN102160032A (zh) * 2008-09-18 2011-08-17 吉林克斯公司 地址产生
CN101662333B (zh) * 2008-08-28 2012-07-04 电信科学技术研究院 一种交织方法和装置
CN101944915B (zh) * 2009-07-08 2013-01-30 华为技术有限公司 译码方法和译码装置
CN101771496B (zh) * 2008-12-29 2014-04-02 电信科学技术研究院 一种二次置换多项式交织器
CN104584471A (zh) * 2012-08-20 2015-04-29 高通股份有限公司 用于在umts系统中的传输块解码期间节省功率的方法和装置
CN105141394A (zh) * 2009-09-03 2015-12-09 瑞典爱立信有限公司 涡轮解码器中编码比特的有效软值生成方法及装置
CN103973319B (zh) * 2013-02-06 2017-04-19 联想(北京)有限公司 全整数Turbo码迭代译码的方法和系统
CN109639393A (zh) * 2018-11-15 2019-04-16 武汉同德兴信息技术有限公司 一种基于二次置换多项式的滑动窗口网络编码方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI381653B (zh) * 2009-09-11 2013-01-01 Ind Tech Res Inst 二階重排多項式交織器位址產生裝置與方法
JP5476902B2 (ja) * 2009-09-30 2014-04-23 富士通株式会社 ターボ復号装置及び通信装置
JP2011097245A (ja) * 2009-10-28 2011-05-12 Sony Corp 受信装置、受信方法、プログラム、および受信システム
US8255759B2 (en) * 2009-10-29 2012-08-28 Qualcomm Incorporated APP (a priori probability) storage design for LTE turbo decoder with quadratic permutation polynomial interleaver
US8811452B2 (en) * 2009-12-08 2014-08-19 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing turbo decoder
TW201209711A (en) 2010-08-19 2012-03-01 Ind Tech Res Inst Address generation apparatus and method for quadratic permutation polynomial interleaver
CN102386934A (zh) * 2010-09-01 2012-03-21 财团法人工业技术研究院 二阶重排多项式交织器地址产生装置与方法
KR101482689B1 (ko) * 2013-09-09 2015-01-16 한국과학기술원 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법
CN106330206A (zh) * 2015-06-30 2017-01-11 深圳市中兴微电子技术有限公司 一种译码方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675970B1 (fr) 1991-04-23 1993-08-06 France Telecom Procede de codage convolutif correcteur d'erreurs pseudo-systematique, procede de decodage et dispositifs correspondants.
FR2675968B1 (fr) * 1991-04-23 1994-02-04 France Telecom Procede de decodage d'un code convolutif a maximum de vraisemblance et ponderation des decisions, et decodeur correspondant.
FR2675971B1 (fr) 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
FR2712760B1 (fr) 1993-11-19 1996-01-26 France Telecom Procédé pour transmettre des bits d'information en appliquant des codes en blocs concaténés.
FR2747255B1 (fr) 1996-04-03 1998-07-10 France Telecom Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
FR2753026B1 (fr) 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
FR2753025B1 (fr) 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
US5950220A (en) * 1996-12-13 1999-09-07 Intel Corporation Method and apparatus for providing a logical double sided memory element by mapping single sided memory elements onto a logical double sided memory address space
US6334197B1 (en) * 1998-08-17 2001-12-25 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
CN1124691C (zh) 1999-09-13 2003-10-15 华为技术有限公司 一种串/并行级联卷积码译码器及其译码实现方法
US6603412B2 (en) * 2001-06-08 2003-08-05 Texas Instruments Incorporated Interleaved coder and method
US7020827B2 (en) * 2001-06-08 2006-03-28 Texas Instruments Incorporated Cascade map decoder and method
US7260770B2 (en) * 2001-10-22 2007-08-21 Motorola, Inc. Block puncturing for turbo code based incremental redundancy
KR100444571B1 (ko) * 2002-01-11 2004-08-16 삼성전자주식회사 터보디코더와 알에스디코더가 연접된 디코딩장치 및 그의디코딩방법
DE10310812B4 (de) * 2003-03-12 2007-11-22 Infineon Technologies Ag Dekodiervorrichtung, Trellis-Prozessor und Verfahren
US7305593B2 (en) * 2003-08-26 2007-12-04 Lsi Corporation Memory mapping for parallel turbo decoding
GB2409134B (en) * 2003-12-11 2005-11-09 Motorola Inc A decoder
EP1667329A1 (en) * 2004-12-01 2006-06-07 Istituto Superiore Mario Boella per le Technologie dell Informazione e delle Telecommunicazioni Methods for the generation of S-random interleavers for turbo-decoders with a parallel structure
US8301983B2 (en) * 2005-09-30 2012-10-30 Intel Corporation Modified turbo-decoding message-passing algorithm for low-density parity check codes

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101662333B (zh) * 2008-08-28 2012-07-04 电信科学技术研究院 一种交织方法和装置
CN102160032A (zh) * 2008-09-18 2011-08-17 吉林克斯公司 地址产生
CN102160032B (zh) * 2008-09-18 2016-08-31 吉林克斯公司 地址产生
CN101771496B (zh) * 2008-12-29 2014-04-02 电信科学技术研究院 一种二次置换多项式交织器
CN101944915B (zh) * 2009-07-08 2013-01-30 华为技术有限公司 译码方法和译码装置
CN105141394B (zh) * 2009-09-03 2018-11-13 瑞典爱立信有限公司 涡轮解码器中编码比特的有效软值生成方法及装置
CN105141394A (zh) * 2009-09-03 2015-12-09 瑞典爱立信有限公司 涡轮解码器中编码比特的有效软值生成方法及装置
CN101882933B (zh) * 2010-06-11 2013-02-13 北京创毅讯联科技股份有限公司 一种LTE中进行Turbo译码的方法及Turbo译码器
CN101882933A (zh) * 2010-06-11 2010-11-10 北京创毅视通科技有限公司 一种LTE中进行Turbo译码的方法及Turbo译码器
CN104584471A (zh) * 2012-08-20 2015-04-29 高通股份有限公司 用于在umts系统中的传输块解码期间节省功率的方法和装置
CN104584471B (zh) * 2012-08-20 2017-10-20 高通股份有限公司 用于在umts系统中的传输块解码期间节省功率的方法和装置
CN103973319B (zh) * 2013-02-06 2017-04-19 联想(北京)有限公司 全整数Turbo码迭代译码的方法和系统
CN109639393A (zh) * 2018-11-15 2019-04-16 武汉同德兴信息技术有限公司 一种基于二次置换多项式的滑动窗口网络编码方法

Also Published As

Publication number Publication date
CN101232289B (zh) 2010-09-29
US8065588B2 (en) 2011-11-22
TW200845594A (en) 2008-11-16
US8407561B2 (en) 2013-03-26
EP1947773A1 (en) 2008-07-23
TWI406509B (zh) 2013-08-21
US20120054578A1 (en) 2012-03-01
HK1122914A1 (en) 2009-05-29
US20080172591A1 (en) 2008-07-17
KR20080067987A (ko) 2008-07-22
KR100955305B1 (ko) 2010-04-29

Similar Documents

Publication Publication Date Title
CN101232289B (zh) 涡轮解码器及解码涡轮编码信号的方法
CN101601188B (zh) 利用无争用交织器的turbo编码
CN1155160C (zh) 发送和接收链接码数据的方法和装置
RU2467484C2 (ru) Устройство, содержащее кольцевой буфер, и способ для присвоения вариантов избыточности кольцевому буферу
US6323788B1 (en) Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system
CN101981932B (zh) 用于对信号译码的装置和方法
RU2451392C2 (ru) Способ и устройство для кодирования и декодирования данных
US8453037B2 (en) Turbo coding having combined turbo de-padding and rate matching de-padding
CN101636914A (zh) 用于编码和解码数据的方法和装置
CN1937473A (zh) 随机存取多向cdma2000 turbo编码交织器
US20150039962A1 (en) Methods, apparatus, and systems for coding with constrained interleaving
EP2621091B1 (en) Turbo code parallel interleaving with quadratic permutation polynomial (qpp) functions
CN101309086A (zh) 里德-所罗门码级联反馈系统卷积码的系统的译码方法
CA2366592A1 (en) A system and method employing a modular decoder for decoding turbo and turbo-like codes in a communications network
CN101971504A (zh) 用于多个代码类型的可编程解码的方法和设备
CN101192837B (zh) turbo解码器及解码turbo编码信号的方法
CN101371448A (zh) 快速编码和解码方法及相关设备
US7873897B2 (en) Devices and methods for bit-level coding and decoding of turbo codes
US7975203B2 (en) Quadratic polynomial permutation (QPP) interleaver providing hardware savings and flexible granularity adaptable to any possible turbo code block size
KR101433375B1 (ko) 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
CN101777923B (zh) Ctc编码器、内码交织器以及内码交织方法、编码处理方法
KR20130044254A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
CN108476027B (zh) 窗口交织的turbo(wi-turbo)码
Belkasmi et al. Iterative threshold decoding of product codes constructed from majority logic decodable codes
CN108880569B (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: 1122914

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1122914

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20180504

Address after: Singapore Singapore

Patentee after: Avago Technologies Fiber IP Singapore Pte. Ltd.

Address before: Alton Park Road, Irvine, California, 16215, 92618-7013

Patentee before: Zyray Wireless Inc.

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

Granted publication date: 20100929

Termination date: 20180116

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