一种实现解码的电路和方法技术

技术编号:3420918 阅读:131 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种实现解码的电路,该电路包括:数据缓存单元和纠错单元;所述数据缓存单元,用于接收码字,将所述码字延迟设定周期后输出到纠错单元;所述纠错单元,用于接收所述码字和所述码字的错误位置和错误值,对所述码字进行纠错处理,将所述经纠错处理的码字发送出去;该电路还包括:解码组合逻辑单元;该单元包括:第一子部件组、第二子部件组和第三子部件组;所述第一子部件组中子部件一的个数、第二子部件组中子部件二的个数和第三子部件组中子部件三的个数,是分别根据各子部件的处理能力设计的,所述子部件二的个数分别少于所述子部件一和子部件三的个数;发明专利技术还提供一种实现解码的方法,通过使用该方法和电路减小了解码电路的规模。

【技术实现步骤摘要】

本专利技术涉及解码技术,特别涉及。
技术介绍
博斯-查德胡里-霍昆格姆(BCH)码是由博斯(Bose)、查德胡里(Chaudhuri)和霍昆格姆(Hocquenhem)专利技术的,故以这三个专利技术者名字的开头字母对该码进行命名。BCH码是一种循环码,利用除法来进行纠错处理。里德-索罗蒙(RS)码是BCH码的一种,该码被当作一种特殊的BCH码,在本专利技术中不区分BCH码和RS码,统称为BCH码,由于BCH码具有较好的纠错能力和电路易实现的特点,因此被广泛应用于通信系统。下面具体介绍现有技术中实现BCH码解码的电路。图1为现有技术中实现BCH码解码的第一种电路结构示意图。如图1所示,该电路包括子解码器1、子解码器2.....子解码器m。假如共有m个码字进行交织构成总的编解码,每一个码字均为该m个码字的一个子码,在本申请文件中所提到的码字的码型均为相同类型的码字。图2为数据流中m个码字的结构示意图。如图2所示,这m个码字采用间插的方式进行排序,先排放m个码字的第一个码元,然后是m个码字的第二个码元,依次排列下去,直到m个码字的第p+1个码元。将这m个码字的p+1个码元分别依次输入到子解码器1,子解码器2...子解码器m。m个子解码器在控制电路的控制下对m个码字进行解码处理,然后将经解码处理的m个码字输出。由此可以看出,由于m个码字的码型完全相同,子解码器1,子解码器2...子解码器m的电路结构相同,所以该电路的设计方案是非常简单的,但是存在这样的问题由于每一个子解码器只负责处理一个码字,因此会使电路的规模比较庞大,而且电路资源的利用率不高。由于上述方案中,BCH码解码电路资源利用率不高,下面介绍与本专利技术比较接近的第二种方案,实现BCH码解码的电路。图3为现有技术中实现BCH码解码的第二种电路结构示意图。如图3所示,该电路包括第一数据缓存单元300、第二数据缓存单元320和解码器310。其中,解码器310包括子解码器1、子解码器2....子解码器k。n表示k个子解码器的复用次数,也就是每个子解码器能够处理的码字的个数。m为输入到解码电路的码字的个数,表示输入的数据流中包含的码字的个数。n等于Rin除以Rd的进位整数的值。例如,Rin等于9.6Mbps,Rd等于3Mbps,那么取n等于4,其中,Rin为输入数据流的带宽,Rd表示每一个子解码器能够处理的数据带宽,即子解码器的处理能力。由于每个子解码器复用的次数为n,所以每个子解码器要依次对1、2....n个码字进行解码操作。由表1可以看出,码字是间插排序的,要对这n个码字依次进行解码,该方案首先将这n个码字依次存放到第一数据缓存单元300中,然后按照(子码0的第1个码元、子码0的第2个码元.....子码0的第p+1个码元),......(子码n-1的第1个码元、子码n-1的第2个码元......子码n-1的第p+1个码元)的顺序,依次从中读出n个码字发送到子解码器进行解码处理,将解码处理后的码字输出到第二数据缓存单元320,当子解码器对这n个码字的解码完成后,再将这n个经解码处理的码字依次从第二数据缓存单元320中读出,插入到数据流中进行输出。解码器310,用于从第一数据缓冲单元300中读取码字,对各码字进行解码处理,将处理后的码字再放入第二数据缓存单元320中。第一数据缓存单元300,用于接收并存放解码前的码字。第二数据缓存单元320,用于接收并存放解码后的码字。图4为图3所示解码电路每一个子解码器的结构示意图。如图4所示,该电路包括伴随计算式单元S401、迭代单元I402、求错误位置和错误值单元C403、纠错单元404和数据缓存单元405。伴随计算式单元S401,用于接收码字,对接收到的码字先进行余式计算,然后计算伴随式,将伴随式计算结果输出到迭代单元I402。这里所说的余式计算是指将以输入码元作为系数的多项式作为被除式,除以本原多项式得到余式。所谓伴随式是指得到全部余式以后,将各余式的同次幂系数组合得到的式子称为伴随式。迭代单元I402,用于接收伴随式单元S401输出的伴随式计算结果,采用迭代的方法计算差错位置多项式的系数,如果系数全部为0,表示输入到子解码器的码字的各码元无误,否则表示输入的码元有误,求出相应错误系数的值,将迭代计算的结果输出到求错误位置和错误值单元C403。求错误位置和错误值单元C403,接收迭代单元I402输出的迭代计算的结果,求出错误码元的位置和错误值,将错误位置和错误值发送给纠错单元404。纠错单元404,用于接收求错误位置和错误值单元C403发送的错误位置和错误值,并且接收数据缓存单元405发送的码字,对码字进行纠错处理,将纠错处理后的码字进行输出。对码字进行纠错的操作是指将错误值与错误位置的码元进行求异或操作,即可得到正确无误的码字。数据缓存单元405,用于接收输入到该子解码器上的码字,将这些码字延迟设定周期后输出到纠错单元404。从图3和图4所示的实施例可以看出,在每一个子解码器中均包含一个伴随计算式单元S、一个迭代单元I和一个求错误位置和错误值单元C。假如输入到解码器的数据带宽为3.2Gbps,如果解码器的最小能够处理800Mbps,那么需要的子解码器的个数m=3.2Gbps/800Mbps=4,即需要4个子解码器进行并行工作,即整个解码器需要4个伴随计算式单元S、4个迭代单元I和4个求错误位置和错误值单元C。因为迭代单元I的电路资源比较大,且远大于伴随计算式单元S和迭代单元I的电路资源,所以整个电路的规模较大。由此可见,现有技术中采用的解码电路的方案,整个解码电路的电路资源较大。
技术实现思路
本专利技术的实施例提供一种实现解码的电路,该解码电路可以减小电路规模。本专利技术的实施例提供一种实现解码的方法,该解码方法可以减小电路规模。为了达到上述第一个目的,本专利技术实施例提供了一种实现解码的电路,该电路包括数据缓存单元和纠错单元;所述数据缓存单元,用于接收码字,延迟设定周期后将所述码字输出到纠错单元;所述纠错单元,用于接收所述码字和所述码字的错误位置和错误值,对所述码字进行纠错处理,将所述经纠错处理的码字发送出去;其特征在于,该电路进一步包括解码组合逻辑单元;所述解码组合逻辑单元包括第一子部件组、第二子部件组和第三子部件组;所述第一子部件组中子部件一的个数、第二子部件组中子部件二的个数和第三子部件组中子部件三的个数,是分别根据各子部件的处理能力设计的,所述子部件二的个数分别少于所述子部件一和子部件三的个数;所述第一子部件组,用于接收码字,对所述码字进行余式计算和伴随式计算,将所述余式计算和伴随式计算的计算结果输出到第二子部件组;所述第二子部件组,用于接收第一子部件组输出的所述计算结果,对所述计算结果进行迭代计算,将所述迭代计算结果输出给第三子部件组;所述第三子部件组,用于接收所述迭代计算结果,求出错误位置和错误值,将所述错误位置和错误值输出到所述纠错单元。为了达到本专利技术的第二个目的,本专利技术提供了一种实现解码的方法,其特征在于,预先在解码电路中设置包含子部件一的第一子部件组、包含子部件二的第二子部件组和包含子部件三的第三子部件组;所述子部件二的个数分别少于所述子部件一和子部件三的个数;所述第一子部件组接收输入的码字,对所述码字进行余本文档来自技高网
...

【技术保护点】
一种实现解码的电路,该电路包括:数据缓存单元和纠错单元;所述数据缓存单元,用于接收码字,延迟设定周期后将所述码字输出到纠错单元;所述纠错单元,用于接收所述码字和所述码字的错误位置和错误值,对所述码字进行纠错处理,将所述经纠错 处理的码字发送出去; 其特征在于,该电路进一步包括:解码组合逻辑单元;所述解码组合逻辑单元包括:第一子部件组、第二子部件组和第三子部件组;所述第一子部件组中子部件一的个数、第二子部件组中子部件二的个数和第三子部件组中子部件三的个数, 是分别根据各子部件的处理能力设计的,所述子部件二的个数分别少于所述子部件一和子部件三的个数;所述第一子部件组,用于接收码字,对所述码字进行余式计算和伴随式计算,将所述余式计算和伴随式计算的计算结果输出到第二子部件组;所述第二 子部件组,用于接收第一子部件组输出的所述计算结果,对所述计算结果进行迭代计算,将所述迭代计算结果输出到第三子部件组;所述第三子部件组,用于接收所述迭代计算结果,求出错误位置和错误值,将所述错误位置和错误值输出到所述纠错单元。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈小铁龚兆明刘天铸周冬宝
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1