CN113676189A - 一种ldpc译码器的最小值计算装置及方法 - Google Patents
一种ldpc译码器的最小值计算装置及方法 Download PDFInfo
- Publication number
- CN113676189A CN113676189A CN202110967113.9A CN202110967113A CN113676189A CN 113676189 A CN113676189 A CN 113676189A CN 202110967113 A CN202110967113 A CN 202110967113A CN 113676189 A CN113676189 A CN 113676189A
- Authority
- CN
- China
- Prior art keywords
- sequence
- minimum value
- storage area
- comparator
- selector
- 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
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- 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/6569—Implementation on processors, e.g. DSPs, or software implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种LDPC译码器的最小值计算装置及方法,包括:输入模块,用于输入第一序列,并将第一序列存于第一存储区域;第一处理模块,用于获取第一序列的最小值及对应的第二序列,第二序列由第一序列的每个元素的大小属性构成,将第二序列按序写入第二存储区域;第二处理模块,用于按照与写入顺序相反的顺序依次读取第二存储区域的数据,直至得到与预设标识相等的读取值,将该读取值对应的元素位置作为第一序列的最小值位置。本发明占用硬件资源小,仅需要两个比较器,使得LDPC算法在低端FPGA上的实现成为可能。
Description
技术领域
本发明涉及信道译码领域,尤指一种LDPC译码器的最小值计算装置及方法。
背景技术
低密度奇偶校验码(Low Density Parity Check Code,LDPC)码是一种用于数据信道的纠错码,由于其拥有接近香农极限的优异纠错性能,已经广泛应用于第五代移动通信、卫星数据广播通信等领域。它的最优译码方法是采用和积算法(Sum-ProductAlgorithm)进行译码,由于其译码复杂度高,实际应用中更常采用其简化算法,即最小和算法(Min-SumAlgorithm)进行译码。
最小和算法是一个不断迭代的信息传递过程,每一次迭代中都需要计算解码序列的最小值和次最小值。
目前常用的求序列最小值、次最小值的方法是先将序列进行排序,然后依次取出最小值和次最小值。全比较排序法,将每一个待解码数据与其他所有数据进行比较,并根据比较大小结果给该数据“计分”,然后通过各个数据的“计分”值寻找最小值和次最小值,该方法运算时间短但耗费的硬件资源高。
专利CN101577555A提出了一种通过分级比较,获取最小值和次最小值的方法,使用的硬件资源数量较全比较排序法较少,但依然使用了较多的硬件资源,对于像第五代移动通信这种拥有较大校验矩阵的应用来说,应用到FPGA中依然面临着重大挑战。
发明内容
本发明的目的之一是为了克服现有技术中存在的不足,提供了一种LDPC译码器的最小值计算装置及方法。
本发明提供的技术方案如下:
一种LDPC译码器的最小值计算装置,包括:输入模块,用于输入第一序列,并将第一序列存于第一存储区域;第一处理模块,与所述输入模块电连接,用于根据所述第一存储区域的数据,获取所述第一序列的最小值及与所述第一序列对应的第二序列,所述第二序列由所述第一序列的每个元素的大小属性构成,并按序写入第二存储区域;第二处理模块,与所述第一处理模块电连接,用于按照与写入顺序相反的顺序依次读取所述第二存储区域的数据,直至得到与预设标识相等的读取值,根据该读取值对应的元素位置得到所述第一序列的最小值位置。
进一步地,所述第二处理模块还与所述输入模块电连接;所述第二处理模块,还用于在得到所述第一序列的最小值位置后,将所述最小值位置反馈给所述输入模块;所述输入模块,还用于将一预设最大值写入与所述最小值位置对应的所述第一存储区域中的位置。
进一步地,所述输入模块包括第一选择器和与所述第一选择器电连接的第一存储区域;所述第一选择器,用于从两组输入地址、两组输入数据中选择一组与所述第一存储区域连接;其中一组输入地址为所述最小值位置,对应的输入数据为所述预设最大值。
进一步地,所述第一处理模块,还用于从所述第一存储区域获取所述第一序列的一个元素,将该元素与当前最小值比较,根据比较结果得到该元素的大小属性,并更新所述当前最小值;从所述第一存储区域获取所述第一序列的下一个元素,重复上述过程,直至遍历完所述第一序列的所有元素;所述第一序列的所有元素的大小属性构成第二序列,将所述第二序列按序写入第二存储区域。
进一步地,所述第一处理模块包括第一比较器、最小值寄存器、第四选择器和第二存储区域;所述第一比较器的第一输入端与所述第一存储区域相连,所述第一比较器的第二输入端与所述最小值寄存器的输出端相连,所述第一比较器的输出端与所述第二存储区域相连;所述第一比较器的输出端还与所述第四选择器的控制端相连;所述第一比较器的第一输入端、所述第一比较器的第二输入端还分别与所述第四选择器的第一输入端、第二输入端相连;所述第四选择器的输出端与所述最小值寄存器的输入端相连。
进一步地,所述第一处理模块还包括第三选择器;所述第三选择器的第一输入端设为预设最大值,所述第三选择器的第二输入端与所述第四选择器的输出端相连,所述第三选择器的输出端与所述最小值寄存器的输入端相连。
进一步地,所述第二处理模块包括第二比较器和第二地址发生器;所述第二比较器的第一输入端与所述第二存储区域相连,所述第二比较器的第二输入端设置为预设标识,所述第二比较器的输出端与所述第二地址发生器的控制端相连,所述第二地址发生器与所述第二存储区域相连;当所述第二比较器检测到来自所述第二存储区域的数据与所述预设标识相等时,控制所述第二地址发生器输出的地址停止变化。
进一步地,所述第一存储区域为双端口RAM,所述第二存储区域为双端口RAM。
本发明还提供一种LDPC译码器的最小值计算方法,应用于前述的LDPC译码器的最小值计算装置,包括:输入第一序列,并将第一序列存于第一存储区域;根据所述第一存储区域的数据,获取所述第一序列的最小值及与所述第一序列对应的第二序列,所述第二序列由所述第一序列的每个元素的大小属性构成,并按序写入第二存储区域;按照与写入顺序相反的顺序依次读取所述第二存储区域的数据,直至得到与预设标识相等的读取值,根据该读取值对应的元素位置得到所述第一序列的最小值位置。
进一步地,还包括:在得到所述第一序列的最小值位置后,将一预设最大值写入与所述最小值位置对应的所述第一存储区域中的位置;遍历所述第一存储区域中更新后的第一序列的所有元素,得到更新后的第一序列的最小值。
通过本发明提供的一种LDPC译码器的最小值计算装置及方法,至少能够带来以下有益效果:本发明占用硬件资源小,相比全比较排序法的N×N/2个比较器,仅需要两个比较器,使得LDPC算法在低端FPGA上的实现成为可能。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种LDPC译码器的最小值计算装置及方法的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明的一种LDPC译码器的最小值计算装置的一个实施例的结构示意图;
图2是本发明的一种LDPC译码器的最小值计算装置的另一个实施例的结构示意图;
图3是本发明的一种LDPC译码器的最小值计算方法的一个实施例的流程图;
图4是本发明的一个具体应用场景实施例的结构示意图;
图5是图4中输入模块的结构示意图;
图6是图4中第一处理模块的结构示意图;
图7是图4中第二处理模块的结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘制了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
本发明的一个实施例,如图1所示,一种LDPC译码器的最小值计算装置,包括:
输入模块100、第一处理模块200和第二处理模块300。第一处理模块200与输入模块100电连接;第二处理模块300与第一处理模块200电连接,还和输入模块100电连接。
输入模块100,用于输入第一序列,并将第一序列存于第一存储区域。
第一存储区域可以为寄存器组,或一RAM(随机存储器)区域。假设第一序列有N个元素,优选将第一序列的N个元素连续存放于地址连续的RAM中。
第一序列可按地址增序写入第一存储区域,也可按地址减序写入第一存储区域。
第一处理模块200,用于根据第一存储区域的数据,获取第一序列的最小值及与第一序列对应的第二序列,第二序列由第一序列的每个元素的大小属性构成,并按序写入第二存储区域。
具体地,第一存储区域存储的是第一序列,所以从第一存储区域读取的数据即第一序列。
第一序列中一个元素的大小属性是根据该元素与当前最小值的比较结果得到,当前最小值是指已遍历过或已比较过的元素之间的最小值。
比如,若元素值不大于当前最小值,则该元素的大小属性值为1(此处用1表示“不大于标识”);若元素值大于当前最小值,则该元素的大小属性值为0(用0表示“大于标识”);在另外实施例中,也可以反过来,用0表示“不大于标识”,用1表示“大于标识”。
当前最小值初始可设为预设最大值,第一序列的第一个元素与其比较,得到对应的大小属性。
第一序列中每个元素都有对应的大小属性,将所有元素的大小属性构成第二序列,该第二序列与第一序列一一对应。将第二序列按序写入第二存储区域。
第二存储区域可以是寄存器组或一段连续RAM,优选连续RAM,地址寻址方便。第二序列可按地址增序写入第二存储区域,也可按地址减序写入第二存储区域。
第二处理模块300,用于按照与写入顺序相反的顺序依次读取第二存储区域的数据,直至得到与预设标识相等的读取值,根据该读取值对应的元素位置得到第一序列的最小值位置。
具体地,比如,1表示“不大于标识”,0表示“大于标识”,通过第一处理模块的处理得到第一序列每个元素的大小属性(即第二序列的元素),将第二序列的元素按地址增序写入第二存储区域,则第二处理模块从最高地址开始,按地址减序从第二存储区域读取。获取的第一个读取值为第二序列的最后一个元素,将该元素值与预设标识比较;预设标识为“不大于标识”,即1;若元素值不等于预设标识,则按地址减序获取下一个元素,将该元素值与预设标识比较;若不等于预设标识,则继续对地址减序获取下一个元素,如此循环,直至获得的元素值与预设标识相等。此时获得的元素值是对应第一序列的最小值的大小属性,该元素值对应的地址反映了其在第二序列中的位置,第二序列的元素与第一序列的元素是一一对应的,所以根据该元素值对应的地址可得到第一序列的最小值的位置(即第一序列的最小值在第一序列中的相对位置)。
第二处理模块200,还用于在得到第一序列的最小值位置后,将该最小值位置反馈给输入模块;
输入模块100,还用于将一预设最大值写入第一存储区域中与该最小值位置对应的位置。
这样实现了将第一序列的最小值更新为最大预设值,如此得到更新的第一序列。再通过第一处理模块获取更新的第一序列的最小值,该最小值即为原始第一序列的次最小值。
至此,实现了LDPC译码器的最小值和次最小值的计算。
可选地,还可包括控制模块(图1未示出),用于控制输入模块、第一处理模块和第二处理模块之间的时序配合。
本实施例,通过第一轮比较获取第一序列的最小值及最小值所在的位置,之后将第一序列的最小值更新为预设最大值,再复用第一轮的比较器及相关硬件得到第一序列的次最小值,从而大大减少了LDPC译码器的最小值计算装置的硬件资源,仅需要两个比较器,使得LDPC算法在低端FPGA上的实现成为可能。
本发明的另一个实施例,如图2所示,一种LDPC译码器的最小值计算装置,包括:
输入模块100、第一处理模块200和第二处理模块300。第一处理模块200与输入模块100电连接;第二处理模块300与第一处理模块200电连接,还和输入模块100电连接。
输入模块100,用于输入第一序列,并将第一序列存于第一存储区域。
输入模块100包括第一选择器110和与第一选择器110电连接的第一存储区域120。第一选择器110,用于从两组输入地址、两组输入数据中选择一组与第一存储区域120连接;其中一组输入地址为最小值位置,对应的输入数据为预设最大值。
如图2所示,输入地址1、输入数据1用于输入第一序列的原始数据;输入地址2为第一序列的最小值位置(即第一序列的最小值在第一序列中的相对位置),该最小值位置是变化的,由后续的第二处理模块300输出。输入数据2设为预设最大值。
第一处理模块200,用于从第一存储区域获取第一序列的一个元素,将该元素与当前最小值比较,根据比较结果得到该元素的大小属性,将该元素的大小属性写入第二存储区域;还根据比较结果更新当前最小值,即用元素与当前最小值中的较小值更新当前最小值,使当前最小值为已比较过的元素之间的最小值;从第一存储区域获取第一序列的下一个元素,重复上述过程,直至遍历完第一序列的所有元素;第一序列的所有元素的大小属性构成第二序列,将第二序列按序写入第二存储区域。
第一处理模块200包括第一比较器210、最小值寄存器220、第四选择器230和第二存储区域240;
第一比较器210的第一输入端与第一存储区域相连,用于获取第一序列的元素;第一比较器210的第二输入端与最小值寄存器220的输出端相连,用于获取当前最小值;第一比较器的输出端输出比较结果,通过第一比较器的输出端与第二存储区域相连,将比较结果写入第二存储区域。在此实施例中,直接将比较器的输出结果作为元素的大小属性值。也可以根据需要增加处理环节,对比较器的输出结果进行处理,然后得到元素的大小属性值,再写入第二存储区域。
第一比较器的第一输入端、第一比较器的第二输入端还分别与第四选择器的第一输入端、第二输入端相连。第一比较器210的输出端还与第四选择器230的控制端相连,从而控制第四选择器230输出第一输入端与第二输入端中的较小值。
第四选择器的输出端与最小值寄存器220的输入端相连,从而实现根据比较结果更新当前最小值。
第一处理模块还可包括第三选择器250;第三选择器250的第二输入端与第四选择器230的输出端相连,第三选择器的输出端与最小值寄存器220的输入端相连。第三选择器的第一输入端可以设为预设最大值,用于将最小值寄存器初始化为预设最大值;也可以与第一存储区域相连,用于将最小值寄存器初始化为从第一存储区域读取的第一个元素。
第二处理模块300,用于按照与写入顺序相反的顺序依次读取第二存储区域的数据,直至得到与预设标识相等的读取值,根据该读取值对应的元素位置得到第一序列的最小值位置。
第二处理模块300包括第二比较器310和第二地址发生器320;第二比较器310的第一输入端与第二存储区域相连,第二比较器310的第二输入端设置为预设标识,第二比较器的输出端与第二地址发生器的控制端相连,第二地址发生器与第二存储区域相连。
当第二比较器检测到来自第二存储区域的数据与预设标识相等时,控制第二地址发生器输出的地址停止变化。
第二地址发生器还与第一选择器相连,用于将第一序列的最小值位置反馈给输入模块100。
第一存储区域、第二存储区域可以为单端口RAM,也可以为双端口RAM。采用双端口RAM可以简化数据写入、读出的控制逻辑。
本实施例,通过两个比较器、两个存储区域和若干选择器和寄存器,以较小的硬件资源实现了LDPC译码器中的最小值和次最小值计算,使得LDPC算法在低端FPGA上的实现成为可能。
本发明的一个实施例,如图3所示,一种LDPC译码器的最小值计算方法,应用于前述实施例所述的LDPC译码器的最小值计算装置,包括:
步骤S100输入第一序列,并将第一序列存于第一存储区域。
步骤S200根据第一存储区域的数据,获取第一序列的最小值及与第一序列对应的第二序列,第二序列由第一序列的每个元素的大小属性构成,并按序写入第二存储区域。
步骤S300按照与写入顺序相反的顺序依次读取第二存储区域的数据,直至得到与预设标识相等的读取值,根据该读取值对应的元素位置得到第一序列的最小值位置。
步骤S400在得到第一序列的最小值位置后,将一预设最大值写入与最小值位置对应的第一存储区域中的位置。
步骤S500遍历第一存储区域中更新后的第一序列的所有元素,得到更新后的第一序列的最小值。
本实施例,通过第一轮比较获取第一序列的最小值及最小值所在的位置,之后将第一序列的最小值更新为预设最大值,再复用第一轮的比较器及相关硬件得到第一序列的次最小值。
需要说明的是,本发明提供的LDPC译码器的最小值计算方法的实施例与前述提供的LDPC译码器的最小值计算装置的实施例均基于同一发明构思,能够取得相同的技术效果。因而,LDPC译码器的最小值计算方法的实施例的其它具体内容可以参照前述LDPC译码器的最小值计算装置的实施例内容的记载。
本发明还提供了一个具体实施场景示例,将本申请提供的LDPC译码器的最小值计算装置和方法应用于LDPC译码器的第一最小值和第二最小值的计算装置中。
该计算装置的总体结构如图4所示,包括:输入模块100、第一处理模块200和第二处理模块300、主控制器400。其中输入模块100的具体结构如图5所示,第一处理模块200的具体结构如图6所示,第二处理模块300的具体结构如图7所示。
主控制器400负责整个电路的时序控制,用于控制输入模块100、第一处理模块200和第二处理模块300之间的时序配合。
输入模块100包括数据选择器1(即第一选择器110)、数据寄存器组1(即第一存储区域120)。数据选择器1在主控制器的控制下通过数据7接口将待求序列(即第一序列)存储于数据寄存器组1。数据寄存器组1采用双端口RAM。
第一处理模块200包括数据选择器2-4、数据寄存器1-2、比较器1(即第一比较器210)、数据寄存器组2(即第二存储区域240)、地址生成器1。数据寄存器组2采用双端口RAM。
地址生成器1在主控制器的控制下生成递增次数的地址。主控制器按照地址生成器1的地址依次从数据寄存器组1取值到数据寄存器1或数据寄存器2。比较器1在主控制器的控制下对数据寄存器1和数据寄存器2(即最小值寄存器220)中的数据进行比较,比较结果依次存入数据寄存器组2中。
数据寄存器组2中存储数据比较结果。
数据选择器4(即第四选择器230)依据比较器1的输出结果从数据寄存器1和数据寄存器2中的数据中选择出两者的较小值,并将该值返存入数据寄存器2中。
数据寄存器2的数值由主控制器控制数据选择器3(即第三选择器250)选择输入。
主控制器控制上述过程直至遍历完数据寄存器组1中的数值,完成最小值的查找。
第二处理模块300包括比较器2(即第二比较器310)和地址生成器2(即第二地址发生器320)。地址生成器2按照递减次序从最大地址递减。主控制器依据地址2从数据寄存器组2中取值,并与常值寄存器2中的值进行比较。常值寄存器2中存有常值bit“1”(即预设标识)。当数据5等于“1”时,通过数据6控制地址生成器2停止递减。同时主控制器控制数据选择器1将常值寄存器1的数值通过数据7写入到数据寄存器组1中。地址3指示的位置与此时地址2相同。常值寄存器1中存有常值2L-1(此处是假设第一序列中元素的二进制位数为L)。
主控制器启动次最小值查找流程,流程与最小值查找流程相同。最后完成最小值和次最小值的查找。
下面列举一个具体例子:
假设待求最小值和次最小值的序列为:[188,236,52,69,78,12,105,46,5,7,98,48,222,93,56,8]。
地址生成器1为4-bit计数器,在主控制器下的控制下生成0~15的地址;地址生成器2为4-bit计数器,在主控制器下的控制下生成15~0的地址。
数据寄存器组1、数据寄存器组2为双端口RAM。数据寄存器组1大小为16×8bit,数据寄存器组2大小为16×1bit。
数据寄存器1、数据寄存器2为8bit寄存器。比较器1为8bit比较器,比较器2为1bit比较器。
待求序列经数据选择器1选择,通过写端口(地址3和数据7)写入到数据寄存器组1中。
写入完成后,主控制器通过读端口(地址1和数据0)从数据寄存器组1读取第一个数据“188”,将数据“188”经数据选择器2、数据选择器3写入数据寄存器2,经数据选择器2写入数据寄存器1。数据寄存器1的值和数据寄存器2的值在比较器1中比较,将比较结果“1”(数据3,表示数据寄存器1<=数据寄存器2)写入数据寄存器组2中。同时,数据选择器4根据比较结果选择较小值的“188”经数据选择器3写入数据寄存器2。
然后将第二个数据“236”写入数据寄存器1。“188”和“236”在比较器1中比较。比较结果“0”(表示数据寄存器1>数据寄存器2)继续写入数据寄存器组2中。同时,数据选择器4根据比较结果选择较小值的“188”经数据选择器3写入数据寄存器2。
读取第三个数据“52”,写入数据寄存器1,与数据寄存器2中的值“188”进行比较,将比较结果“1”(52<188)继续写入数据寄存器组2中,并选择较小值“52”写入数据寄存器2。
以此类推,直至到最后一个数据完成比较。数据寄存器2中依次为188、188、52、52、52、12、12、12、5、5、5、5、5、5、5、5。
此时,数据寄存器组2中的数据为[1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0]。序列最小值为5。
上述过程完成后,主控制器通过数据寄存器组2的读端口(地址2+数据5)将比较结果依次读出,并与常值寄存器2中的值(设为1)进行比较。当地址2从15递减到8时,数据5等于“1”,此时停止比较过程。主控制器将数据“255”(8bit的最大值)经数据选择器1写入数据寄存器组1中“地址8”的位置。
然后再次启动一轮求最小值步骤,直至到最后一个数据完成比较。数据寄存器2中依次为188、188、52、52、52、12、12、12、12、7、7、7、7、7、7、7。
序列次最小值为7。
至此,完成待求序列的最小值和次最小值的查找。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种LDPC译码器的最小值计算装置,其特征在于,包括:
输入模块,用于输入第一序列,并将第一序列存于第一存储区域;
第一处理模块,与所述输入模块电连接,用于根据所述第一存储区域的数据,获取所述第一序列的最小值及与所述第一序列对应的第二序列,所述第二序列由所述第一序列的每个元素的大小属性构成,并按序写入第二存储区域;
第二处理模块,与所述第一处理模块电连接,用于按照与写入顺序相反的顺序依次读取所述第二存储区域的数据,直至得到与预设标识相等的读取值,根据该读取值对应的元素位置得到所述第一序列的最小值位置。
2.根据权利要求1所述的最小值计算装置,其特征在于:
所述第二处理模块还与所述输入模块电连接;
所述第二处理模块,还用于在得到所述第一序列的最小值位置后,将所述最小值位置反馈给所述输入模块;
所述输入模块,还用于将一预设最大值写入与所述最小值位置对应的所述第一存储区域中的位置。
3.根据权利要求2所述的最小值计算装置,其特征在于:
所述输入模块包括第一选择器和与所述第一选择器电连接的第一存储区域;
所述第一选择器,用于从两组输入地址、两组输入数据中选择一组与所述第一存储区域连接;其中一组输入地址为所述最小值位置,对应的输入数据为所述预设最大值。
4.根据权利要求2所述的最小值计算装置,其特征在于:
所述第一处理模块,还用于从所述第一存储区域获取所述第一序列的一个元素,将该元素与当前最小值比较,根据比较结果得到该元素的大小属性,并更新所述当前最小值;从所述第一存储区域获取所述第一序列的下一个元素,重复上述过程,直至遍历完所述第一序列的所有元素;所述第一序列的所有元素的大小属性构成第二序列,将所述第二序列按序写入第二存储区域。
5.根据权利要求2所述的最小值计算装置,其特征在于:
所述第一处理模块包括第一比较器、最小值寄存器、第四选择器和第二存储区域;
所述第一比较器的第一输入端与所述第一存储区域相连,所述第一比较器的第二输入端与所述最小值寄存器的输出端相连,所述第一比较器的输出端与所述第二存储区域相连;
所述第一比较器的输出端还与所述第四选择器的控制端相连;
所述第一比较器的第一输入端、所述第一比较器的第二输入端还分别与所述第四选择器的第一输入端、第二输入端相连;
所述第四选择器的输出端与所述最小值寄存器的输入端相连。
6.根据权利要求5所述的最小值计算装置,其特征在于:
所述第一处理模块还包括第三选择器;
所述第三选择器的第二输入端与所述第四选择器的输出端相连,所述第三选择器的输出端与所述最小值寄存器的输入端相连。
7.根据权利要求2所述的最小值计算装置,其特征在于:
所述第二处理模块包括第二比较器和第二地址发生器;
所述第二比较器的第一输入端与所述第二存储区域相连,所述第二比较器的第二输入端设置为预设标识,所述第二比较器的输出端与所述第二地址发生器的控制端相连,所述第二地址发生器与所述第二存储区域相连;
当所述第二比较器检测到来自所述第二存储区域的数据与所述预设标识相等时,控制所述第二地址发生器输出的地址停止变化。
8.根据权利要求6所述的最小值计算装置,其特征在于:
所述第一存储区域为双端口RAM,所述第二存储区域为双端口RAM。
9.一种LDPC译码器的最小值计算方法,其特征在于,应用于权利要求1所述的LDPC译码器的最小值计算装置,包括:
输入第一序列,并将第一序列存于第一存储区域;
根据所述第一存储区域的数据,获取所述第一序列的最小值及与所述第一序列对应的第二序列,所述第二序列由所述第一序列的每个元素的大小属性构成,并按序写入第二存储区域;
按照与写入顺序相反的顺序依次读取所述第二存储区域的数据,直至得到与预设标识相等的读取值,根据该读取值对应的元素位置得到所述第一序列的最小值位置。
10.根据权利要求9所述的最小值计算方法,其特征在于,还包括:
在得到所述第一序列的最小值位置后,将一预设最大值写入与所述最小值位置对应的所述第一存储区域中的位置;
遍历所述第一存储区域中更新后的第一序列的所有元素,得到更新后的第一序列的最小值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110967113.9A CN113676189B (zh) | 2021-08-23 | 2021-08-23 | 一种ldpc译码器的最小值计算装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110967113.9A CN113676189B (zh) | 2021-08-23 | 2021-08-23 | 一种ldpc译码器的最小值计算装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676189A true CN113676189A (zh) | 2021-11-19 |
CN113676189B CN113676189B (zh) | 2022-06-21 |
Family
ID=78544977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110967113.9A Active CN113676189B (zh) | 2021-08-23 | 2021-08-23 | 一种ldpc译码器的最小值计算装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676189B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478313A (zh) * | 2009-01-23 | 2009-07-08 | 清华大学 | 一种ldpc译码器的最小值计算装置及其构造方法 |
CN101577555A (zh) * | 2009-06-17 | 2009-11-11 | 清华大学 | Ldpc译码中的最小值比较方法及其实现装置 |
JP2012209632A (ja) * | 2011-03-29 | 2012-10-25 | Lapis Semiconductor Co Ltd | 最小値検出回路及び最小値検出方法 |
-
2021
- 2021-08-23 CN CN202110967113.9A patent/CN113676189B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478313A (zh) * | 2009-01-23 | 2009-07-08 | 清华大学 | 一种ldpc译码器的最小值计算装置及其构造方法 |
CN101577555A (zh) * | 2009-06-17 | 2009-11-11 | 清华大学 | Ldpc译码中的最小值比较方法及其实现装置 |
JP2012209632A (ja) * | 2011-03-29 | 2012-10-25 | Lapis Semiconductor Co Ltd | 最小値検出回路及び最小値検出方法 |
Non-Patent Citations (2)
Title |
---|
张蓉蓉: "一种LDPC码改进的最小和译码算法", 《微计算机信息》 * |
陈发堂等: "LDPC码的一种低复杂度归一化最小和译码算法", 《重庆邮电大学学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113676189B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112711935B (zh) | 编码方法、解码方法、装置及计算机可读存储介质 | |
US6563956B1 (en) | Method and apparatus for compressing data string | |
US5936560A (en) | Data compression method and apparatus performing high-speed comparison between data stored in a dictionary window and data to be compressed | |
US20070285290A1 (en) | Data coding system and method | |
EP0595064A2 (en) | Method and means providing static dictionary structures for compressing character data and expanding compressed data | |
CN113741858B (zh) | 存内乘加计算方法、装置、芯片和计算设备 | |
US5081608A (en) | Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields | |
US4188669A (en) | Decoder for variable-length codes | |
CN113676189B (zh) | 一种ldpc译码器的最小值计算装置及方法 | |
CN106940708A (zh) | 一种基于二分查找法实现ip范围定位的方法及系统 | |
CN111384972A (zh) | 多进制ldpc解码算法的优化方法、装置及解码器 | |
CN109446198B (zh) | 一种基于双数组的trie树节点压缩方法及装置 | |
CN115982311B (zh) | 一种链表的生成方法、装置、终端设备及存储介质 | |
TW201029337A (en) | Method for decoding LDPC code and the circuit thereof | |
CN114780151A (zh) | 一种基于归并排序算法实现可变规模数量的数据排序系统 | |
Nagumo et al. | Parallel algorithms for the static dictionary compression | |
CN105553483B (zh) | 一种产生lz77的方法及装置 | |
CN113612575A (zh) | 面向Wimax协议的QC-LDPC译码器译码方法及系统 | |
CN114430280A (zh) | 一种译码方法及装置 | |
CN116662063B (zh) | 一种闪存的纠错配置方法、纠错方法、系统、设备及介质 | |
JP2021149389A (ja) | メモリシステム | |
CN112817530B (zh) | 一种多线程安全高效读写有序数据的方法 | |
CN111384976A (zh) | 稀疏校验矩阵的存储方法和读取方法 | |
US12001339B2 (en) | Dictionary compression device and memory system | |
US20230289293A1 (en) | Dictionary compression device and memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |