CN114499543B - 一种基于fpga的ldpc编码方法及编码器 - Google Patents
一种基于fpga的ldpc编码方法及编码器 Download PDFInfo
- Publication number
- CN114499543B CN114499543B CN202210148782.8A CN202210148782A CN114499543B CN 114499543 B CN114499543 B CN 114499543B CN 202210148782 A CN202210148782 A CN 202210148782A CN 114499543 B CN114499543 B CN 114499543B
- Authority
- CN
- China
- Prior art keywords
- address
- signal
- calculation unit
- counter
- counter signal
- 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.)
- Active
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
-
- 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/6502—Reduction of hardware complexity or efficient processing
-
- 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/6522—Intended application, e.g. transmission or communication standard
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种基于FPGA的LDPC编码方法及编码器,地址控制模块,用于生成第一计数器信号和第一地址信号;校验比特计算模块,用于接收第一输入码元以及每个时钟周期的所述第一计数器信号和第一地址信号,并将所述第一计数器信号和第一地址信号与第一输入码元进行数据同步,并输出第一读写地址,将第一读写地址中得到的第一数据和当前时钟周期输入的信息码字进行异或后,再写回原位置;校验比特生成模块,用于读取所述校验比特计算模块中的异或结果,并对得到的异或结果进行运算,得到最终的奇偶校验码字;达到高吞吐率、低资源占用率的效果。
Description
技术领域
本发明涉及编码技术领域,更为具体地是特别涉及一种基于FPGA的LDPC编码方法及编码器。
背景技术
LDPC码是一类性能逼近香农极限的纠错码,也是当今信道编码领域的研究热点之一。Gallager在上世纪六十年代初提出LDPC码时,由于受到当时硬件条件的限制并没有得到应用,随着大规模集成电路技术的发展,LDPC码已经从理论研究进入了实用发展的阶段。而FPGA具有高吞吐率、高带宽、灵活可编程的特点,是通信系统中重要的硬件载体,尤其是5G时代的到来,FPGA在通讯行业大放异彩。
随着空间技术和通信技术的发展,人们对卫星数据传输速率和可靠性的要求不断提高,信道编码是提高数据传输可靠性的关键技术。LDPC码是目前纠错编码领域研究最多且最有前景的编码技术,移动通信(如5G)、光纤、磁介质设备广泛采用LDPC编码技术。各种卫星通信系统均采用了LDPC码,如CCSDS标准和欧洲第二代数字卫星电视广播DVB-S2标准,DVB-S2标准提供了一种强大的前向纠错编码方案,该系统的纠错编码采用LDPC与BCH级联码,现阶段还对DVB-S2标准的LDPC码进行扩展,形成了DVB-S2X标准,进一步奠定了LDPC码的重要性。
因此,急需要一种基于FPGA的LDPC编码方法及编码器。
发明内容
为了解决现有问题,本发明提供一种基于FPGA的LDPC编码方法及编码器,达到高吞吐率、低资源占用率的效果。
第一方面,本发明提供了一种基于FPGA的LDPC编码器,包括地址控制模块,用于生成第一计数器信号和第一地址信号;校验比特计算模块,用于接收第一输入码元以及每个时钟周期的所述第一计数器信号和第一地址信号,并将所述第一计数器信号和第一地址信号与第一输入码元进行数据同步,并输出第一读写地址,将第一读写地址中得到的第一数据和当前时钟周期输入的信息码字进行异或后,再写回原位置;校验比特生成模块,用于读取所述校验比特计算模块中的异或结果,并对得到的异或结果进行运算,得到最终的奇偶校验码字。达到高吞吐率、低资源占用率的效果。
校验比特计算模块每接收一个原始码元,会同步接收到该码元对应一组的第一计数器信号和第一地址信号。地址计算单元会根据第一计数器信号和第一地址信号计算出一个值(假设叫j),该值是校验比特计算模块中check_ram的读写地址。首先读出check_ram的j地址下的值,将存储器中读出的数与当前的码元进行异或后,再写回原位置(也就是j对应的位置);计算出当前码元对应的地址,读出该地址的原始数据与自身异或,然后再写回去。
在本申请的部分实施例中,所述地址控制模块包括计数器和地址表存储单元,所述计数器用于生成第一计数器信号,所述地址表存储单元用于生成第一地址信号,所述计数器对输入的信息码元进行计数。
在本申请的部分实施例中,所述第一计数器信号用于对帧内比特进行计数,在0-359内循环计数,并将第一计数器信号传输给所述校验比特计算模块。
在本申请的部分实施例中,所述计数器还生成第二计数器信号,用于对帧进行计数,当检测到所述第一计数器信号到357时,所述第二计数器信号的数值加1,且所述第二计数器信号在0-34内循环计数,第二计数器信号为所述地址表存储单元的第二读写地址。
在本申请的部分实施例中,所述校验比特计算模块包括三级流水控制单元和3路地址计算单元,所述三级流水控制单元将每个时钟周期接收到的第一输入码元、第一计数器信号和第一地址信号进行数据同步,并轮流输入到3路地址计算单元中。
在本申请的部分实施例中,3路地址计算单元包括第一地址计算单元、第二地址计算单元和第三地址计算单元,每个地址计算单元对应设置有一个存储单元,将数据轮流输入到第一地址计算单元、第二地址计算单元和第三地址计算单元以及相对应的存储单元中,并输出第一读写地址。每路地址计算单元相互独立,第一个时钟周期,第一个码元进来以后,会同步接收到一个第一计数器信号和第一地址信号,流水控制模块会将这三个数送入第一路地址计算单元,计算得到一个读写地址,将check_ram1对应的该地址下的值读出,异或,再写回第二个时钟周期,来第二个码元,流水控制模块会将这新的3个数送入第二路计算单元和存储单元;第三个码元同理,流水控制单元会将其送入第三路;第四个码元来,又送第一路,如此循环。
在本申请的部分实施例中,所述校验比特生成模块包括复用功能单元,从地址0-3599同步读取所述第一地址计算单元、第二地址计算单元和第三地址计算单元分别对应的存储单元,对第一个时钟周期得到的数据进行二进制加法得到第一数据并将其延迟一个时钟周期,将两个时钟周期得到的第一数据进行异或,得到奇偶校验码字。让第一个数据延迟一个时钟周期(等待,保留一个时钟周期),同时去读第二组,得到第二数据,是把第一个加法结果和第二个加法结果进行异或,第二个加法结果和第三个加法结果异或。
第二方面,一种基于FPGA的LDPC编码方法,包括以下步骤:通过地址控制模块生成第一计数器信号和第一地址信号;通过校验比特计算模块接收第一输入码元以及每个时钟周期的所述第一计数器信号和第一地址信号,并将所述第一计数器信号和第一地址信号与第一输入码元进行数据同步,并输出第一读写地址,将第一读写地址中得到的第一数据和当前时钟周期输入的信息码字进行异或后,再写回原位置;通过校验比特生成模块读取所述校验比特计算模块中的异或结果,并对得到的异或结果进行运算,得到最终的奇偶校验码字。
在本申请的部分实施例中,,所述地址控制模块包括计数器和地址表存储单元,所述计数器用于生成第一计数器信号,所述地址表存储单元用于生成第一地址信号,所述计数器对输入的信息码元进行计数;所述第一计数器信号用于对帧内比特进行计数,在0-359内循环计数,并将第一计数器信号传输给所述校验比特计算模块;所述计数器还生成第二计数器信号,用于对帧进行计数,当检测到所述第一计数器信号到357时,所述第二计数器信号的数值加1,且所述第二计数器信号在0-34内循环计数,第二计数器信号为所述地址表存储单元的第二读写地址。
在本申请的部分实施例中,所述校验比特计算模块包括三级流水控制单元和3路地址计算单元,所述三级流水控制单元将每个时钟周期接收到的第一输入码元、第一计数器信号和第一地址信号进行数据同步,并轮流输入到3路地址计算单元中;3路地址计算单元包括第一地址计算单元、第二地址计算单元和第三地址计算单元,将数据轮流输入到第一地址计算单元、第二地址计算单元和第三地址计算单元中,输出第一读写地址。
本发明的有益效果是:本发明提供一种基于FPGA的LDPC编码方法及编码器,地址控制模块,用于生成第一计数器信号和第一地址信号;校验比特计算模块,用于接收第一输入码元以及每个时钟周期的所述第一计数器信号和第一地址信号,并将所述第一计数器信号和第一地址信号与第一输入码元进行数据同步,并输出第一读写地址,将第一读写地址中得到的第一数据和当前时钟周期输入的信息码字进行异或后,再写回原位置;校验比特生成模块,用于读取所述校验比特计算模块中的异或结果,并对得到的异或结果进行运算,得到最终的奇偶校验码字。达到高吞吐率、低资源占用率的效果。
附图说明
图1为本发明的编码器系统框图;
图2为本发明的普通帧4/5码率地址表;
图3为本发明的地址表在ROM中的存储结构;
图4为本发明的地址计算单元流水线结构;
图5为本发明的信息位累加原理图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下获得的所有其他实施例,都属于本发明保护的范围。
本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义两个或两个以上,除非另有明确具体的限定。
在申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对已知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理的最广范围相一致。
根据DVB-S2标准,其LDPC编码任务是由k个信息位(i 0,i 1…i k-1)得到(n-k)个奇偶校验位(p 0,p 1…p n-k-1),最后得到码字(i 0,i 1…i n-1,p 0,p 1…p n-k-1)。编码步骤如下:
1)初始化校验位:
p 0=p 1=…=p n-k-1=0 (1.1)
2)计算信息位对校验位的贡献,计算公式如下:
(异或,相同为0,不同为1) (1.2)
j=(x+q(m mod 360))mod(n ldpc-k ldpC) (1.3)
其中p j是第j个校验位,i m是第m个信息位,x是奇偶校验位的地址,q是一个与码率相关的常数。在普通帧4/5码率下,K=12600,N=16200,q=10。
3)获得最终的奇偶校验位:
实施例1:请参阅图1;本发明公开一种基于FPGA的LDPC编码器,包括地址控制模块,用于生成第一计数器信号和第一地址信号;校验比特计算模块,用于接收第一输入码元以及每个时钟周期的所述第一计数器信号和第一地址信号,并将所述第一计数器信号和第一地址信号与第一输入码元进行数据同步,并输出第一读写地址,将第一读写地址中得到的第一数据和当前时钟周期输入的信息码字进行异或后,再写回原位置;校验比特生成模块,用于读取所述校验比特计算模块中的异或结果,并对得到的异或结果进行运算,得到最终的奇偶校验码字。达到高吞吐率、低资源占用率的效果。
校验比特计算模块每接收一个原始码元,会同步接收到该码元对应一组的第一计数器信号和第一地址信号。地址计算单元会根据第一计数器信号和第一地址信号计算出一个值(假设叫j),该值是校验比特计算模块中check_ram的读写地址。首先读出check_ram的j地址下的值,将存储器中读出的数与当前的码元进行异或后,再写回原位置(也就是j对应的位置);计算出当前码元对应的地址,读出该地址的原始数据与自身异或,然后再写回去。
在本申请的部分实施例中,所述地址控制模块包括计数器和地址表存储单元,所述计数器用于生成第一计数器信号,所述地址表存储单元用于生成第一地址信号,所述计数器对输入的信息码元进行计数。
在本申请的部分实施例中,所述第一计数器信号用于对帧内比特进行计数,在0-359内循环计数,并将第一计数器信号传输给所述校验比特计算模块。
在本申请的部分实施例中,所述计数器还生成第二计数器信号,用于对帧进行计数,当检测到所述第一计数器信号到357时,所述第二计数器信号的数值加1,且所述第二计数器信号在0-34内循环计数,第二计数器信号为所述地址表存储单元的第二读写地址。
在本申请的部分实施例中,所述校验比特计算模块包括三级流水控制单元和3路地址计算单元,所述三级流水控制单元将每个时钟周期接收到的第一输入码元、第一计数器信号和第一地址信号进行数据同步,并轮流输入到3路地址计算单元中。
在本申请的部分实施例中,3路地址计算单元包括第一地址计算单元、第二地址计算单元和第三地址计算单元,每个地址计算单元对应设置有一个存储单元,将数据轮流输入到第一地址计算单元、第二地址计算单元和第三地址计算单元以及相对应的存储单元中,并输出第一读写地址。每路地址计算单元相互独立,第一个时钟周期,第一个码元进来以后,会同步接收到一个第一计数器信号和第一地址信号,流水控制模块会将这三个数送入第一路地址计算单元,计算得到一个读写地址,将check_ram1对应的该地址下的值读出,异或,再写回第二个时钟周期,来第二个码元,流水控制模块会将这新的3个数送入第二路计算单元和存储单元;第三个码元同理,流水控制单元会将其送入第三路;第四个码元来,又送第一路,如此循环。
在本申请的部分实施例中,所述校验比特生成模块包括复用功能单元,从地址0-3599同步读取所述第一地址计算单元、第二地址计算单元和第三地址计算单元分别对应的存储单元,对第一个时钟周期得到的数据进行二进制加法得到第一数据并将其延迟一个时钟周期,将两个时钟周期得到的第一数据进行异或,得到奇偶校验码字。让第一个数据延迟一个时钟周期(等待,保留一个时钟周期),同时去读第二组,得到第二数据,是把第一个加法结果和第二个加法结果进行异或,第二个加法结果和第三个加法结果异或。
第二方面,本申请还公开了一种基于FPGA的LDPC编码方法,包括以下步骤:通过地址控制模块生成第一计数器信号和第一地址信号;通过校验比特计算模块接收第一输入码元以及每个时钟周期的所述第一计数器信号和第一地址信号,并将所述第一计数器信号和第一地址信号与第一输入码元进行数据同步,并输出第一读写地址,将第一读写地址中得到的第一数据和当前时钟周期输入的信息码字进行异或后,再写回原位置;通过校验比特生成模块读取所述校验比特计算模块中的异或结果,并对得到的异或结果进行运算,得到最终的奇偶校验码字。
在本申请的部分实施例中,,所述地址控制模块包括计数器和地址表存储单元,所述计数器用于生成第一计数器信号,所述地址表存储单元用于生成第一地址信号,所述计数器对输入的信息码元进行计数;所述第一计数器信号用于对帧内比特进行计数,在0-359内循环计数,并将第一计数器信号传输给所述校验比特计算模块;所述计数器还生成第二计数器信号,用于对帧进行计数,当检测到所述第一计数器信号到357时,所述第二计数器信号的数值加1,且所述第二计数器信号在0-34内循环计数,第二计数器信号为所述地址表存储单元的第二读写地址。
在本申请的部分实施例中,所述校验比特计算模块包括三级流水控制单元和3路地址计算单元,所述三级流水控制单元将每个时钟周期接收到的第一输入码元、第一计数器信号和第一地址信号进行数据同步,并轮流输入到3路地址计算单元中;3路地址计算单元包括第一地址计算单元、第二地址计算单元和第三地址计算单元,将数据轮流输入到第一地址计算单元、第二地址计算单元和第三地址计算单元中,输出第一读写地址。
本实施例中的地址控制模块:该模块中的计数器对输入的信息码元计数。在DVB-S2标准中普通帧下,一组信息码元为12600比特(bits),其中每360个比特为1帧,共35帧。系统框图图1中计数值Cnt1初值为0,为帧内比特计数值,以Din_value拉高为起始信号,开始从0~359循环计数。Cnt1输出到校验比特计算模块。系统框图图1中计数值Cnt2初始为0,为帧计数值,当检测到Cnt1等于357时,Cnt2加1,从0~34循环计数。Cnt2作为地址表存储单元AddrROM的读地址。地址表存储单元AddrROM为单口ROM,宽度为36,深度为35。ROM初始值为DVB-S2标准中普通帧4/5码率对应的地址表,该地址表如下图2所示。
图2中的地址表一共35行,每行中含有三个数据。每行的3个数据合并存储,占用一个ROM地址位。ROM的数据接口的data[35:24]位表示第一个数据,data[23:12]位表示第二个数据,data[11:0]表示第三个数据。存储结构如下图3所示。
本实施例中的校验比特计算模块:三级流水控制单元将每个时钟周期接收到的输入码元date_in,地址信息Addr和帧内计数值Cnt1进行数据同步,并轮流输入到3路地址计算单元。即将第1组有效数据输入地址计算单元1,将第2组有效数据输入地址计算单元2,将第3组有效数据输入地址计算单元3,然后第4组有效数据输入地址计算单元1,如此循环。3路地址计算单元功能一致,完成式j=(x+q(m mod 360))mod(n ldpc-k ldpC)的计算。式中(mmod 360)即地址控制模块中输出cnt1,因此不必再次计算。为了提高电路的运行频率,该地址计算式拆分为3级流水线计算。为方便表示,引入如下中间变量:
temp1=q(m mod 360) (2.1)
temp2=x+temp1 (2.2)
j=temp2 mod(n ldpc-k ldpC) (2.3)
地址计算单元流水线结构如图4。
该中3路Check_RAM为伪双口RAM,宽度为1,深度为3600,以地址计算单元输出数据j为读写地址,进行信息位的累加。具体操作为:将RAM中地址为j的数据读出,将读出数据与该路当前时钟周期输入的信息码字进行异或,将异或结果写回地址j对应存储单元。原理图如图5所示。
本实施例的校验比特生成模块:该模块中的复用功能单元,以校验比特计算模块中的第三路RAM写地址使能信号拉低为起始标志,开始从地址0到3599同步读取校验比特计算模块的3路Check_RAM,将读出的三路数据data1,data2,data3进行二进制加法,如下式:
SUM[0:0]=data1+data2+data3 (2.4)
将复用单元的二进制加法结果SUM延迟一个时钟周期,得到SUM_Delay,将SUM和SUM_Delay异或,得到最终的奇偶校验码字。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考,但与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
以上对本申请实施例所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于FPGA的LDPC编码器,其特征在于,包括
地址控制模块,用于生成第一计数器信号和第一地址信号;
校验比特计算模块,用于接收第一输入码元以及每个时钟周期的所述第一计数器信号和第一地址信号,并将所述第一计数器信号和第一地址信号与第一输入码元进行数据同步,并输出第一读写地址,将第一读写地址中得到的第一数据和当前时钟周期输入的信息码字进行异或后,再写回原位置;
校验比特生成模块,用于读取所述校验比特计算模块中的异或结果,并对得到的异或结果进行运算,得到最终的奇偶校验码字;
所述校验比特计算模块包括三级流水控制单元和3路地址计算单元,所述三级流水控制单元将每个时钟周期接收到的第一输入码元、第一计数器信号和第一地址信号进行数据同步,并轮流输入到3路地址计算单元中;
3路地址计算单元包括第一地址计算单元、第二地址计算单元和第三地址计算单元,每个地址计算单元对应设置有一个存储单元,将数据轮流输入到第一地址计算单元、第二地址计算单元和第三地址计算单元以及相对应的存储单元中,并输出第一读写地址;
其中,三级流水控制单元将每个时钟周期接收到的输入码元、地址信息和帧内计数值进行数据同步,并轮流输入到3路地址计算单元。
2.根据权利要求1所述的一种基于FPGA的LDPC编码器,其特征在于,所述地址控制模块包括计数器和地址表存储单元,所述计数器用于生成第一计数器信号,所述地址表存储单元用于生成第一地址信号,所述计数器对输入的信息码元进行计数。
3.根据权利要求2所述的一种基于FPGA的LDPC编码器,其特征在于,所述第一计数器信号用于对帧内比特进行计数,在0-359内循环计数,并将第一计数器信号传输给所述校验比特计算模块。
4.根据权利要求3所述的一种基于FPGA的LDPC编码器,其特征在于,所述计数器还生成第二计数器信号,用于对帧进行计数,当检测到所述第一计数器信号到357时,所述第二计数器信号的数值加1,且所述第二计数器信号在0-34内循环计数,第二计数器信号为所述地址表存储单元的第二读写地址。
5.根据权利要求1所述的一种基于FPGA的LDPC编码器,其特征在于,所述校验比特生成模块包括复用功能单元,从地址0-3599同步读取所述第一地址计算单元、第二地址计算单元和第三地址计算单元分别对应的存储单元,对第一个时钟周期得到的数据进行二进制加法得到第一数据并将其延迟一个时钟周期,将两个时钟周期得到的第一数据进行异或,得到奇偶校验码字。
6.一种基于FPGA的LDPC编码方法,其特征在于,包括以下步骤:
通过地址控制模块生成第一计数器信号和第一地址信号;
通过校验比特计算模块接收第一输入码元以及每个时钟周期的所述第一计数器信号和第一地址信号,并将所述第一计数器信号和第一地址信号与第一输入码元进行数据同步,并输出第一读写地址,将第一读写地址中得到的第一数据和当前时钟周期输入的信息码字进行异或后,再写回原位置;
通过校验比特生成模块读取所述校验比特计算模块中的异或结果,并对得到的异或结果进行运算,得到最终的奇偶校验码字。
7.根据权利要求6所述的一种基于FPGA的LDPC编码方法,其特征在于,所述地址控制模块包括计数器和地址表存储单元,所述计数器用于生成第一计数器信号,所述地址表存储单元用于生成第一地址信号,所述计数器对输入的信息码元进行计数;所述第一计数器信号用于对帧内比特进行计数,在0-359内循环计数,并将第一计数器信号传输给所述校验比特计算模块;所述计数器还生成第二计数器信号,用于对帧进行计数,当检测到所述第一计数器信号到357时,所述第二计数器信号的数值加1,且所述第二计数器信号在0-34内循环计数,第二计数器信号为所述地址表存储单元的第二读写地址。
8.根据权利要求6所述的一种基于FPGA的LDPC编码方法,其特征在于,所述校验比特计算模块包括三级流水控制单元和3路地址计算单元,所述三级流水控制单元将每个时钟周期接收到的第一输入码元、第一计数器信号和第一地址信号进行数据同步,并轮流输入到3路地址计算单元中;3路地址计算单元包括第一地址计算单元、第二地址计算单元和第三地址计算单元,将数据轮流输入到第一地址计算单元、第二地址计算单元和第三地址计算单元中,输出第一读写地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148782.8A CN114499543B (zh) | 2022-02-18 | 2022-02-18 | 一种基于fpga的ldpc编码方法及编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148782.8A CN114499543B (zh) | 2022-02-18 | 2022-02-18 | 一种基于fpga的ldpc编码方法及编码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114499543A CN114499543A (zh) | 2022-05-13 |
CN114499543B true CN114499543B (zh) | 2023-02-03 |
Family
ID=81482839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210148782.8A Active CN114499543B (zh) | 2022-02-18 | 2022-02-18 | 一种基于fpga的ldpc编码方法及编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114499543B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716553B2 (en) * | 2005-07-13 | 2010-05-11 | Leanics Corporation | System and method for designing RS-based LDPC code decoder |
CN102005250A (zh) * | 2010-10-27 | 2011-04-06 | 记忆科技(深圳)有限公司 | 准循环低密度奇偶校验码译码器及译码方法 |
CN106506010B (zh) * | 2016-10-17 | 2019-05-17 | 中国科学院国家空间科学中心 | 一种基于dvb-s2标准多码率兼容的ldpc编码器 |
CN111181570A (zh) * | 2018-11-12 | 2020-05-19 | 北京环佳通信技术有限公司 | 基于fpga的编译码方法和装置 |
-
2022
- 2022-02-18 CN CN202210148782.8A patent/CN114499543B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114499543A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100502245C (zh) | 支持任何码率/码长的低密度奇偶校验码编码装置和方法 | |
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
US7774674B2 (en) | LDPC decoder for DVB-S2 decoding | |
US7752524B2 (en) | Method and device for decoding DVB-S2 LDPC encoded codewords | |
CN101141133B (zh) | 一种结构化低密度校验码的编码方法 | |
CN101820288B (zh) | 低密度校验码的信息处理方法 | |
CN101162907B (zh) | 一种利用低密度奇偶校验码实现编码的方法及装置 | |
US20050281111A1 (en) | LDPC decoder | |
KR20120091001A (ko) | Ldpc 컨벌루션 코드를 사용하여 gnss 신호 데이터를 통신하는 방법 및 그 시스템 | |
CN104158550A (zh) | 一种基于深空通信环境的码率兼容原模图ldpc码构造方法 | |
CN114499767B (zh) | 一种数据传输系统及其rs编码装置和方法 | |
CN101154948A (zh) | 利用共享硬件及顺序和-积体系结构进行低密度奇偶校验解码的方法和设备 | |
RU2440669C1 (ru) | Устройство декодирования, устройство хранения данных, система обмена данными и способ декодирования | |
CN101800627B (zh) | 一种多码率兼容的高速ldpc编码器的硬件实现 | |
CN114499543B (zh) | 一种基于fpga的ldpc编码方法及编码器 | |
CN103856218A (zh) | 译码处理方法及译码器 | |
CN103036577B (zh) | 一种低复杂度的低密度奇偶校验ldpc码编码电路结构 | |
CN108631913B (zh) | 一种基于准循环低密度校验码的交织方法及相关设备 | |
CN113572481B (zh) | 一种基于fpga的高速码率兼容dvb-s2的ldpc编码器及编码方法 | |
US20060041821A1 (en) | Short length LDPC (Low Density Parity Check) code and modulation adapted for high speed Ethernet applications | |
EP2621121A2 (en) | Supercharged codes | |
CN105680988B (zh) | 一种延迟可调的编码方法 | |
CN109889209B (zh) | 一种适用于宇航通信的速率自适应型ldpc译码器 | |
CN101479945A (zh) | 具有外信息缩放模块的turbo译码器 | |
CN108540138B (zh) | 一种csraa编码电路及编码器 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220614 Address after: 610000 No. 3, building 9, No. 366, Baicao Road, high tech Zone, Chengdu, Sichuan Applicant after: Qianghua times (Chengdu) Technology Co.,Ltd. Applicant after: SOUTHWEST JIAOTONG University Address before: 610000 Room 408, floor 4, unit 1, building 1, No. 77, Tianmu Road, high tech Zone, Chengdu, Sichuan Applicant before: Qianghua times (Chengdu) Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |