CN101322319A - 用于对低密度奇偶校验编码信号解码的设备和方法 - Google Patents
用于对低密度奇偶校验编码信号解码的设备和方法 Download PDFInfo
- Publication number
- CN101322319A CN101322319A CNA2005800521953A CN200580052195A CN101322319A CN 101322319 A CN101322319 A CN 101322319A CN A2005800521953 A CNA2005800521953 A CN A2005800521953A CN 200580052195 A CN200580052195 A CN 200580052195A CN 101322319 A CN101322319 A CN 101322319A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- processing
- processor
- piece
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6566—Implementations concerning memory access contentions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1137—Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
所公开的实施例涉及一种用于对接收器中的信号,如使用低密度奇偶校验纠错的信号,进行解码的设备和方法。该设备包括链路电路(100)。该链路电路(100)可以包括第一存储器(302)、第一和第二处理块(306、308),并且也包括:第一移位电路(305),用于在数据进入处理块之一(306)之前使数据移位;以及第二移位电路(309),用于在退出该处理块(306)之后颠倒第一次移位。该链路电路(100)也可包括第二存储器(312),该第二存储器(312)用于中间存储、并被第一和第二处理块(306、308)所共享。该方法(400)包括:从存储器读取数据(402),在处理该数据之前使该数据移位(404),处理该数据(406),然后在把该数据写回到存储器(410)之前使该数据反向移位(408)。
Description
技术领域
本发明一般涉及通信接收器。更具体地说,本发明涉及利用诸如低密度奇偶校验编码的方法来处理系统中的纠错信号。
技术背景
本节预定向读者介绍可能与以下将描述和/或声明的本发明各方面相关的各个技术方面。该讨论被认为有助于向读者提供背景信息,以便于更好地理解本发明各方面。因此,应该理解,应就此而论来阅读这些声明,而不应将它们看作先有技术的许可。
众所周知,近些年来卫星电视系统已变得越来越普及。实际上,自从1994年引入数字卫星电视,已有超过1200万美国家庭成为卫星电视用户。这些用户中的大多数都住在独户住宅中,在独户住宅中圆盘卫星电视天线比较容易安装和连接。例如,可以将圆盘卫星电视天线安装在屋顶上。为了持续增长,用户经常期望每年得到更多服务。因而,服务提供商一直在考虑新的特征和升级,如记录、多室操作以及更大、更好的内容。最近,更多地关注高清晰视频和音频信号。
高清晰信号需要比卫星系统当前提供的服务更大的容量或带宽。而且,是在当前服务以外又提供许多高清晰服务,而不是替代当前服务。为了提供这些新服务,一些服务提供商正在增大他们的系统的总容量。可以以多种方式来增大容量,包括增加转发器或可用卫星信道的数量,或者增加所用卫星的数量。卫星系统的最大变化涉及改变实际通信系统规范。
最新技术发展已允许卫星服务提供商考虑通过以多种方式改变系统规范来增大容量,包括使用新解码算法,例如由通常被称为MPEG-4的运动图像专家组(MPEG)所创建的解码算法。另外,有可能使用更高级的调制格式,例如在为数字视频广播(DVB)创建的被称为DVB-S2的标准中发现的8相相移键控(8PSK)。DVB-S2标准也提供一种被称为低密度奇偶校验(LDPC)编码的新纠错系统,该纠错系统允许进一步增大总系统容量。虽然这些变化可以增大通信系统的容量,但是它们也可能改变信号接收的操作裕度,并迫使改变接收器设计。
几乎所有的通信系统,尤其是数字系统如上述卫星系统,都采用某种形式的纠错方法来提高接收器性能。这些方案可能涉及必须在发送器或接收器上、或发送器和接收器两者上执行的非常复杂功能。如上所述,一种这样的普遍方案是LDPC编码。
LDPC编码是一种纠错方法,它为一段较大的数据流的小部分生成奇偶校验位,并将这些奇偶校验位附加到数据流上。所操作的数据流段可以很大,例如64800位,并且可以为小得多的部分如组中的3位,生成奇偶校验位。
虽然对数据流段执行处理,但是输入数据流仍然保持连续。输入数据流典型地是数字形式的视频或音频信号,因而必须在有限时间内完成处理。为处理数据流段而分配的时间典型地被称为LDPC帧时间。另外,奇偶校验组可能重叠,其中一个位可以是多个奇偶校验组的成员,从而可能有多个奇偶校验位对数据位的奇偶性负责。分配这些组和奇偶校验位的方法通常是周知且预先确定的,以便解码器尤其是解码器的控制器来适当管理奇偶校验过程。
LDPC解码可以具有几层处理复杂性。可以对现在包含附加奇偶校验位的数据流执行非常简单的第一奇偶校验操作。该简单的奇偶校验操作涉及,仅仅基于奇偶校验组的奇偶性及其关联奇偶校验位来执行常规奇偶校验。如果发现错误,则可以基于奇偶校验组检查的结果来校正错误。然而,有可能某些错误仍然不可校正,因为可能仍然不能确定准确的错误位。为了进一步提高纠错性能,常常将相同数据位用于多个奇偶校验分组中。
即使同时利用简单奇偶校验和多组奇偶校验,也可能仍然不能明确校正所有错误。另外,由于奇偶校验分组的特性,每个位不仅固有地、而且非固有地包含关于其值的信息。可以用位的实际值来表征数据位的固有信息,包括通过利用奇偶信息执行奇偶校验操作所获得的知识。非固有信息包括,可以根据数据流中其它数据位(例如和待处理当前数据位相邻的数据位或奇偶校验分组中的其它位)的值来确定的位值信息。同时使用固有和非固有信息需要更复杂的校正算法,该校正算法涉及在迭代过程中使用这两种信息元,以便确定最终正确位值。
用于LDPC编码的解码器对接收数据执行一系列迭代操作,以便从接收数据中消除错误。这些迭代由两个主要步骤组成。第一步被称为校验节点计算,其中从存储器读取数据,并执行某些算术运算。然后,将结果写回到存储器中。执行该第一操作的电路是校验节点处理单元(CPU)。第二步被称为位节点计算,其中从存储器读取其它数据,并且执行附加算术运算。再次将结果写回到存储器中。执行该操作的电路被称为位节点处理单元(BPU)。这些处理单元的每一个都执行复杂的计算,这些复杂计算需要处理能力以及供中间结果用的大的局部寄存器存储器。而且,一个CPU操作的结果用于下一BPU操作中,反之亦然,因而每个处理器都作用于相同数据流段,并且每次只有一个处理块能够操作。
这样构造LDPC码,使得能够对一段长的输入数据流并行执行这些计算中的许多计算。当前一种实施包括360个并行计算块单元,用于处理64800位长的位流段。如前所述,要求使用这种类型算法的LDPC解码器必须多次迭代遍历其处理过程。典型地,解码器在它们之间迭代50次或更多次,以便为输入数据确定最终的经过纠错的值。如上所述,从不同时执行CPU操作和BPU操作,因为BPU操作可能取决于前面CPU操作期间作出的改变,反之亦然。
360个块的每个块都具有彼此相同或相似的位连接。该相似性允许这样一种解码器结构,该解码器结构允许360个并行计算单元。为了对数据进行解码,有一种电路块负责为计算单元获得360个数据片。对于每一步,该数据都来自存储器中的一组不同位置。
虽然LDPC码的性能可能超过前面的纠错方法,但是LDPC码所需的解码器比旧系统要大得多,并且还需要贯穿于其处理路径的多次迭代。在给定时限-LDPC帧时间内能够贯穿于处理路径而执行的迭代次数,确定和限制了纠错性能。结构限制,包括存储器分配以及存储器存取处理,可能对解码器性能产生总体限制。
增加在LDPC帧时间内能够执行的迭代次数,可以直接导致解码器性能的提高。因此,希望一种能增加在LDPC帧时间内可执行的迭代次数的电路结构和方法。类似,当构造解码器时,希望高效地使用资源如存储器,以便节省尺寸和功率、并提高解码器性能
发明内容
本发明涉及通信接收器中的纠错系统,并且进一步针对一种用于对纠错系统如低密度奇偶校验纠错系统进行操作的高效设备和方法。
本发明的设备包括:主存储器,用于存储待处理的数据;开关,用于选择两个处理器中的哪个处理器来接收数据;第一处理器,用于对数据执行第一处理;第二处理器,用于对数据执行第二处理,并具有正向移位和反向移位操作,以便于数据的重新排序;以及控制器,用于控制开关、移位和存储器读写功能。
本发明的方法包括:按初始配置从第一存储器读取数据,改变数据的配置,处理被改变的数据,将数据恢复成初始配置,以及将数据存回到主存储器中。
附图说明
一旦参考附图阅读了以下详细说明,本发明的优点将变得很清楚,其中:
图1是本发明的链路电路的框图;
图2是本发明一方面的框图;
图3是本发明另一方面的框图;
图4是本发明一方面的示例方法的流程图。
由以下举例给出的说明,本发明的特点和优点将变得更加清楚。
具体实施方式
以下将描述本发明的一个或多个具体实施例。在简明描述这些实施例的过程中,在说明书中没有描述实际实施的所有特征。应该理解,与任何工程或设计项目中一样,在任何这种实际实施的开发中,必须作出许多特定于实施的决定,以实现可能随实施而不同的开发者特定目标,如遵从系统相关和商业相关的约束。而且,应该理解,这种开发工作可能是复杂且耗时的,然而对于那些从该公开受益的普通技术人员而言,将是设计、制作和制造的例行事项。
以下描述用于接收卫星信号的电路。用于接收其它信号类型的可以由其它某些装置来提供信号输入的其它系统可以包括非常相似的结构。本领域普通技术人员可以理解,在此描述的电路的实施例只是一个潜在实施例。因而,在替换实施例中,可以重新排列或省略电路部件,或者可以添加附加部件。例如,利用小量修改,可以将所描述的电路配置成用于非卫星视频和音频服务,如从电缆网络传送的那些服务。
现在转到图1,图1示出了本发明的示例链路电路100。在电路输入,模数(A/D)转换器102连接到频率转换器104。振荡器如数字控制振荡器(NCO)106也连接到频率转换器104。频率转换器104的输出连接到抗混叠滤波器108,且抗混叠滤波器108连接到自动增益控制(AGC)放大器块110。AGC放大器块110的输出连接到抽取器块112,抽取器块112连接到符号定时恢复块114。符号定时恢复块114连接到载波跟踪回路116,最后载波跟踪回路块116连接到纠错块118。链路处理器120连接到NCO 106、AGC放大器块110、载波跟踪回路116和链路存储器122。为清楚起见,可能省略某些连接和块,但是本领域技术人员应该知道这些省略。以下将进一步描述这些块的每一个的操作。
链路电路100包含A/D转换器102,A/D转换器102用于把从调谐器(未示出)输送的一个或多个基带信号转换为数字信号。来自A/D转换器102的数字信号代表这一个或多个基带信号的一系列采样,其中每个采样都包含例如10位字数据。重要的是要注意,优选实施例把一个或多个基带信号用作A/D转换器102的输入。然而,在另一实施例中,可以使调谐器所提供的作为A/D转换器102输入的信号,位于基带附近的频率处,或者可以使该信号位于另一中间频率(IF)。
时钟信号(未示出)也连接到A/D转换器102,以便产生采样序列。可以从诸如晶体的另一个源产生时钟信号,并且/或者也可通过链路处理器120进一步控制时钟信号。在一个实施例中,链路处理器120可以确定为适当处理输入接收信号所需的时钟速率。在另一实施例中,可以以固定速率执行A/D转换器102中的采样,并且可以在后面块中执行处理,例如将采样信号向下抽取为适当采样率。
来自A/D转换器102的数字信号被提供给混频器或频率转换器104。频率转换器104也接收来自于NCO 106的输入信号。NCO 106和频率转换器104能够使输入的数字信号相对于输入信号的载波频率发生偏移,由此产生经过频移的数字信号。NCO 106典型地是可编程频率数字信号源。可以通过链路处理器120来产生对于NCO 106数字频率编程的控制。在一些实施例中,也可通过后面描述的和链路处理器120一起的、或者和链路处理器120分开的载波跟踪回路116,来确定控制。可以依据NCO 106的频率偏移调节范围来规定NCO 106的工作范围。可以利用许多因素,如输入数字信号的符号率和/或A/D转换器102用来处理输入基带信号的采样率,来确定该范围。在一个实施例中,频率转换器块104和NCO 106允许在位于链路电路100中的电路中,直接消除由载波跟踪回路116所确定的频率偏移。校正链路电路100内的偏移将消除可能发生的调谐器重新调谐,调谐器的重新调谐可能导致用户不希望发生的附加延时。
频率转换器104的输出将经过频移的数字信号提供给抗混叠滤波器108。抗混叠滤波器108典型地是一种数字滤波器,用于消除与期望输入信号无关的信号能量、同时使期望的输入信号基本保持不变地通过。取决于可能用于链路电路100中解调的输入信号的符号率范围,抗混叠滤波器108可以是具有一个或多个固定滤波器或可编程滤波器的滤波器组。在优选实施例中,可以对抗混叠滤波器108编程,以改变其通带频率响应和/或其它特性。在另一实施例中,可以对滤波器进行编程,以匹配输入的经过频移的输入信号的通带特性。一种这样的通带特性可以是信号带宽。
经过滤波的数字信号进入AGC放大器块110中。AGC放大器块110包含可控增益数字信号放大器和信号检测器。信号检测器用于测量存在的信号的幅度。信号检测器典型地可以检测一段时间内的信号总功率,如均方根功率。可以将信号检测器的输出连接在回路中作为可控增益数字信号放大器的控制信号,以致放大器的输出可维持在恒定电平。另外,AGC块110内的检测器可用于提供输入信号电平的指示。可以将检测器的一个输出-电平指示符信号,传送到链路处理器120供进一步处理。
AGC块110从其可控数字信号放大器输出经过增益补偿的信号,并将经过增益补偿的信号提供给抽取器112。抽取器112基于输入信号采样率和符号定时恢复块114所需采样率之间的比较,来消除经过增益补偿的信号的采样,由此减小有效采样率。
符号定时恢复块114包含控制回路,该控制回路调节输入的经过抽取的信号的相位,以便优化采样位置,并允许对输入信号中发送的数据的符号进行最佳检测。然后,符号定时恢复块114的输出连接到包含载波跟踪回路116的块。载波跟踪回路116包含控制回路,该控制回路可以相对于期望或正确载波频率,来确定和/或校正输入信号的相位和/或频率。载波跟踪回路116可以不用考虑输入信号中的数据符号的实际值,就执行该确定和校正。
重要的是要注意,如本领域技术人员所周知的,符号定时恢复块114和载波跟踪回路116可以操作性地互连,并且/或者可以操作性地连接到链路电路100中的其它块。
现在是解调信号的载波跟踪回路116的输出进入到纠错块118中。典型地,纠错块118可以包含用于确定实际符号值的符号限幅器模块。纠错块118也可包含符号至位映射器,用于产生位,包括数据和纠错位。另外,纠错块118还包含用于使用和输入信号中的数据一起发送的纠错信息的模块。如本领域技术人员所周知的,在通信系统如在此描述的系统中,可以采用多种类型的纠错方法。某些纠错方法可以包括里德-所罗门(Reed-Solomon)纠错、网格(Trellis)纠错或交错。而且,也可以使用某些被称为特比(turbo)码纠错和LDPC纠错的更新类型的纠错方法。如本领域技术人员所周知的,可以将这些纠错方法中的任何一种单独使用,或者组合起来一起使用。
以下描述一种被称为LDPC解码器的更新类型纠错解码器的各方面。可以在卫星接收器中发现该解码器。虽然本发明被描述为在LDPC解码器中操作,但是本发明并不只限于该特定解码器,而且本发明也不限于卫星接收器中的LDPC解码器。
现在参考图2,图2描述了本发明的一个LDPC解码器块200的一部分。LDPC解码器块200位于图1所示的纠错块118内。应该注意,图2只示出了通常包含许多相同块(例如多至360个相同块)的完整LDPC解码器结构的一个块单元。每个块都并行地对数据段的小部分进行操作,以处理整个数据段。为清楚起见,只说明总体结构中和本发明关联的功能元件。
块存储器202包括用于连接到其它外部处理块(即载波跟踪回路和/或交错器)的输入和输出连接。块存储器202也连接到复用开关一上复用器204。上复用器204具有两个输出,其中一个输出连接到CPU块206,另一个输出连接到BPU块208。CPU块206和BPU块208每一个都连接到第二复用开关-下复用器210。下复用器210连接到CPU/BPU寄存器存储器212。CPU/BPU寄存器存储器212连回到块存储器202。控制器214连接到块存储器202、上复用器204、下复用器210、CPU/BPU寄存器存储器212和控制器存储器216。
块存储器202可以是随机存取存储器(RAM)。块存储器202的初始输入可以是例如包含来自载波跟踪回路116的解调数据的数据段。该数据段包含数据位以及纠错位,如LDPC纠错中所使用的那些纠错位。一旦完成了局部纠错,块存储器202的输出就可以包含代表经过LDPC纠错的数据流的数据流段,其中和LDPC纠错关联的纠错位已被消除了。块存储器202的输出可以连接到另一纠错部分,或者可以连接到视频、音频和/或数据解码器。
块存储器202也将被请求的数据段部分,通过上复用器204提供给CPU块206和BPU块208。上复用器204控制该数据段部分是被发送给CPU块206还是BPU块208。CPU块206和BPU块208是用于处理LDPC数据并执行纠错算法的主要处理器。如前所述,这些块相互独立操作,结果贯穿BPU块208的一个处理步骤最终进入CPU块206,反之亦然。此外,关于CPU块206和BPU块208所采用的实际算法的说明超出了本发明的范围,但是对于本领域技术人员而言是周知的。
下复用器210可以取CPU块206或BPU块208的最终处理输出,并控制最终将哪个输出送回到块存储器202中。CPU块206和BPU块208可能都需要某些局部存储器,如一组寄存器,用于保存它们内部算法处理步骤期间的中间值。典型地,存储器将存在于块206和208的每一个中,生成每个处理器专用的一组复制存储器。在本发明中,CPU/BPU寄存器存储器212可以位于复用开关210外面,使得CPU块206和BPU块208都可共享用于CPU块206和BPU块208的内部处理的存储器。作为共享CPU/BPU寄存器存储器212中存储空间的结果,可以实现更高效的总存储空间利用率。共享可能进一步导致总功率减小和操作速度增加。下复用器210用作CPU/BPU寄存器存储器212和当前一个活动处理块206或208之间的中间数据值流动的双向控制开关。在作为活动处理块的CPU块206或BPU块208完成处理后,下复用器210将活动处理块的最终输出通过CPU/BPU寄存器存储器212送回到块存储器202。
控制器214提供对块存储器202和CPU/BPU寄存器存储器212的存取控制。控制器214确定应该从块存储器202中读取输入段的哪些位或哪些部分,以便在当前处理周期中进行处理,并且/或者确定应该将当前处理周期的结果发送到块存储器202的哪些位置。CPU/BPU寄存器存储器212也直接从CPU块206和BPU块208接收存取控制和数据。另外,控制器214根据当前处理模式来提供对上复用器204和下复用器210的控制。
控制器214利用控制器存储器216,来存储数据流元在块存储器202中所处的阵列位置。阵列位置为CPU和BPU处理步骤中所使用的数据位、奇偶校验位和奇偶校验组之间,提供适当的次序排列。最后,所有块都利用一个或多个时钟信号(未示出)进行操作。可以由块单元外部的源产生时钟信号,或者可以在内部产生时钟信号。在一个实施例中,提供给块单元200且被BPU块208和CPU块206使用的处理时钟,可以是所产生的、频率等于A/D转换器102的时钟频率四倍的信号。
虽然在该实施例中块存储器202、控制器212和控制器存储器216被显示为块单元的一部分,但是在其它实施例中,对于所有块单元可以共同包含一个块存储器、一个控制器和一个控制器存储器。上述块的功能描述将不变。另外,许多功能没有被包括在框图中,并且对于本领域技术人员而言是周知的。这些功能可以包括时钟电路、标志指示器、流水线寄存器,以及例如允许块单元间信息互连的其它控制功能。
通常,CPU和BPU功能或多或少独立地操作。本发明将CPU和BPU计算单元206和208中使用的某些电路即寄存器存储器组合起来,以节省电路。尤其是,在CPU和BPU单元206和208执行计算的期间,某些中间结果被存储在寄存器中。本发明使用复用器210来共享这些寄存器,以致在CPU和BPU操作之间只需要一个寄存器存储器212。控制器214用于管理共享过程。
CPU块206可能需要以一种不同于BPU块208中的方式来处理数据。在一个例子中,CPU块206需要数据相对于数据路径中的起点作循环移位。传统上,移位是利用CPU块206来完成的,并且需要三个独立处理。第一处理包括从块存储器202读出数据部分,使CPU块206中的数据移位,然后将重新移位的数据部分发回到块存储器202中。第二处理包括从块存储器202读出该重新移位的数据部分,并将该重新移位的数据发送给CPU块206进行纠错处理。一旦CPU块处理完成了,就将处理后的移位数据发回到块存储器202中。最后,第三处理包括从块存储器202读出处理后的移位数据,利用CPU块206使处理后的移位数据反向移位(即,和第一次移位相反),并将新的未移位的处理后数据发回到块存储器202中。此后,块存储器202中的数据现在准备好供BPU块208处理。这三个处理使用了额外的时钟周期,由此限制LDPC帧时间内能够完成的迭代次数。如现在将要描述的,通过提供与CPU块206串连的移位操作,可以实现高得多的时间效率。
现在参考图3,图3描述了本发明的LDPC解码器块300的一部分。LDPC解码器块300位于图1所示的纠错块118内。应该注意,图3只示出了通常包括许多相同块(例如多至360个相同块)的完整LDPC解码器结构的一个块单元。每个块都并行地对数据段的小部分操作,以处理整个数据段。为清楚起见,只说明总体结构中和本发明关联的功能元件。
块存储器302包括用于连接到其它外部处理块(即载波跟踪回路和/或交错器)的输入和输出连接。块存储器302也连接到复用开关-上复用器304。上复用器304具有两个输出,一个输出连接到正向移位块305,另一个输出连接到BPU块308。正向移位块305连接到CPU块306。CPU块306连接到反向移位块309,并且和BPU块308一起都连接到第二复用开关-下复用器310。下复用器310连接到CPU/BPU寄存器存储器块312。CPU/BPU寄存器存储器块312连回到块存储器302。控制器314连接到块存储器302、上复用器304、下复用器310、正向移位块305、反向移位块309和控制器存储器316。
块存储器302可以是RAM。块存储器302的初始输入可以是例如包含来自载波跟踪回路216的解调数据的数据段。数据段包含数据以及纠错位,例如LDPC纠错中所使用的那些纠错位。一旦局部纠错完成了,块存储器302的输出就可以包含代表经过LDPC纠错的数据流的数据流段,其中和LDPC纠错关联的纠错位已被消除了。块存储器302的输出可以连接到另一纠错部分,或者可以连接到视频/音频/数据解码器。
块存储器302也将被请求的数据段部分通过上复用器304提供给CPU块306和BPU块308。上复用器304控制该数据段部分是发送给CPU块306还是BPU块308。CPU块306和BPU块308是用于处理LDPC数据并执行纠错算法的主要处理器。如前所述,这些块独立且串联地操作,结果一个BPU处理输出最终进入CPU块306,反之亦然。CPU和BPU块的每一个也都可以利用局部存储器来存储数据流处理所需的中间操作和计算。此外,关于CPU块306和BPU块308所采用的实际算法的说明超出了本发明的范围,但是对于本领域技术人员而言是周知的。
在从块存储器302读出数据后,该数据首先在正向移位块305中被移位,然后被发送给CPU块306。在CPU块306完成处理后,在反向移位块309中执行另一种移位,这种移位和在数据进入CPU块306之前对数据所执行的移位相反。移位和反向移位功能允许将数据按其正确方向写回到存储器中,使得数据可以被BPU块308使用。最后,下复用器310提供起自BPU块308的输出的路由,且路径包括从CPU块306、移位块305和309直到CPU/BPU寄存器存储器312,并回到块存储器302。CPU/BPU寄存器存储器312可以位于复用开关310外部,使得用于CPU块306和BPU块308内部处理的存储器可被CPU块306和BPU块308共享。
控制器314提供对块存储器302和CPU/BPU寄存器存储器312的存取控制。控制器314确定应该从块存储器302读取输入段的哪些位或哪些部分,以便在当前处理周期中进行处理,并且/或者确定应该将当前处理周期的结果发送到块存储器302的哪些位置。另外,控制器314根据当前处理模式来提供对上复用器304和下复用器310的控制。控制器314也为正向移位块305和反向移位块309提供控制和数据输入。在一个实施例中,控制器314可以向反向移位块309提供控制,以便控制在CPU处理期间绕过反向移位块,从而允许CPU块306在中间CPU处理操作期间访问CPU/BPU寄存器存储器。
控制器314利用控制器存储器316来存储数据流元在块存储器302中所处的阵列位置。阵列位置为CPU和BPU处理步骤中所使用的数据位、奇偶校验位和奇偶校验组之间,提供适当的次序排列。另外,控制器存储器316可以包含关于每个数据段部分的移位设置。然后,这些移位设置用于对位于CPU处理路径中的移位块305和309进行编程。最后,所有块都利用一个或多个时钟信号(未示出)进行操作。可以由块单元外部的源产生时钟信号,或者可以在内部产生时钟信号。在一个实施例中,提供给块单元且被BPU块308和CPU块306使用的处理时钟,可以是所产生的、频率等于图1中A/D转换器102的时钟频率的四倍的信号。
虽然在该实施例中块存储器302、控制器314和控制器存储器316被显示为块单元的一部分,但是在其它实施例中,对于所有块单元可以共同包含一个块存储器、一个控制器和一个控制器存储器。上述块的功能描述将不变。另外,许多功能没有被包括在框图中,并且对于本领域技术人员而言是周知的。这些功能可以包括时钟电路、标志指示器、流水线寄存器,以及例如允许块单元间信息互连的其它控制功能。
如前所述,LDPC纠错方法的性能和纠错块能够对数据段执行的迭代次数相关。因此,可用于处理的时钟周期数非常重要。通过利用串联排列仅在CPU处理路径内实施必需的移位操作,可以实现纠错方法中更多次数的迭代。
现在参考图4,图4示出了用于说明方法400的流程图。该流程图描述了以下处理过程:首先通过CPU路径处理数据,接着通过图3中的LDPC块的BPU路径处理数据。在另一实施例中,处理可以始于BPU路径,且结束于CPU路径。而且,如果需要,处理过程可以持续迭代多次,以达到期望的性能水平,或直到用于处理的时间帧结束为止。
首先,在步骤402,从块存储器302读取一部分数据。然后,将该数据传给正向移位块305,其中在步骤404正向移位块305对该数据部分执行移位。在一个优选实施例中,移位可以是该数据部分的循环移位。接着,在步骤406,在CPU块306中执行计算。一旦在CPU块306中完成了计算,就在步骤408在反向移位块309中对处理后的数据进行反向移位。接着,在步骤410,将数据写回到块存储器302中。在该步骤,迭代周期的CPU处理已完成了。
接着,在步骤412,再次从块存储器302读出该数据部分。该数据被传递给BPU块308,其中在步骤414BPU块308处理该数据。最后在步骤416,在BPU块308中的处理完成之后,将数据写回到块存储器302。在这点上,已经完成了贯穿整个过程的一次完整迭代。如前所述,该过程可以迭代多次,以便提高解码器输出的性能。
如上所述,图4所示过程的每一步都不代表处理时钟的一个周期。实际上,可以利用流水线结构将许多步骤组合到相同时钟周期上,在此没有说明流水线结构、但是为本领域技术人员所周知。例如,假定每一组数据都不同并且按处理顺序是连续的,则读取一组数据、使这组数据移位、在CPU块中处理这组数据以及使这组数据反向移位的步骤可以在相同时钟周期上同时发生。在大多数情况下,存储器读和写必须发生在不同时钟周期上。
该处理方法和结构允许一种处理LDPC解码器中数据的高效方法,它允许LDPC帧时间内最多次数的过程迭代。虽然分开描述了本发明各方面,但是也有可能并期望将各方面结合起来,以获得本发明每一方面所提供的全部性能优点。
本发明可以有各种修改和替换形式,在附图中举例示出了本发明特定实施例,并且将在此进行详细描述。然而,应该理解,本发明将不限于所公开的特殊形式。相反,本发明将包括落入所附权利要求所定义的本发明精神和范围内的所有修改、等效和替换方案。
Claims (19)
1.一种用于执行纠错的设备(300),包括:
第一存储器(302),用于存储待处理的数据;
第一开关(304),其连接到所述第一存储器,并具有第一和第二输出;
第一处理器(308),其连接到所述开关的所述第一输出;
第二处理器(306),其连接到所述开关的所述第二输出,所述第二处理器(306)具有正向移位(305)和反向移位(309)操作,以便于所述数据的重新排序;以及
控制器(314),其连接到所述第一开关(304)和所述第二处理器(306),用于可切换地控制所述第一开关(304)。
2.根据权利要求1所述的设备(300),其进一步包括第二存储器(312),所述第二存储器(312)可切换地连接到所述第一处理器(308)和所述第二处理器(306),并具有连接到所述第一存储器(302)的输出,其中所述第二存储器(312)存储所述第一处理器(308)和所述第二处理器(306)的中间结果。
3.根据权利要求2所述的设备(300),其中包括所述第二存储器(312),以减小所使用的存储空间。
4.根据权利要求1所述的设备(300),其中所述设备(300)用于低密度奇偶校验码纠错。
5.根据权利要求1所述的设备(300),其中所述第一处理器(308)用于位节点处理。
6.根据权利要求1所述的设备(300),其中所述第二处理器(306)用于校验节点处理。
7.根据权利要求1所述的设备(300),其进一步包括第三存储器(316),所述第三存储器(316)连接到所述控制器(314)用于存储控制和存取信息。
8.根据权利要求1所述的设备(300),其中所述设备(300)用于接收卫星接收器中的DVB-S2信号。
9.根据权利要求1所述的设备(300),其中所述控制器(314)进一步控制所述第二处理器(306)的所述正向移位(305)操作和所述反向移位(309)操作。
10.根据权利要求1所述的设备(300),其中所述第一存储器(302)是随机存取存储器。
11.根据权利要求1所述的设备(300),其中所述第一移位(305)和所述第二移位(309)在外部串联连接到所述第二处理器(306)。
12.根据权利要求1所述的设备(300),其中所述第一移位(305)和所述第二移位(309)增加时间帧内的过程迭代次数。
13.一种用于执行纠错的方法(400),包括以下步骤:
从第一存储器读取数据,所述数据按初始配置排列(402);
改变所述数据的配置(404);
利用第一处理来处理所述被改变的数据(406);
将所述处理后的数据恢复成所述初始配置(408);以及
将所述处理后的数据写入所述第一存储器(410)。
14.根据权利要求13所述的方法(400),其进一步包括:
从所述第一存储器读取所述处理后的数据(412);
在第二处理中重新处理所述数据(414);以及
将所述重新处理后的数据写回到所述第一存储器中(416)。
15.根据权利要求14所述的方法(400),其中所述第二处理(414)是位节点处理。
16.根据权利要求13所述的方法(400),其中所述方法(400)用于低密度奇偶校验码解码器中。
17.根据权利要求13所述的方法(400),其中所述第一处理(406)是校验节点处理。
18.根据权利要求13所述的方法(400),其中所述改变(404)和恢复(408)的步骤分别涉及正向移位和反向移位。
19.一种设备,包括:
用于从第一存储器读取数据的装置(402),所述数据按初始配置排列;
用于改变所述数据的所述配置的装置(404);
用于利用第一处理来处理所述被改变的数据的装置(406);
用于将所述经过第一处理的数据恢复成所述初始配置的装置(408);以及
用于将所述经过处理的数据写入所述第一存储器的装置(410)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2005/043586 WO2007064325A1 (en) | 2005-12-01 | 2005-12-01 | Apparatus and method for decoding low density parity check coded signals |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101322319A true CN101322319A (zh) | 2008-12-10 |
CN101322319B CN101322319B (zh) | 2012-11-28 |
Family
ID=36088466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800521953A Expired - Fee Related CN101322319B (zh) | 2005-12-01 | 2005-12-01 | 用于对低密度奇偶校验编码信号解码的设备和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8819518B2 (zh) |
EP (1) | EP1958335A1 (zh) |
JP (1) | JP2009517970A (zh) |
KR (1) | KR101196917B1 (zh) |
CN (1) | CN101322319B (zh) |
BR (1) | BRPI0520713A2 (zh) |
WO (1) | WO2007064325A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8237870B2 (en) * | 2007-09-28 | 2012-08-07 | Intel Corporation | Receiver system for multiple bandwidth television channels |
EP2258111A4 (en) * | 2008-03-28 | 2014-01-22 | Thomson Licensing | APPARATUS AND METHOD FOR DECODING SIGNALS |
USH2274H1 (en) | 2009-01-30 | 2013-05-07 | The United States Of America, As Represented By The Secretary Of The Navy | Variable pulse width encoding for information transmission |
CN104734810A (zh) * | 2012-06-07 | 2015-06-24 | 飞天诚信科技股份有限公司 | 一种处理传输数据的方法和装置 |
US10389387B2 (en) * | 2015-05-19 | 2019-08-20 | Sony Semiconductor Solutions Corporation | Coding device and coding method for a DVB-like LDPC code and a LDPC code in an ETRI format |
CN105763203B (zh) * | 2016-02-14 | 2020-04-24 | 广西大学 | 一种基于硬可靠度信息的多元ldpc码译码方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127664B2 (en) * | 2000-09-18 | 2006-10-24 | Lucent Technologies Inc. | Reconfigurable architecture for decoding telecommunications signals |
US6938196B2 (en) | 2001-06-15 | 2005-08-30 | Flarion Technologies, Inc. | Node processors for use in parity check decoders |
CN1185796C (zh) * | 2002-11-15 | 2005-01-19 | 清华大学 | 改进的非规则低密度奇偶校验码纠错译码方法 |
WO2004077733A2 (en) | 2003-02-26 | 2004-09-10 | Flarion Technologies, Inc. | Method and apparatus for performing low-density parity-check (ldpc) code operations using a multi-level permutation |
JP4224777B2 (ja) | 2003-05-13 | 2009-02-18 | ソニー株式会社 | 復号方法および復号装置、並びにプログラム |
JP4225163B2 (ja) | 2003-05-13 | 2009-02-18 | ソニー株式会社 | 復号装置および復号方法、並びにプログラム |
JP4285148B2 (ja) * | 2003-08-19 | 2009-06-24 | ソニー株式会社 | 復号装置および復号方法、並びにプログラム |
JP4282558B2 (ja) | 2004-06-30 | 2009-06-24 | 株式会社東芝 | 低密度パリティチェック符号復号器及び方法 |
BRPI0515948A (pt) | 2004-10-01 | 2008-08-12 | Thomson Licensing | decodificador de verificação de paridade de baixa densidade (ldpc) |
US7760880B2 (en) * | 2004-10-13 | 2010-07-20 | Viasat, Inc. | Decoder architecture system and method |
-
2005
- 2005-12-01 US US12/085,502 patent/US8819518B2/en active Active
- 2005-12-01 KR KR1020087013179A patent/KR101196917B1/ko not_active IP Right Cessation
- 2005-12-01 BR BRPI0520713-4A patent/BRPI0520713A2/pt not_active Application Discontinuation
- 2005-12-01 WO PCT/US2005/043586 patent/WO2007064325A1/en active Application Filing
- 2005-12-01 JP JP2008543253A patent/JP2009517970A/ja active Pending
- 2005-12-01 EP EP05852724A patent/EP1958335A1/en not_active Withdrawn
- 2005-12-01 CN CN2005800521953A patent/CN101322319B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2007064325A1 (en) | 2007-06-07 |
KR20080080517A (ko) | 2008-09-04 |
KR101196917B1 (ko) | 2012-11-05 |
JP2009517970A (ja) | 2009-04-30 |
CN101322319B (zh) | 2012-11-28 |
EP1958335A1 (en) | 2008-08-20 |
BRPI0520713A2 (pt) | 2009-05-26 |
US20090103636A1 (en) | 2009-04-23 |
US8819518B2 (en) | 2014-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101322319B (zh) | 用于对低密度奇偶校验编码信号解码的设备和方法 | |
CN101626282B (zh) | 在数据电视广播中的强壮信号传输 | |
EP1480366A2 (en) | Error-correcting encoding apparatus | |
US9369152B2 (en) | Systems and methods for decoding with late reliability information | |
CN101904149A (zh) | 移动电视广播系统 | |
KR20200093688A (ko) | 멀티-스테이지 소프트 입력 디코딩을 위한 방법 및 시스템 | |
CN102098466B (zh) | 接收装置、接收方法、接收程序和接收系统 | |
US7725810B2 (en) | Decoding of multiple data streams encoded using a block coding algorithm | |
CN102088331A (zh) | 一种数据传输方法及网络节点 | |
KR19980024216A (ko) | 근사화된 비트메트릭을 이용한 데이터수신기 | |
US7792135B2 (en) | Device and method of constructing generation matrix for linear block coding, coding device and decoding device using the generation matrix | |
CN101174917A (zh) | 采用改进llr更新方法来节省存储器的ldpc接收机 | |
CN101594151A (zh) | Ldpc码解码器 | |
US5991343A (en) | Trellis decoder of a DTV | |
CN101322369A (zh) | 用于确定接收器中频率偏移的方法和设备 | |
CN101785305A (zh) | 数字广播系统和处理数据的方法 | |
JP5536155B2 (ja) | 誤り訂正を実行する装置及び方法 | |
Ashbrook et al. | Implementation of a Hermitian decoder IC in 0.35/spl mu/m CMOS | |
CN1989751B (zh) | 改进的载波恢复的系统和方法 | |
CN104639180B (zh) | 一种译码方法及装置 | |
US7613989B2 (en) | Decoder for executing a Viterbi algorithm | |
Rao | Convolutional Codes | |
Akash et al. | Viterbi Decoder with Configurable Constraint Length with Bit Error Correction for Satellite Communication | |
JP4977922B2 (ja) | 同期検出装置、方法及びプログラム | |
KR101583242B1 (ko) | 바이패스 신호를 이용한 저밀도 패리티 검사 코드의 복호화 방법 및 그 방법에 따른 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
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: 20121128 Termination date: 20171201 |