CN101431338B - 一种自适应里德-所罗门译码器 - Google Patents
一种自适应里德-所罗门译码器 Download PDFInfo
- Publication number
- CN101431338B CN101431338B CN2007101769317A CN200710176931A CN101431338B CN 101431338 B CN101431338 B CN 101431338B CN 2007101769317 A CN2007101769317 A CN 2007101769317A CN 200710176931 A CN200710176931 A CN 200710176931A CN 101431338 B CN101431338 B CN 101431338B
- Authority
- CN
- China
- Prior art keywords
- data block
- module
- reed
- parameter
- associated polynomial
- 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
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明涉及里德-所罗门(Reed-Solomon)纠错码应用技术领域,公开了一种自适应Reed-Solomon译码器,至少包括伴随多项式计算模块、关键方程解算模块、第一级FIFO和错误计算模块。该译码器在传统自适应Reed-Solomon译码器结构的基础上加以改进,优化了各子模块的功能分工和布局,在实现自适应功能的同时尽量减少处理延迟。该自适应Reed-Solomon译码器对于Reed-Solomon码应用中同一GF域内长度变化的截断码编码数据块可以自适应的译码,既可以处理单独的编码数据块也可以处理连续的编码数据块,另外解码输出的数据块间隙与输入数据块的间隙可以保持一致,保证数据块间隙信息的完整性。
Description
技术领域
本发明涉及里德-所罗门(Reed-Solomon)纠错码应用技术领域,尤其涉及一种采用可变长度截断码的自适应Reed-Solomon译码器。
背景技术
里德-所罗门(Reed-Solomon,RS)码是一种定义在GF(2m)域内的多进制循环块状码,它具有同时纠突发错误和随机错误的能力,因而广泛应用于数据通信和数据存储系统的差错控制中,作为提高数据传输和存储可靠性的重要手段。也因此被广泛应用于许多高速应用,例如无线宽带通信、HDTV、ATM以及光纤通信等。
在传统的纠错码应用中很少考虑信道链路中分组错误概率的变化,在采用在编码时采用固定的冗余校验位导致了带宽效率的降低,不能满足不同应用中可变QOS(quality of service)的需求。
而现在的纠错码应用多采用截断码通过改变RS码的码率和纠错能力保证链路质量控制和不同应用服务的需求。例如无线宽带通信802.16d系统中,为了满足声音和视频数据对延迟和纠错能力可变的要求,定义了不同信道条件下采用的截断码,同时为了保证不同业务的Qos不仅会产生独立解码数据块也会产生连续解码数据块,对于某些特定应用的需求还需要保证解码后数据块之间的间隙与解码前保持不变。所以对自适应的RS解码方案提出了很高的要求。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种自适应Reed-Solomon译码器,以满足自适应的RS解码方案提出的要求。
(二)技术方案
为达到上述目的,本发明提供了一种自适应Reed-Solomon译码器,该译码器包括:
伴随多项式计算模块,用于根据接收的解码数据计算伴随多项式的系数,计算完当前数据块后将启动信号与计算得到的伴随多项式的系数输出给关键方程解算模块,同时将编码数据块长度信息输出给第一级FIFO;
关键方程解算模块,用于根据接收到的启动信号与伴随多项式系数,计算错误多项式系数和错误伴随多项式系数,将计算得到的错误多项式系数和错误伴随多项式系数输出给第一级FIFO;
第一级FIFO,包括逻辑运算单元、逻辑控制单元、参数FIFO和数据FIFO,用于根据接收自伴随多项式计算模块的编码数据块长度信息计算截断码起始位置参数,根据该截断码起始位置参数以及自关键方程解算模块输出的错误多项式系数和错误伴随多项式系数,计算得到错误计算寄存器初始值,将错误计算寄存器初始值、编码数据块长度信息、错误多项式系数和错误伴随多项式系数存入参数FIFO,同时根据接收的编码数据块长度信息将有效编码数据存入数据FIFO,并将计算得到错误计算寄存器初始值输出给错误计算模块;
错误计算模块,当该模块空闲且参数FIFO非空的时候读取参数FIFO获得下一数据块的参数信息,同时开始读取数据FIFO,根据接收自第一级FIFO的错误计算寄存器初始值计算得到的错误位置和错误值,实现对编码数据进行纠错,输出纠错后的数据,在数据块结束位置判断译码是否成功,并给出译码成功或失败标志。
上述方案中,所述伴随多项式计算模块的计算时间和数据块长度相同,不需要进行补零操作。
上述方案中,所述伴随多项式计算模块的计算结果进一步经过寄存后再输出,在输出当前数据块结果的同时开始处理下一数据块,保证数据处理的连续性。
上述方案中,所述关键方程解算模块在计算迭代算法时所需要的时钟周期等于或小于2t个时钟周期,其中t为当前伽罗华域内最大纠错符号个数。
上述方案中,所述逻辑运算单元进一步包括一截断码参数计算模块,该截断码参数计算模块用于根据接收自伴随多项式计算模块的编码数据块长度信息计算截断码起始位置参数。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的这种自适应Reed-Solomon译码器结构,自适应强,可以处理变化长度的截断码数据块,既可以处理单独的编码数据块也可以处理连续的编码数据块,另外为了满足某些特定业务对数据块间隙信息完整性的要求,可以保证输出解码数据块的间隙与输入编码数据块的间隙相同。
2、本发明提供的这种自适应Reed-Solomon译码器结构简洁紧凑,各模块功能清晰。布局合理,可以有效的减少处理延迟。另外可以进一步改进结构减小系统复杂度,但是需要付出处理延迟增加的代价。
3、本发明提供的这种自适应Reed-Solomon译码器结构,自适应功能强,适合绝大多数的业务应用,可以广泛应用于无线宽带通信、快速以太网、HDTV、ATM以及光纤通信等系统。
附图说明
图1为依照本发明实施例提供的自适应Reed-Solomon译码器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明提供了一种自适应里德-所罗门(Reed-Solomon)译码器结构,该结构对传统的译码器结构加以改进,在不同的位置分别加入了两级FIFO存储参数和数据,避免了处理不同长度数据块时产生的数据冲突问题,并保证了输出译码数据块间隔信息的完整性,同时对各个模块的功能加以优化,使其更适合于自适应译码。
本发明提供的这种自适应Reed-Solomon译码器结构,在传统自适应Reed-Solomon译码器结构的基础上加以改进,优化了各子模块的功能分工和布局,在实现自适应功能的同时尽量减少处理延迟。该自适应里德-所罗门(Reed-Solomon)译码器结构对于Reed-Solomon码应用中同一GF(Galois Field)域内长度变化的截断码编码数据块可以自适应的译码,既可以处理单独的编码数据块也可以处理连续的编码数据块,另外解码输出的数据块间隙与输入数据块的间隙可以保持一致,保证数据块间隙信息的完整性。本发明提供的这种自适应Reed-Solomon译码器结构紧凑简洁,新颖实用,自适应功能强,应用范围广。
本发明提供的这种自适应Reed-Solomon译码器,至少包括伴随多项式计算模块、关键方程解算模块、第一级FIFO、错误计算模块。
其中,伴随多项式计算模块用于根据接收的解码数据计算伴随多项式的系数,计算完当前数据块后将启动信号与计算得到的伴随多项式的系数输出给关键方程解算模块,同时将编码数据块长度信息输出给第一级FIFO。该模块的计算时间和数据块长度相同,不需要进行补零操作;该模块的计算结果进一步经过寄存后再输出,在输出当前数据块结果的同时开始处理下一数据块,保证数据处理的连续性。
关键方程解算模块用于根据接收到的启动信号与伴随多项式系数,计算错误多项式系数和错误伴随多项式系数,将计算得到的错误多项式系数和错误伴随多项式系数输出给第一级FIFO。该关键方程解算模块在计算迭代算法时所需要的时钟周期等于或小于2t个时钟周期,其中t为当前伽罗华域内最大纠错符号个数。
第一级FIFO包括逻辑运算单元、逻辑控制单元、参数FIFO和数据FIFO,用于根据接收自伴随多项式计算模块的编码数据块长度信息计算截断码起始位置参数,根据该截断码起始位置参数以及关键方程解算模块输入的错误多项式系数和错误伴随多项式系数,计算得到错误计算寄存器初始值,将错误计算寄存器初始值、数据块长度信息、错误多项式系数和错误伴随多项式系数存入参数FIFO,同时根据接收的编码数据块长度信息将有效编码数据存入数据FIFO,并将计算得到错误计算寄存器初始值输出给错误计算模块。
上述方案中,还可以进一步取消第一级FIFO中的数据FIFO,错误搜索和错误值计算模块不需要读取原始编码数据,只需要输出纠错信号表示出原始编码数据块中的错误位置和错误值,第二级FIFO在判断译码成功时根据该纠错信号对原始编码信号进行纠错,在判断译码失败时直接输出原始编码数据。
所述逻辑运算单元进一步包括一截断码参数计算模块,该截断码参数计算模块用于根据接收自伴随多项式计算模块的编码数据块长度信息计算截断码起始位置参数。上述方案中,即将截断码参数计算合并到第一级FIFO的逻辑运算中,在得到关键方程解算的结果之后再进行截断码参数的计算然后再计算所对应的寄存器初始值。
错误计算模块,当该模块空闲且参数FIFO非空的时候读取参数FIFO获得下一数据块的参数信息,同时开始读取数据FIFO,根据接收自第一级FIFO的错误计算寄存器初始值计算得到的错误位置和错误值,实现对编码数据进行纠错,输出纠错后的数据,在数据块结束位置判断译码是否成功,并给出译码成功或失败标志。
另外,该译码器还可以进一步包括一截断码参数计算模块,该截断码参数计算模块用于根据接收自伴随多项式计算模块的编码数据块长度信息计算截断码起始位置参数。所述截断码参数计算模块连接所述伴随多项式计算模块与所述第一级FIFO。
该译码器还可以进一步包括:第二级FIFO,包括逻辑运算单元、逻辑控制单元、参数FIFO和数据FIFO,用于将错误计算模块输出的数据块长度、搜索到的错误数、错误多项式阶数参数信息存入参数FIFO,将输出的纠错后的数据和原始编码数据同时存入数据FIFO;对输入编码数据块的有效信号延迟一定周期后用来控制FIFO的读取,利用有效信号中保留的数据块间隔信息恢复译码输出数据块的间隔信息,使其与输入的数据块间隔信息保持一致;首先通过提取出来的数据块参数信息判断该数据块解码是否成功,如果成功输出数据FIFO中纠错后的数据,如果失败则输出FIFO中保存的原始编码数据,并给出译码失败标志信号。
本发明提供的这种自适应Reed-Solomon译码器,在不包括第二级FIFO时,错误计算模块直接输出纠错后的数据,并在数据块结束位置判断译码是否成功,并给出译码成功(失败)标志。该结构虽然不能保证数据块间隔信息的完整性,但是复杂度低,处理延迟小,适合于对数据块间隔信息完整性要求不严格的业务应用。
下面以RS(255,239)自适应译码器的实现为例(如图1所示,图1为依照本发明实施例提供的自适应Reed-Solomon译码器的结构示意图。),对本发明的实现原理进行详细阐述:
首先,伴随多项式计算模块根据输入数据有效信号对编码数据块计算求得伴随多项式系数,其处理时间和编码数据块长度相同。还需要计算出数据块的长度,在数据处理结束后同计算得到的伴随多项式系数和处理结束标志输出,启动后续模块。
然后,关键方程解算模块根据伴随多项式计算模块输出的结束信号获得伴随多项式系数并开始计算,由于对于RS(255,239)纠错码来说,最大纠错个数为8,最小数据块长度为17,所以选择了一种处理周期数为16个时钟周期的重构BM算法进行关键方程解算。截断码参数计算模块与关键方程计算模块并行处理,在16个周期内根据数据块长度计算截断码起始位置的参数值,同时传递数据块的长度信息给下一级模块,与关键方程计算模块同时输出计算结果。
接下来第一级FIFO中的逻辑运算部分首先将截断码起始位置参数和关键方程计算模块得到的错误多项式系数和错误伴随多项式系数进行处理,得到错误搜索和错误值计算所需要的截断码起始位置对应的寄存器初始值。并将寄存器初始值、数据块长度、错误多项式阶数等参数信息放入参数FIFO存储。同时将输入的有效编码数据放入数据FIFO存储。
第一级FIFO之后是错误搜索和错误值计算模块,当该模块空闲且参数FIFO非空的时候读取参数FIFO获得下一数据块的参数信息,同时开始读取数据FIFO准备根据计算得到的错误位置和错误值对编码数据进行纠错。由于计算需要的寄存器的初始值是从参数FIFO中读取的截断码起始位置对应信息所以可以直接从截断码起始位置开始搜索和纠错,避免了补零的操作,减少了处理时间,其处理时间和编码数据块长度相同。
最后一个模块是第二级FIFO,该模块将错误搜索和错误值计算模块输出的数据块长度、搜索到的错误数、错误多项式阶数等参数信息存入参数FIFO,将输出的纠错后的数据和原始编码数据同时写入数据FIFO。该模块的主要作用就是为了恢复在译码过程中被破坏掉的数据块间隔信息,它使用延迟一定周期后的输入编码数据有效信号来控制FIFO的读取,利用有效信号中保留的数据块间隔信息恢复译码输出数据块的间隔信息,使其与输出保持一致。通过提取出来的数据块参数信息判断该数据块解码是否成功,如果成功输出数据FIFO中纠错后的数据,如果失败则输出FIFO中保存的原始编码数据,并给出译码失败标志信号。
根据该结构设计实现的RS(255,239)高速自适应译码器经过大量的验证说明,该译码器结构简单实用,稳定可靠,自适应功能强,适合绝大多数的业务应用。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种自适应里德-所罗门Reed-Solomon译码器,其特征在于,该译码器包括:
伴随多项式计算模块,用于根据接收的解码数据计算伴随多项式的系数,计算完当前数据块后将启动信号与计算得到的伴随多项式的系数输出给关键方程解算模块,同时将编码数据块长度信息输出给第一级FIFO;
关键方程解算模块,用于根据接收到的启动信号与伴随多项式系数,计算错误多项式系数和错误伴随多项式系数,将计算得到的错误多项式系数和错误伴随多项式系数输出给第一级FIFO;
第一级FIFO,包括逻辑运算单元、逻辑控制单元、参数FIFO和数据FIFO,用于根据接收自伴随多项式计算模块的编码数据块长度信息计算截断码起始位置参数,根据该截断码起始位置参数以及自关键方程解算模块输出的错误多项式系数和错误伴随多项式系数,计算得到错误计算寄存器初始值,将错误计算寄存器初始值、编码数据块长度信息、错误多项式系数和错误伴随多项式系数存入参数FIFO,同时根据接收的编码数据块长度信息将有效编码数据存入数据FIFO,并将计算得到错误计算寄存器初始值输出给错误计算模块;
错误计算模块,当该模块空闲且参数FIFO非空的时候读取参数FIFO获得下一数据块的参数信息,同时开始读取数据FIFO,根据接收自第一级FIFO的错误计算寄存器初始值计算得到的错误位置和错误值,实现对编码数据进行纠错,输出纠错后的数据,在数据块结束位置判断译码是否成功,并给出译码成功或失败标志。
2.根据权利要求1所述的自适应Reed-Solomon译码器,其特征在于,所述伴随多项式计算模块的计算时间和数据块长度相同,不需要进行补零操作。
3.根据权利要求1或2所述的自适应Reed-Solomon译码器,其特征在于,所述伴随多项式计算模块的计算结果进一步经过寄存后再输出,在输出当前数据块结果的同时开始处理下一数据块,保证数据处理的连续性。
4.根据权利要求1所述的自适应Reed-Solomon译码器,其特征在于,所述关键方程解算模块在计算迭代算法时所需要的时钟周期等于或小于2t个时钟周期,其中t为当前伽罗华域内最大纠错符号个数。
5.根据权利要求1所述的自适应Reed-Solomon译码器,其特征在于,所述逻辑运算单元进一步包括一截断码参数计算模块,该截断码参数计算模块用于根据接收自伴随多项式计算模块的编码数据块长度信息计算截断码起始位置参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101769317A CN101431338B (zh) | 2007-11-07 | 2007-11-07 | 一种自适应里德-所罗门译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101769317A CN101431338B (zh) | 2007-11-07 | 2007-11-07 | 一种自适应里德-所罗门译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101431338A CN101431338A (zh) | 2009-05-13 |
CN101431338B true CN101431338B (zh) | 2011-06-15 |
Family
ID=40646534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101769317A Active CN101431338B (zh) | 2007-11-07 | 2007-11-07 | 一种自适应里德-所罗门译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101431338B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857234B (zh) * | 2011-06-29 | 2017-02-01 | 比亚迪股份有限公司 | Reed Solomon解码器及解码方法 |
CN106341211B (zh) * | 2016-08-17 | 2019-07-19 | 天津大学 | 一种针对多种信道环境的自适应译码方法 |
CN112436842B (zh) * | 2021-01-27 | 2021-05-14 | 睿迪纳(南京)电子科技有限公司 | 一种基于分数折叠的信号处理器件的实现方法 |
CN113904755B (zh) * | 2021-10-13 | 2023-06-16 | 芯河半导体科技(无锡)有限公司 | 一种截短rs码解码方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1369984A (zh) * | 2001-02-07 | 2002-09-18 | 三星电子株式会社 | 处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法 |
CN1773864A (zh) * | 2004-11-12 | 2006-05-17 | 中国科学院空间科学与应用研究中心 | 一种纠错能力为2的扩展里德—所罗门码的译码方法 |
-
2007
- 2007-11-07 CN CN2007101769317A patent/CN101431338B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1369984A (zh) * | 2001-02-07 | 2002-09-18 | 三星电子株式会社 | 处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法 |
CN1773864A (zh) * | 2004-11-12 | 2006-05-17 | 中国科学院空间科学与应用研究中心 | 一种纠错能力为2的扩展里德—所罗门码的译码方法 |
Non-Patent Citations (2)
Title |
---|
Lee Hanho.An ultra high-speed Reed-Solomon decoder.《IEEE International Symposium on Circuits and Systems》.2005,第2卷1036-1039. * |
胡庆生等.2.5Gb/s Reed-Solomon 译码器的VLSI优化实现.《电路与系统学报》.2005,第10卷(第2期),57-65. * |
Also Published As
Publication number | Publication date |
---|---|
CN101431338A (zh) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3549788B2 (ja) | 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム | |
JP3996205B2 (ja) | 連接符号データの送受信方法および送受信装置 | |
US7246294B2 (en) | Method for iterative hard-decision forward error correction decoding | |
CN1338839A (zh) | 结合里德-所罗门和特布技术的编码 | |
US8161347B1 (en) | Interleaving parity bits into user bits to guarantee run-length constraint | |
CN101431338B (zh) | 一种自适应里德-所罗门译码器 | |
CN114499767B (zh) | 一种数据传输系统及其rs编码装置和方法 | |
EP0355850B1 (en) | Sequential decoder | |
US20050210358A1 (en) | Soft decoding of linear block codes | |
US7231575B2 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
CN101267212A (zh) | 群组位交错器及其方法 | |
EP1204212B1 (en) | Method and apparatus for path metric processing in telecommunications systems | |
CN100527803C (zh) | 增加残留边带维特比解码器 | |
EP2339757B1 (en) | Power-reduced preliminary decoded bits in viterbi decoder | |
CN101310447A (zh) | 用于mpe-fec帧解码的存储效率擦除信息表 | |
KR101314232B1 (ko) | 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱 | |
KR101212856B1 (ko) | 통신 시스템에서 데이터를 복호하는 방법 및 장치 | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
CN101697490A (zh) | 一种应用在基于理德-所罗门码的ecc模块上的解码方法 | |
US6915474B2 (en) | Turbo decoding apparatus and decoding iteration count controlling method in turbo decoding | |
US6081920A (en) | Method and apparatus for fast decoding of a Reed-Solomon code | |
US7120850B2 (en) | Low-cost methods and devices for the decoding of product cases | |
CN107017962A (zh) | 动态功耗控制的编码方法及编解码器 | |
CN102263606B (zh) | 信道数据编码、解码方法及装置 | |
RU2608872C1 (ru) | Способ кодирования и декодирования блокового кода с использованием алгоритма Витерби |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200710 Address after: 116600 No. 12 Liaohe East Road, Dalian Economic and Technological Development Zone, Liaoning Province Patentee after: Zhongke Zhongzhi Xintong (Dalian) Technology Co.,Ltd. Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3 Patentee before: Institute of Microelectronics, Chinese Academy of Sciences |
|
TR01 | Transfer of patent right |