CN103684478A - 用于Turbo解码器存储冲突解决的方法和装置 - Google Patents

用于Turbo解码器存储冲突解决的方法和装置 Download PDF

Info

Publication number
CN103684478A
CN103684478A CN201310387245.XA CN201310387245A CN103684478A CN 103684478 A CN103684478 A CN 103684478A CN 201310387245 A CN201310387245 A CN 201310387245A CN 103684478 A CN103684478 A CN 103684478A
Authority
CN
China
Prior art keywords
equipment
information
intermediate buffering
address
address information
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
CN201310387245.XA
Other languages
English (en)
Other versions
CN103684478B (zh
Inventor
A.许布纳
J.贝克曼
M.延宁
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.)
Infineon Technologies AG
Intel Deutschland GmbH
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN103684478A publication Critical patent/CN103684478A/zh
Application granted granted Critical
Publication of CN103684478B publication Critical patent/CN103684478B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/376Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及用于Turbo解码器存储冲突解决的方法和装置。提出了诸如turbo解码设备之类的设备,其中包括地址缓冲设备和元素缓冲设备的中间缓冲设备通信地耦合到多个处理设备和存储器设备。在并行解码过程的周期期间,所述中间缓冲设备从两个不同的处理设备接收分别对应于存储在存储器设备中的代码序列的第一和第二元素的第一和第二地址信息。在所述周期期间,中间缓冲设备基于所述第一地址信息将对所述第一元素的请求发送到存储器设备并且将所述第二地址信息存储在地址缓冲设备中。随后,在所述周期期间,中间缓冲设备从存储器设备接收对应于第一元素的第一元素信息并且将接收到的第一元素信息存储在元素缓冲设备中。

Description

用于Turbo解码器存储冲突解决的方法和装置
背景技术
在通常的turbo(涡轮)解码器中,可以使用并行解码进程,其中包含非置换(non-permuted)符号的非置换代码块和包含置换(permuted)符号的置换代码块可以被分成多个子块、存储在不同的存储体中、以及使用多个处理器被并行解码。可以以这种方式对非置换代码块进行解码,因为非置换符号以线性的次序被存储在存储体中。
然而,因为置换符号被实时(on-the-fly)生成,以使得相应的非置换符号被从存储体中读取并按需布置到置换位置,所以当对置换代码块进行解码的时候可能产生问题。例如,当两个或更多的符号必须同时从相同的存储体中读取时,冲突可能产生,这导致延迟并且减小吞吐量。冲突的数量以及导致的吞吐量的减小通常足够高使得turbo解码器的吞吐量需求不能被满足。通常的解决方案包括使用专门设计的硬件(例如,可能是标准的部分的无竞争(contention-free)交织器)或更大量的存储体和处理器,这两种方案都具有提高turbo解码器的复杂度和成本的不合需要的效果。
发明内容
本文所述的一些特征大体涉及可以减少在具有一个或多个并行存储器访问的过程(诸如,并行解码过程)期间的冲突量的结构和过程。在一些方面中,可以在存储器设备和多个处理设备之间引入中间缓冲设备。在一些实例中,中间缓冲设备可以能够减少由并行存储器访问所引起的存储冲突并且允许处理设备的无缝或准无缝操作。
根据一些方面,提供了通信地耦合到多个处理设备和存储器设备(例如,在其之间)的中间缓冲设备。中间缓冲设备可以包括地址缓冲设备和元素缓冲设备,其可以均为先入先出(FIFO)存储器设备。
在一些布置中,中间缓冲设备可以被配置成在并行解码过程的单个硬件周期期间被多次访问。例如,中间缓冲设备可以被配置成从一个处理设备接收第一地址信息并且从另一个处理设备接收第二地址信息。第一地址信息可以是例如对应于存储在存储器设备中的代码序列的第一元素的第一存储地址。第二地址信息可以是例如对应于存储在存储器设备中的代码序列的第二元素的第二存储地址。因此,第一地址信息和第二地址信息可以都以相同的存储器设备为目的地。
在一些布置中,中间缓冲设备可以被配置成基于第一地址信息而向存储器设备发送对第一元素的请求,并且在地址缓冲设备中存储第二地址信息。随后,中间缓冲设备可以被配置成从存储器设备接收对应于第一元素的第一元素信息并且将第一元素信息存储在元素缓冲设备中。在一些实例中,中间缓冲设备可以被进一步配置成,在并行解码过程随后的硬件周期期间,向存储器设备发送对第二元素的请求,从存储器设备接收对应于第二元素的第二元素信息,并且将第二元素信息连同第一元素信息一起存储在元素缓冲设备中。
本发明内容不是意在识别本公开的关键的或本质的特征,而仅仅归纳了其某些特征和变形。其他的细节和特征也将在下文的部分中进行描述。
附图说明
通过鉴于附图参考下述描述可以获得本发明的更完整的理解和本文所述各方面的潜在的优势,其中相同的附图标记指示相同的特征,并且其中:
图1图示了示例性编码设备;
图2图示了示例性解码设备;
图3图示了示例性中间缓冲设备;
图4图示了另一个示例性中间缓冲设备;
图5图示了用于对代码序列进行解码的示例性配置;
图6图示了用于对代码序列进行解码的示例性技术;
图7图示了用于对代码序列进行解码的示例性过程流;以及
图8图示了用于对代码序列进行解码的另一个示例性过程流。
具体实施方式
本文所述的设备和/或软件可以使用一个或多个处理器、诸如专用集成电路(ASIC)之类的集成电路(IC)、诸如现场可编程门阵列(FPGA)之类的可编程逻辑设备(PLD)、存储设备(例如,存储器)、诸如印刷电路板(PCB)之类的电路板、可执行指令、软件、以及其他硬件和/或软件元件及其组合来实现。例如,被处理器和其他组件所使用的可执行指令和数据可以被存储在存储器中、在硬件逻辑中、或在任何其他存储设备中。存储器可以包括任何各种类型的有形机器可读存储介质,包括下述类型的存储设备的一个或多个:只读存储器(ROM)模块、随机存取存储器(RAM)模块、磁带、磁盘(例如,硬盘驱动器)、光盘(例如,CD-ROM盘、CD-RW盘、DVD盘)、闪存、相变存储器、EEPROM存储器、和其他易失性和非易失性存储器。软件可以被存储在存储器内以提供指令给处理器和其他组件以使得当指令被运行时,可以使处理器或其他组件来执行本文所述的各种功能或方法、作为本文所述的各种设备起作用、或二者。软件可以包括应用和操作系统软件二者,并且可以包括代码段、指令(例如,计算机可读指令、计算机可执行指令)、预编译代码、编译代码、计算机程序、程序模块、引擎、程序逻辑、及其组合。例如,软件可以包括本文所述的并行解码过程或包括并行存储器访问的另一个过程。
本文所述的设备和/或组件可以包括一个或多个通信设备并且可以通过一个或多个通信链路而通信地耦合。通信设备可以包括例如通信接口、滤波器、放大器、分离器、波导器、发射器、接收器、收发器、和其他有线或无线组件。通信链路可以包括例如,诸如导电线和光纤之类的有线通信链路以及诸如射频(RF)通信链路、红外(IR)通信链路、微波通信链路、声学通信链路、和无线通信网络链路(例如,Wi-Fi)之类的无线通信链路。
图1图示了根据本文所述的一个或多个方面用于对信息序列进行编码的示例性编码设备100。编码设备100可以是例如turbo编码器,其被包括在计算设备(例如,移动电话、平板计算机、车载计算系统、或任何其他的设备或设备的组合)的无线发射器中或通信地耦合到所述无线发射器。在一些方面中,编码设备100可以包括多于或少于图1所示的组件的组件。在一些方面中,编码设备100的组件的物理布置可以与图1不同。应该理解的是本文所述的特征不限于并行级联码(例如,turbo码),而可以应用于诸如串行级联码和低密度奇偶校验(LDPC)码之类的其他迭代可编码代码。
编码设备100可以包括用于使用诸如turbo编码过程之类的并行编码过程来对信息序列u进行编码的硬件、软件、或二者。例如,编码设备100可以包括编码设备120、交织设备130、编码设备140、和复用设备150。信息序列u可以是例如包括K个离散元素或符号的离散信息序列 u = {u[0],u[1],…,u[K-1]}。在一些布置中,信息序列u的块大小K可以是变化的。例如,对于长期演进(LTE)通信,块大小K可以在40和6144位之间变化。在另一个示例中,对于通用移动电信系统(UMTS)通信,块大小K可以在40和5144位之间变化。
编码设备120可以是例如第一递归系统卷积(RSC)编码器,所述第一递归系统卷积编码器对经由通信链路102接收到的信息序列u进行编码以在通信链路104处生成代码序列(u,p 1 ),其中p 1 是第一奇偶校验序列。编码设备120可以使用例如带反馈的移位寄存器来生成第一奇偶校验序列p 1
交织设备130可以是例如接收并处理信息序列u以生成置换信息序列u P的交织器。信息序列u P可以是例如包括K个离散元素或符号的离散信息序列u P = {u P[0],u P[1],…,u P[K-1]}。在说明性示例中,其中K = 3,置换信息序列u P的元素{u P[0],u P[1],u P[2]}可以分别对应于信息序列u的元素{u[2],u[0],u[1]}。交织设备130可以通过例如逐块地对信息序列u进行交织来生成置换信息序列u P。交织设备130然后可以在通信链路106处输出置换信息序列u P
编码设备140可以是例如第二RSC编码器,所述第二RSC编码器对经由通信链路106接收到的置换信息序列u P进行编码以在通信链路108处生成第二奇偶校验序列p 2 。编码设备140可以使用例如带反馈的移位寄存器来生成第二奇偶校验序列p 2 。在一些布置中,编码设备140可以通过从代码序列(u P ,p 2 )中排除置换信息序列u P来在通信链路108处生成第二奇偶校验序列p 2
通信链路104处的代码序列(u,p 1 )和通信链路108处的第二奇偶校验序列p 2 可以被发送到复用设备150。复用设备150可以是例如将代码序列(u,p 1 )与第二奇偶校验序列p 2 相结合以在通信链路110处生成代码序列(u,p 1, p 2 )的复用器(MUX)。在一些布置中,编码设备110可以包括删余器(puncturer),所述删余器用于对p 1 p 2 删余以在一些实例中提高传输速率(例如,从1/3码率到1/2码率)。
编码设备100可以在通信链路110处发送代码序列(u,p 1, p 2 )到另一个设备。通信链路110可以是例如诸如空中接口之类的传输信道。例如,编码设备100可以将代码序列(u,p 1, p 2 )调制到载波上,并且通过通信链路110发送已调制的代码序列。在一些实施例中,编码设备110可以经由被配置成执行速率匹配、交织、和调制的一个或多个中间设备而发送代码序列(u,p 1, p 2 )到解码设备(诸如,图2所示的解码设备200)。
图2图示了根据本文所述的一个或多个方面用于对代码序列进行解码的示例性解码设备200。解码设备200可以是例如被包含在计算设备的无线接收器中或通信地耦合到所述无线接收器的turbo解码器。在一些方面中,解码设备200可以包括多于或少于图2所示的组件的组件。在一些方面中,解码设备200的组件的物理布置可以与图2不同。将理解的是本文所述的特征不限于并行级联码(例如,turbo码)而可以应用于诸如串行级联码和低密度奇偶校验(LDPC)码之类的其他迭代可解码代码。
解码设备200可以包括用于使用诸如例如turbo解码过程之类的迭代解码过程来对接收到的代码序列Lu进行解码的硬件、软件、或二者。例如,解码设备200可以包括解复用设备210、解码设备220和240、交织设备230和250、以及解交织设备260和270。代码序列Lu可以是例如实际或定点值的序列,诸如对数似然比(LLR)值(例如,软比特)。例如,代码序列Lu可以是包括K个LLR值的序列Lu = {Lu[0],Lu[1],…,Lu[K-1]},其中K是码块大小。LLR值可以对应于逻辑0的概率和逻辑1的概率之比的对数,反之亦然。例如,元素Lu[0]的LLR值可以指示元素Lu[0]对应于逻辑0或逻辑1的概率。
解码设备200可以在通信链路202处接收代码序列(Lu,Lp 1 ,Lp 2 )。通信链路202可以是例如诸如空中接口之类的传输信道。可以从例如诸如编码设备100或通信地与其耦合的中间设备之类的设备来接收代码序列(Lu,Lp 1 ,Lp 2 )。例如,解码设备200可以在通信链路202处接收已调制的代码序列并且对接收到的序列进行解调以生成代码序列(Lu,Lp 1 ,Lp 2 )。代码序列(Lu,Lp 1 ,Lp 2 )可以包括例如LLR值的三个序列。例如序列LuLp 1 Lp 2 的LLR值可以分别对应于参考图1所述的序列up 1 p 2 的元素。
解码设备200可以发送代码序列(Lu,Lp 1 ,Lp 2 )到解复用设备210。解复用设备210可以是例如处理代码序列(Lu,Lp 1 ,Lp 2 )以生成并输出代码序列LuLp 1 Lp 2 的解复用器(DEMUX)。解复用设备210可以分别在通信链路212和216处发送代码序列LuLp 1 到解码设备220。解复用设备210可以在通信链路218处发送代码序列Lp 2 到解码设备240。
解复用设备210可以在通信链路214处发送代码序列Lu到交织设备230。交织设备230可以是例如接收并处理代码序列Lu以生成置换代码序列Lu P的交织器。交织设备230可以在通信链路232处发送置换代码序列Lu P到解码设备240。
解码设备220可以是例如在通信链路212处接收代码序列Lu、在通信链路216处接收奇偶校验序列Lp 1 、在通信链路262处接收先验序列Lu a的第一软输入软输出(SISO)解码器。解码设备220可以处理接收到的序列Lu、Lp 1 Lu a以在通信链路222处生成外部序列(extrinsic sequence)以及在通信链路224处生成后验序列。在一个示例中,解码设备220可以使用诸如逐符号的后验概率(s/s APP)解码过程之类的最大后验(MAP)技术来处理代码序列Lu、Lp 1 Lu a。在另一个示例中,解码设备220可以使用软输出维特比算法(SOVA)来处理代码序列Lu、Lp 1 Lu a
在通信链路222处输出的外部序列可以包括例如在各个半迭代(half-iteration)(例如,i)期间所生成并且可以表示解码过程的收敛的信息。半迭代对应于由解码设备(例如,解码设备220和240之一)所执行的解码步骤,并且一个迭代包括两个半迭代(例如,由解码设备220所执行的一个半迭代和由解码设备240所执行的一个半迭代)。解码设备220可以在通信链路222处发送外部序列到交织设备250。交织设备250可以是例如接收并处理外部序列以生成置换先验序列Lu P,a的交织器。交织设备230可以在通信链路252处发送置换先验序列Lu P,a给解码设备240,其可以被用作随后的半周期(例如,i+1)期间的先验信息。
在通信链路224处输出的后验序列可以包括对应于参考图1所描述的信息序列u的LLR值。例如,计算设备可以接收在通信链路224处输出的后验序列并且基于后验LLR值的数学符号来确定信息序列u的二进制元素。
解码设备240可以是例如在通信链路232处接收置换代码序列Lu P 、在通信链路218处接收奇偶校验序列Lp 2 、在通信链路252处接收置换先验序列Lu P,a的第二软输入软输出(SISO)解码器。解码设备240可以处理接收到的序列Lu P 、Lp 2 Lu P,a以在通信链路242处生成置换外部序列以及在通信链路244处生成置换后验序列。例如,解码设备240可以使用MAP或SOVA技术来处理代码序列Lu P 、Lp 2 Lu P,a
在通信链路242处输出的置换外部序列可以包括例如在各个半迭代期间所生成并且可以表示解码过程的收敛的信息。解码设备240可以在通信链路242处发送置换外部序列到解交织设备260。解交织设备260可以是例如接收并处理置换外部序列以生成先验序列Lu a的解交织器。解交织设备260可以在通信链路262处发送先验序列Lu a给解码设备220,其可以被用作随后的半迭代期间的先验信息。
解码设备240可以在通信链路244处发送置换后验序列到解交织设备270。解交织设备270可以是例如接收并处理置换后验序列以生成非置换后验序列的解交织器。交织设备270可以在通信链路272处输出后验序列。
在通信链路272处输出的后验序列可以包括对应于参考图1所描述的信息序列u的LLR值。例如,计算设备可以接收在通信链路272处输出的后验序列并且基于后验LLR值的数学符号来确定信息序列u的二进制元素。
在通信链路224和272处输出的后验序列的可靠性可以在一些实例中随每个半迭代而增长直到解码过程已经收敛或已经达到迭代的预定次数。例如,后验序列的LLR值的每一个的幅度可以随每个半迭代而变得更大。
在一些实施例中,由解码设备200所实现的解码过程可以是利用并行处理设备的并行解码过程(或包括并行存储器访问的另一个过程)。这些处理设备在本文中可以称作工作者(worker)或并行工作者。例如,可以使用并行解码过程,其中包括代码序列Lu的LLR值的第一代码块和包括置换代码序列Lu P 的置换LLR值的第二代码块可以被分成多个子块(例如,长度K sub < K的代码序列,其中K sub表示子块中LLR值的数量)。子块可以被存储在不同的存储器设备中,并且使用多个处理设备来并行解码。例如,解码设备220、解码设备240或二者可以使用两个或更多的处理设备和一个或多个存储器设备来并行处理所述子块。
在某些实现方式中,解码设备220可以按线性的次序来处理并存储非置换代码序列(Lu,Lp 1 )的LLR值。解码设备240可以通过从其中存储非置换元素的一个或多个存储器设备中读取对应的非置换元素并且将它们排列在它们的置换位置来处理置换代码序列(Lu P ,Lp 2 )的元素(例如,LLR值)。在一些实例中,通过使用通信地耦合到一个或多个存储器设备以及解码设备220和240之一或二者的处理设备的中间缓冲设备可以减少存储冲突。参考图3-6更详细地对中间缓冲设备进行描述。
图3图示了用于在具有诸如本文所述的并行解码过程之类的一个或多个并行存储器访问的过程期间从解码设备(诸如,解码设备200)的存储器设备中读取信息的示例性中间输入缓冲设备。例如,解码设备200可以包括一个或多个中间输入缓冲设备(诸如,中间输入缓冲设备310),其中每个中间输入缓冲设备可以通信地耦合到存储器设备(例如,在通信链路304和306处)和多个处理设备(例如,在通信链路302a-n和308a-n处)。
中间输入缓冲设备310可以包括地址缓冲设备312和元素缓冲设备314。在一些实例中,地址缓冲设备312和元素缓冲设备314可以被配置成在并行解码过程的单个周期期间被访问多次。在示例中,当中间输入缓冲设备310在单个周期期间接收对于存储在单个存储器设备中的两个或更多的元素的请求(例如,诸如存储地址之类的地址信息)时,中间输入缓冲设备310可以从存储器设备读取所述元素之一,按预定的次序存储请求的剩余部分,并且在随后的周期期间从存储器设备中读取对应的元素。用于存储请求和从存储器设备中读取元素的次序可以被预定义。可以在之后的时间点使用相同的次序用于将元素发送到请求这些元素的处理设备(例如,在2个硬件周期的预运行过程之后)。
地址缓冲设备312可以包括用于接收、存储和发送以存储器设备为目的地的信息的任何合适的硬件、软件或二者,所述信息例如对应于存储在存储器设备中的代码序列的一个或多个元素的地址信息。地址缓冲设备312可以是例如先入先出(FIFO)存储器设备。地址信息可以包括例如指示代码序列的特定元素或符号的地址或对其的请求的信息。例如,地址信息可以包括针对存储在存储器设备中的元素的存储地址。
元素缓冲设备314可以包括用于接收、存储和发送以多个处理设备为目的地的信息的任何合适的硬件、软件或二者,所述信息例如对应于存储在存储器设备中的代码序列的一个或多个元素的元素信息。元素缓冲设备314可以是例如FIFO存储器设备。元素信息可以包括例如指示代码序列的特定LLR值的信息。例如,中间输入缓冲设备310可以在通信链路306处从存储器设备接收元素信息并将所述元素信息存储在元素缓冲设备314中。
在一些实施例中,中间输入缓冲设备310可以包括或通信地耦合到逻辑设备(例如,用于优先级处理的逻辑设备),所述逻辑设备通信地耦合到多个处理设备之一和一个或多个其他中间输入缓冲设备,并且被配置成从中间输入缓冲设备310和一个或多个其他中间输入缓冲设备接收元素信息并且将接收到的元素信息按预定的次序发送到处理设备。
在说明性示例中,在并行解码过程的周期期间,中间输入缓冲设备310可以在通信链路306处接收对应于代码序列的第一元素的元素信息并将对应于第一元素的元素信息存储在元素缓冲设备314中。在并行解码过程的下一个周期期间,中间输入缓冲设备310可以在通信链路306处接收对应于代码序列的第二元素的元素信息,并将对应于第二元素的元素信息存储在元素缓冲设备314中。随后,在并行解码过程的下一个周期期间,中间输入缓冲设备310可以将对应于代码序列的第一元素的元素信息发送到第一处理设备(例如,在通信链路308a处)并且将对应于代码序列的第二元素的元素信息发送到第二处理设备(例如,在通信链路308n处)。
图4图示了用于在具有诸如本文所述的并行解码过程之类的一个或多个并行存储器访问的过程期间将信息写入(例如,存储)到解码设备(诸如,解码设备200)的存储器设备的示例性中间输出缓冲设备。例如,解码设备200可以包括一个或多个中间输出缓冲设备(诸如,中间输出缓冲设备410),其中每个中间输入缓冲设备可以通信地耦合到存储器设备(例如,在通信链路404和408处)和多个处理设备(例如,在通信链路402a-n和406a-n处)。在一些实施例中,中间输出缓冲设备410除参考图4所讨论的特征之外还可以包括参考中间输入缓冲设备310所讨论的特征的任何组合。
中间输出缓冲设备410可以包括地址缓冲设备412和元素缓冲设备414。在一些实施例中,地址缓冲设备412和元素缓冲设备414除参考图4所讨论的特征之外还可以包括参考地址缓冲设备312和元素缓冲设备314所讨论的特征的任何组合。
在说明性示例中,在并行解码过程的周期期间,多个处理设备之一可以生成对应于代码序列的元素的元素信息和地址信息。处理设备可以将所述元素信息和地址信息发送到通信地耦合到存储器设备的中间输出缓冲设备,其中所述信息将要被写入到所述存储器设备中。例如,中间输出缓冲设备410可以通信地耦合到与由处理设备所生成的元素信息和地址信息关联的存储器设备。中间输出缓冲设备410可以在通信链路402a处接收地址信息并且在通信链路406a处接收元素信息。
在一个示例中,中间输出缓冲设备410可以确定没有元素信息被存储在元素缓冲设备414中并且没有从另一个处理设备接收到信息。作为响应,中间输出缓冲设备410可以将地址信息和元素信息直接发送到存储器设备(例如,分别在通信链路404和408处)。存储器设备然后可以将接收到的元素信息写入与接收到的地址信息相对应的存储地址。
在另一个示例中,中间输出缓冲设备410可以确定元素信息被存储在元素缓冲设备414中。作为响应,中间输出缓冲设备410可以将地址信息和元素信息直接存储在元素缓冲设备414中。
在另一个示例中,中间输出缓冲设备410可以确定没有元素信息被存储在元素缓冲设备414中但是从另一个处理设备接收到信息(例如,元素信息和地址信息)。作为响应,中间输出缓冲设备410可以将与被存储的元素信息相对应的地址信息和元素信息发送到存储器设备(例如,分别在通信链路404和408处)。中间输出缓冲设备410然后可以将从另一个处理设备接收到的地址信息存储在地址缓冲设备412中并且将从另一个处理设备接收到的元素信息存储在元素缓冲设备414中。
图5图示了根据本文所述的一个或多个方面用于对代码序列进行解码的示例性系统。在一些实施例中,图5的示例性系统可以被包括在诸如解码设备200之类的解码设备中用于对诸如置换代码序列(Lu P,Lp 2)之类的代码序列进行解码。在一些方面中,示例性系统可以包括多于或少于图5所示的组件的组件。在一些方面中,示例性系统的组件的物理布置可以不同于图5。
图5的示例性系统可以包括与并行存储器设备一样多的并行中间缓冲设备,以及至少与并行处理器设备一样多的并行存储器设备。在一个示例中,图5的示例性系统可以包括存储器设备510和520、处理设备580和590、以及通信地耦合在存储器设备510和520与处理设备580和590之间的设备530。因此,设备530可以包括中间缓冲设备540和550。
存储器设备510和520可以包括用于接收、存储和发送对应于代码序列的元素的元素信息的任何合适的硬件、软件或二者。例如,存储器设备510可以存储对应于代码序列(例如,(Lu,Lp 1 ))的第一子块的元素的元素信息,并且存储器设备520可以存储对应于代码序列的第二子块的元素的元素信息。
处理设备580和590可以包括用于生成和发送地址信息以及接收、存储和发送对应于代码序列的元素的元素信息的任何合适的硬件、软件或二者。例如,处理设备580可以包括用于生成对应于置换代码序列(例如,(Lu P,Lp 2))的第一子块的元素的地址信息的地址生成器582,并且处理设备590可以包括用于生成对应于置换代码序列的第二子块的元素的地址信息的地址生成器592。处理设备580还可以包括用于存储对应于置换代码序列的第一子块的元素的元素信息的存储器584,并且处理设备590可以包括用于存储对应于置换代码序列的第二子块的元素的元素信息的存储器594。在一些实现方式中,处理设备580和590可以进一步包括用于执行APP解码的逻辑设备,所述逻辑设备例如分支度量计算单元、前向递归单元、反向递归单元、后验信息处理单元、外部信息处理单元、和任何其他设备或其组合。
设备530可以包括用于提供如本文所述的中间缓冲的任何合适的硬件、软件、或二者。例如,设备530可以包括中间缓冲设备540、中间缓冲设备550和逻辑设备562、564、572、574。
中间缓冲设备540可以通信地耦合到存储器设备510以及处理设备580和590。中间缓冲设备550可以通信地耦合到存储器设备520以及处理设备580和590。在一些实例中,中间缓冲设备540和中间缓冲设备550可以包括参考中间输入缓冲设备310所讨论的任何特征。例如,中间缓冲设备540可以包括地址缓冲设备542和元素缓冲设备544,并且中间缓冲设备550可以包括地址缓冲设备552和元素缓冲设备554。在一些实例中,地址缓冲设备542和地址缓冲设备552可以包括参考地址缓冲设备312所讨论的任何特征。在一些实例中,元素缓冲设备544和元素缓冲设备554可以包括参考元素缓冲设备314所讨论的任何特征。
逻辑设备562(例如,用于优先级处理的逻辑设备)可以通信地耦合到地址缓冲设备542以及处理设备580和590。逻辑设备562可以被配置成从处理设备580和590接收地址信息(例如,分别由地址生成器582和592所生成的地址信息)并且将接收到的地址信息按预定的次序发送到地址缓冲设备542。逻辑设备572(例如,用于优先级处理的逻辑设备)可以通信地耦合到地址缓冲设备552以及处理设备580和590。逻辑设备572可以被配置成从处理设备580和590接收地址信息并且将接收到的地址信息按预定的次序发送到地址缓冲设备552。
逻辑设备564(例如,用于优先级处理的逻辑设备)可以通信地耦合到处理设备580和元素缓冲设备544和554。逻辑设备564可以被配置成从元素缓冲设备544和554接收元素信息(例如,分别对应于存储在存储器设备510和520中的元素信息)并且将接收到的元素信息按预定的次序发送到处理设备580。逻辑设备574(例如,用于优先级处理的逻辑设备)可以通信地耦合到处理设备590和元素缓冲设备544和554。逻辑设备574可以被配置成从元素缓冲设备544和554接收元素信息并且将接收到的元素信息按预定的次序发送到处理设备590。
图6a-6f图示了使用例如参考图5所描述的示例性系统来对代码序列进行解码的示例性技术。
如图6a所示,代码序列610可以是包括六个元素(例如,K = 6)的非置换代码序列(例如,Lu)。例如,代码序列610可以包括元素611(例如,Lu[0])、元素612(例如,Lu[1])、元素613(例如,Lu[2])、元素614(例如,Lu[3])、元素615(例如,Lu[4])、和元素616(例如,Lu[5])。每个元素可以与地址信息和元素信息相关联。代码序列610可以被分成子块618(例如,元素611、612和613)以及子块619(例如,元素614、615和616)。与子块618相对应的元素可以被存储在一个存储器设备中(例如,存储器设备510),并且与子块619相对应的元素可以被存储在另一个存储器设备中(例如,存储器设备520)。
代码序列620可以是包括代码序列610的置换元素的置换代码序列(例如,Lu P)。例如,代码序列620可以包括元素621(例如,与元素613相对应的Lu[2])、元素622(例如,与元素616相对应的Lu[5])、元素623(例如,与元素615相对应的Lu[4])、元素624(例如,与元素612相对应的Lu[1])、元素625(例如,与元素611相对应的Lu[0])、和元素626(例如,与元素614相对应的Lu[3])。代码序列610可以被分成子块628(例如,元素621、622和623)和子块629(例如,元素624、625和626)。对应于子块628的元素可以被一个处理设备(例如,处理设备580)请求和处理,并且对应于子块629的元素可以被另一个处理设备(例如,处理设备590)请求和处理。
如图6b所示,在并行解码过程的第一硬件周期(例如,T = 1)期间,地址生成器582可以生成对应于元素621(例如,与元素613相对应的Lu[2])的地址信息631,并且地址生成器592可以生成对应于元素624(例如,与元素612相对应的Lu[1])的地址信息634。
地址生成器582和592可以分别将地址信息631和634发送到中间缓冲设备540,因为元素613和612存储在存储器设备510中。中间缓冲设备540可以将地址信息631(或者对元素621或613的请求)发送到存储器设备510并且将地址信息634存储在地址缓冲设备542中。响应于该传输,中间缓冲设备540可以接收元素信息(例如,对应于元素613)并且将接收到的元素信息存储在元素缓冲设备544中。
在一个周期之后,中间缓冲设备540可以存储对应于元素613的元素信息和地址信息634,而中间缓冲设备550可以不存储元素信息和地址信息。
如图6c所示,在并行解码过程的第二硬件周期(例如,T = 2)期间,地址生成器582可以生成对应于元素622(例如,与元素616相对应的Lu[5])的地址信息632,并且地址生成器592可以生成对应于元素625(例如,与元素611相对应的Lu[0])的地址信息635。
地址生成器582可以将地址信息632发送到中间缓冲设备550,因为元素616存储在存储器设备510中。中间缓冲设备540可以将地址信息634(或者对元素624或612的请求)发送到存储器设备510并且将地址信息632存储在地址缓冲设备542中。响应于该传输,中间缓冲设备540可以接收元素信息(例如,对应于元素612)并且将接收到的元素信息存储在元素缓冲设备544中。
地址生成器592可以将地址信息635发送到中间缓冲设备550,因为元素611存储在存储器设备520中。中间缓冲设备550可以将地址信息635(或者对元素625或616的请求)发送到存储器设备520并且作为响应,接收元素信息(例如,对应于元素616)并且将接收到的元素信息存储在元素缓冲设备554中。
在两个周期之后,中间缓冲设备540可以存储对应于元素613和612的元素信息和地址信息635,而中间缓冲设备550可以存储对应于元素616的元素信息而不存储地址信息。在一些实例中,上述第一硬件周期(例如,T = 1)和第二硬件周期(例如,T = 2)可以被包含在并行解码过程的预运行过程中,其可以表示为T pre = 2 周期。
如图6d所示,在并行解码过程的第三硬件周期(例如,T = 3)期间,地址生成器582可以生成对应于元素623(例如,与元素615相对应的Lu[4])的地址信息633,并且地址生成器592可以生成对应于元素626(例如,与元素614相对应的Lu[3])的地址信息636。
地址生成器582和592可以分别将地址信息633和636发送到中间缓冲设备550,因为元素615和614存储在存储器设备520中。中间缓冲设备550可以将地址信息633(或者对元素623或615的请求)发送到存储器设备520并且将地址信息636存储在地址缓冲设备552中。响应于该传输,中间缓冲设备550可以接收元素信息(例如,对应于元素615)并且将接收到的元素信息存储在元素缓冲设备554中。
中间缓冲设备540可以将地址信息635(或者对元素625或611的请求)发送到存储器设备510并且作为响应,接收元素信息(例如,对应于元素611)并且将接收到的元素信息存储在元素缓冲设备544中。中间缓冲设备540可以将对应于元素613的元素信息发送到处理设备580,其可以接收并存储元素信息作为元素信息621。中间缓冲设备540可以将对应于元素612的元素信息发送到处理设备590,其可以接收并存储元素信息作为元素信息624。
在三个周期之后,中间缓冲设备540可以存储对应于元素611的元素信息而不存储地址信息,而中间缓冲设备550可以存储对应于元素616和615的元素信息以及地址信息636。
如图6e所示,在并行解码过程的第四硬件周期(例如,T = 4)期间,中间缓冲设备540可以将对应于元素611的元素信息发送到处理设备590,其可以接收并存储元素信息作为元素信息625。
中间缓冲设备550可以将地址信息636(或者对元素626或614的请求)发送到存储器设备520并且作为响应,接收元素信息(例如,对应于元素614)并且将接收到的元素信息存储在元素缓冲设备554中。中间缓冲设备550可以将对应于元素616的元素信息发送到处理设备580,其可以接收并存储元素信息作为元素信息622。
在四个周期之后,中间缓冲设备540可以不存储元素信息也不存储地址信息,而中间缓冲设备550可以存储对应于元素615和614的元素信息而不存储地址信息。
如图6f所示,在并行解码过程的第五硬件周期(例如,T = 5)期间,中间缓冲设备550可以将对应于元素615的元素信息发送到处理设备580,其可以接收并存储元素信息作为元素信息623。中间缓冲设备550可以将对应于元素614的元素信息发送到处理设备590,其可以接收并存储元素信息作为元素信息626。
图7图示了用于在本文所述的并行解码过程的周期期间发送诸如地址信息之类的信息到存储器设备(例如,存储器设备510、存储器设备520)的示例性过程流。示例性过程流的一些方面可以包括参考图1-6所描述的方面。同样地,尽管关于图7所述的步骤也将参考图5的示例性系统,但这只是一个示例;这些或类似的步骤也可以在该系统的变形上执行。
在步骤702处,中间缓冲设备(例如,设备530、中间缓冲设备540、中间缓冲设备550)接收以存储器设备为目的地的第一地址信息。第一地址信息可以对应于存储在存储器设备中的代码序列的第一元素并且可以从第一处理设备(例如,处理设备580)接收。
在步骤704处,中间缓冲设备接收以存储器设备为目的地的第二地址信息。第二地址信息可以对应于存储在存储器设备中的代码序列的第二元素并且可以从第二处理设备(例如,处理设备590)接收。
在步骤706处,中间缓冲设备基于第一地址信息向存储器设备发送请求。例如,中间缓冲设备可以向存储器设备发送第一地址信息或对于与第一地址信息相对应的元素的请求。
在步骤708处,中间缓冲设备将第二地址信息存储在地址缓冲设备中(例如,地址缓冲设备542、地址缓冲设备552)。
图8图示了用于在本文所述的并行解码过程的周期期间将诸如元素信息之类的信息发送到处理设备(例如,处理设备580、处理设备590)的示例性过程流。示例性过程流的一些方面可以包括参考图1-6所描述的方面。同样地,尽管关于图8所述的步骤也将参考图5的示例性系统,但这只是一个示例;这些或类似的步骤也可以在该系统的变形上执行。
在步骤802处,中间缓冲设备(例如,设备530、中间缓冲设备540、中间缓冲设备550)接收以处理设备为目的地的第一元素信息。第一元素信息可以对应于被处理设备所请求的代码序列的第一元素并且可以从第一存储器设备(例如,处理设备510)接收。
在步骤804处,中间缓冲设备接收以处理设备为目的地的第二元素信息。第二元素信息可以对应于被处理设备所请求的代码序列的第二元素并且可以从第二存储器设备(例如,处理设备520)接收。
在步骤806处,中间缓冲设备将第一元素信息发送到处理设备。
在步骤808处,中间缓冲设备将第二元素信息存储在元素缓冲设备中(例如,元素缓冲设备544、元素缓冲设备554)。
因此已经描述了各种示例,其中可以使用可以减少存储冲突的并行解码过程来对代码序列进行解码。结果是,诸如解码设备200之类的解码设备的吞吐量可以增加。在一些布置中,可以将预运行过程(例如,T pre)确定为足够大以避免在特定周期期间空的中间缓冲设备,而足够小以最小化中间缓冲设备的缓冲器大小。
可替代地,下述方法可以用于turbo解码设备中的存储冲突解决。首先,解码设备220可以在其输入处线性地从存储器设备中读取数据。为了允许解码设备240有相同的线性读取过程,解码设备220可以将其输出数据连同输入数据(例如,作为输入数据和外部信息的和)一起按置换次序写入存储器设备。此外,输出缓冲设备(例如,设备410)的中间阶段可以被用在处理设备和存储器设备之间的解码设备220中以减少存储冲突。
参考解码设备240,数据可能已经被按正确的次序存储,以使得可以应用没有映射的线性读取(例如,没有冲突可以在输入处看到)。由于解码设备240的处理设备对置换代码序列起作用,逆置换被应用于将数据写回到存储器设备,这允许解码设备220同样地线性读取数据。此外,输出缓冲设备(例如,设备410)的中间阶段可以被用在处理设备和存储器设备之间的解码设备240中以减少存储冲突。以这种方式,解码设备220和240都可以在没有存储冲突的情况下线性读取数据并解决输出处的存储冲突。类似于参考图6a-6f所描述的示例,两个存储冲突解决阶段可以被用在解码设备220和240的输出处。
尽管已经说明并描述了各种实施例,但是它们仅仅是示例。在说明书中使用的词语是描述性词语而非限制性,并且应理解的是在不背离本公开的精神和范围的情况下可以做出各种改变。

Claims (20)

1.一种设备,包括:
中间缓冲设备,包括地址缓冲设备和元素缓冲设备,
其中,中间缓冲设备通信地耦合到存储器设备和多个处理设备,并且
其中,在具有并行存储器访问的过程的周期期间,所述中间缓冲设备被配置成:
从所述多个处理设备中的一个接收以存储器设备为目的地的第一地址信息,其中第一地址信息对应于存储在存储器设备中的代码序列的第一元素;
从所述多个处理设备中的另一个接收以存储器设备为目的地的第二地址信息,其中第二地址信息对应于存储在存储器设备中的代码序列的第二元素;
基于第一地址信息将对第一元素的请求发送到存储器设备;
将第二地址信息存储在地址缓冲设备中;
从存储器设备接收对应于第一元素的第一元素信息;以及
将第一元素信息存储在元素缓冲设备中。
2.如权利要求1所述的设备,其中所述过程是并行解码过程。
3.如权利要求1所述的设备,其中地址缓冲设备和元素缓冲设备中的每一个被配置成在所述过程的单个周期期间被访问多次。
4.如权利要求1所述的设备,其中所述地址缓冲设备是第一先入先出(FIFO)存储器设备,并且其中所述元素缓冲设备是第二FIFO存储器设备。
5.如权利要求1所述的设备,进一步包括通信地耦合到所述中间缓冲设备和多个处理设备的逻辑设备,其中所述逻辑设备被配置成从所述多个处理设备接收地址信息并且将接收到的地址信息按预定的次序发送到地址缓冲设备。
6.如权利要求1所述的设备,其中所述周期是并行解码过程的预运行过程中的周期,并且其中,在所述预运行过程中随后的周期期间,所述中间缓冲设备被进一步配置成:
基于第二地址信息将对第二元素的请求发送到存储器设备;
从存储器设备接收对应于第二元素的第二元素信息;以及
将第二元素信息存储在元素缓冲设备中。
7.如权利要求6所述的设备,其中所述中间缓冲设备被进一步配置成:
确定包含在预运行过程中的周期的数量。
8.如权利要求6所述的设备,其中在预运行过程之后的周期期间,所述中间缓冲设备被进一步配置成:
将第一元素信息发送到第一处理设备;以及
将第二元素信息发送到第二处理设备。
9.一种设备,包括:
中间缓冲设备,包括地址缓冲设备和元素缓冲设备,
其中所述中间缓冲设备通信地耦合到存储器设备和多个处理设备,并且
其中,在具有并行存储器访问的过程的周期期间,所述中间缓冲设备被配置成:
从第一处理设备接收以存储器设备为目的地的第一地址信息和第一元素信息,其中第一元素信息和第一地址信息对应于代码序列的第一子块的第一元素;
从不同于第一处理设备的第二处理设备接收以存储器设备为目的地的第二地址信息和第二元素信息,其中第二元素信息和第二地址信息对应于代码序列的第二子块的第二元素;
将第一元素信息和第一地址信息发送到存储器设备;
将第二元素信息存储在元素缓冲设备中;以及
将第二地址信息存储在地址缓冲设备中。
10.如权利要求9所述的设备,
其中所述存储器设备是第一存储器设备,
其中所述元素缓冲设备是第一元素缓冲设备,
其中所述地址缓冲设备是第一地址缓冲设备,并且
其中所述中间缓冲设备被配置成:
从第一处理设备接收以不同于第一存储器设备的第二存储器设备为目的地的第三地址信息和第三元素信息,其中第三元素信息和第三地址信息对应于代码序列的第一子块的第三元素;
从第二处理设备接收以第二存储器设备为目的地的第四地址信息和第四元素信息,其中第四元素信息和第四地址信息对应于代码序列的第二子块的第四元素;
将第三元素信息和第三地址信息发送到第二存储器设备;
将第四元素信息存储在不同于第一元素缓冲设备的第二元素缓冲设备中;以及
将第四地址信息存储在不同于第一地址缓冲设备的第二地址缓冲设备中。
11.如权利要求9所述的设备,其中地址缓冲设备和元素缓冲设备中的每一个被配置成在所述过程的单个周期期间被访问多次。
12.如权利要求11所述的设备,其中所述过程是并行解码过程。
13.一种方法,包括:
由中间缓冲设备从第一处理设备接收以存储器设备为目的地的第一地址信息,其中第一地址信息对应于存储在存储器设备中的代码序列的第一元素;
由中间缓冲设备从不同于第一处理设备的第二处理设备接收以存储器设备为目的地的第二地址信息,其中第二地址信息对应于存储在存储器设备中的代码序列的第二元素;
由中间缓冲设备基于第一地址信息将对第一元素的请求发送到存储器设备;
由中间缓冲设备将第二地址信息存储在中间缓冲设备的地址缓冲设备中。
14.如权利要求13所述的方法,进一步包括:
由中间缓冲设备从存储器设备接收对应于第一元素的第一元素信息;以及
由中间缓冲设备将第一元素信息存储在所述中间缓冲设备的元素缓冲设备中。
15.如权利要求14所述的方法,进一步包括:
由中间缓冲设备基于第二地址信息将对第二元素的请求发送到存储器设备;
由中间缓冲设备从存储器设备接收对应于第二元素的第二元素信息;以及
由中间缓冲设备将第二元素信息存储在中间缓冲设备的元素缓冲设备中。
16.如权利要求15所述的方法,进一步包括:
由中间缓冲设备将第一元素信息发送到第一处理设备;以及
由中间缓冲设备将第二元素信息发送到第二处理设备。
17.如权利要求13所述的方法,其中所述中间缓冲设备是第一中间缓冲设备,其中所述代码序列是包括第一子块和第二子块的代码序列的第一子块,其中所述地址缓冲设备是第一地址缓冲设备,并且其中所述存储器设备是第一存储器设备,所述方法进一步包括:
由第二中间缓冲设备从第一处理设备接收以第二存储器设备为目的地的第三地址信息,其中第三地址信息对应于存储在第二存储器设备中的第二子块的第三元素;
由第二中间缓冲设备从第二处理设备接收以第二存储器设备为目的地的第四地址信息,其中第四地址信息对应于存储在第二存储器设备中的第二子块的第四元素;
由第二中间缓冲设备基于第三地址信息将对第三元素的请求发送到第二存储器设备;以及
由第二中间缓冲设备将第四地址信息存储在第二中间缓冲设备的第二地址缓冲设备中。
18.如权利要求17所述的方法,其中所述元素缓冲设备是第一元素缓冲设备,所述方法进一步包括:
由第二中间缓冲设备从第二存储器设备接收对应于第三元素的第三元素信息;以及
由第二中间缓冲设备将第三元素信息存储在第二中间缓冲设备的第二元素缓冲设备中。
19.如权利要求18所述的方法,进一步包括:
由第二中间缓冲设备基于第四地址信息将对第四元素的请求发送到第二存储器设备;
由第二中间缓冲设备从第二存储器设备接收对应于第四元素的第四元素信息;以及
由第二中间缓冲设备将第四元素信息存储在第二中间缓冲设备的第二元素缓冲设备中。
20.如权利要求19所述的方法,进一步包括:
由第二中间缓冲设备将第三元素信息发送到第一处理设备;以及
由第二中间缓冲设备将第四元素信息发送到第二处理设备。
CN201310387245.XA 2012-08-30 2013-08-30 用于Turbo解码器存储冲突解决的方法和装置 Expired - Fee Related CN103684478B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/599,926 2012-08-30
US13/599,926 US9128888B2 (en) 2012-08-30 2012-08-30 Method and apparatus for turbo decoder memory collision resolution
US13/599926 2012-08-30

Publications (2)

Publication Number Publication Date
CN103684478A true CN103684478A (zh) 2014-03-26
CN103684478B CN103684478B (zh) 2017-12-08

Family

ID=50098582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310387245.XA Expired - Fee Related CN103684478B (zh) 2012-08-30 2013-08-30 用于Turbo解码器存储冲突解决的方法和装置

Country Status (3)

Country Link
US (1) US9128888B2 (zh)
CN (1) CN103684478B (zh)
DE (1) DE102013109494A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330206A (zh) * 2015-06-30 2017-01-11 深圳市中兴微电子技术有限公司 一种译码方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11777527B1 (en) * 2020-06-25 2023-10-03 Mahesh Rameshbhai Patel Dynamic permutation based coding for generating permuted bits and parity equations thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323462A (zh) * 1998-08-14 2001-11-21 夸尔柯姆股份有限公司 用于最大后验概率解码器的存储器体系结构
CN1529943A (zh) * 2001-05-11 2004-09-15 高通股份有限公司 Turbo解码器的缓冲器结构
CN1568577A (zh) * 2002-08-06 2005-01-19 三星电子株式会社 特播解码装置和方法
US20050190736A1 (en) * 2004-01-19 2005-09-01 Stmicroelectronics N.V. Method and device for handling write access conflicts in interleaving for high throughput turbo-decoding
WO2012079543A1 (en) * 2010-12-17 2012-06-21 Huawei Technologies Co., Ltd. System and method for contention-free memory access

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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.
US7979772B2 (en) 2006-10-25 2011-07-12 Samsung Electronics Co., Ltd. Method and system for providing a contention-free interleaver for channel coding
US7949926B2 (en) 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323462A (zh) * 1998-08-14 2001-11-21 夸尔柯姆股份有限公司 用于最大后验概率解码器的存储器体系结构
CN1529943A (zh) * 2001-05-11 2004-09-15 高通股份有限公司 Turbo解码器的缓冲器结构
CN1568577A (zh) * 2002-08-06 2005-01-19 三星电子株式会社 特播解码装置和方法
US20050190736A1 (en) * 2004-01-19 2005-09-01 Stmicroelectronics N.V. Method and device for handling write access conflicts in interleaving for high throughput turbo-decoding
WO2012079543A1 (en) * 2010-12-17 2012-06-21 Huawei Technologies Co., Ltd. System and method for contention-free memory access

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330206A (zh) * 2015-06-30 2017-01-11 深圳市中兴微电子技术有限公司 一种译码方法及装置

Also Published As

Publication number Publication date
US20140068117A1 (en) 2014-03-06
CN103684478B (zh) 2017-12-08
DE102013109494A1 (de) 2014-03-06
US9128888B2 (en) 2015-09-08

Similar Documents

Publication Publication Date Title
KR100984289B1 (ko) 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
KR101444458B1 (ko) 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
CN101232289B (zh) 涡轮解码器及解码涡轮编码信号的方法
JP2020536432A (ja) Polar符号化方法および装置ならびにPolar復号方法および装置
JP4033245B2 (ja) ターボ符号化装置およびターボ符号化方法
US20150006992A1 (en) Method and decoder for processing decoding
US10666389B2 (en) Method and device for polar code rate matching
US10866857B2 (en) Encoding and decoding of permuted cyclic codes
US20070067696A1 (en) System, transmitter, receiver, method, and computer program product for structured interleaved Zigzag coding
KR102244117B1 (ko) 폴라 코드의 레이트 매칭을 프로세싱하기 위한 방법 및 장치
EP2313979B1 (en) Methods for programmable decoding of a plurality of code types
CN103684682A (zh) 用于并行turbo解码器的工作器和迭代控制
US20100287437A1 (en) Fast Encoding and Decoding Methods and Related Devices
KR20080041488A (ko) 병렬 인터리빙 장치 및 방법
US20100031122A1 (en) Serially Concatenated Convolutional Code Decoder with a Constrained Permutation Table
US7873897B2 (en) Devices and methods for bit-level coding and decoding of turbo codes
CN108270452B (zh) 一种Turbo译码器及译码方法
CN103684478A (zh) 用于Turbo解码器存储冲突解决的方法和装置
KR100628201B1 (ko) 터보 디코딩 방법
KR20080050957A (ko) 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
CN110022158B (zh) 一种译码方法及装置
JP2016208263A (ja) 受信装置、無線通信システム、及び無線通信方法
CN107786300B (zh) 一种数据发送方法及装置
CN109391364B (zh) 一种信息处理方法及装置
JP3896841B2 (ja) インターリーブ処理方法及びインターリーブ処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Neubiberg, Germany

Applicant after: Intel Mobile Communications GmbH

Address before: Neubiberg, Germany

Applicant before: Intel Mobile Communications GmbH

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171208

Termination date: 20200830