基于fpga的rs编码器设计(附件)【字数:9314】
摘 要Reed-Solomon码是目前最有效,应用最为广泛的纠错码之一。它不但能够随机纠正错误,而且它纠正突发错误的能力也很强。本文首先介绍了RS编码器的原理,然后详细的介绍了RS编码器的设计,基于Verilog HDL硬件描述语言设计和FPGA实现RS编码器。编码器采用并行结构,编码器采用在Galoias域上算法实现关键模块, 求逆器采用查表方法。该系统能够实现RS编码,具有纠正随机错误和突发错误的能力。结合Quartus II13.0和Modelsim软件进行模拟实验,得到的仿真波形和设计得到的结构,与公式算法所得的理论结构相同。从而表明编码器性能良好,具有较强的纠错能力。 2
目录
第一章绪论 5
1.1课题研究背景和意义 5
1.2国内外研究进展 6
1.3课题主要研究内容与关键技术 7
1.3.1课题研究任务 7
1.3.2技术要求 7
第二章设计RS编码器的基本原理及FPGA设计 8
2.1 RS码和BCH码 8
2.1.1 BCH码 8
2.1.2 RS码 8
2.2RS编码器 9
2.3 FPGA技术 11
2.3.1 FPGA技术的背景 11
2.3.2 FPGA的工作原理 11
第三章 RS编码器设计 12
3.1引言 12
3.2有限域元素的表示 12
3.3有限域元素的运算 14
3.3.1元素之间的加法运算 14
3.3.2元素之间的乘法运算和幂运算 14
3.4乘法器的设计 14
3.5 RS编码器的原理与设计 16
3.5.1 RS编码器的实现原理 16
3.5.2 RS编码器的设计 16
第四章基于FPGA的RS编码器实现 18
4.1RS编码器的FPGA实现的电路 18
4.2设计流程 19
4.3仿真结果 19
结束语 20
致谢 20
参考文献 21
绪论
1.1 *好棒文|www.hbsrm.com +Q: ^351916072*
课题研究背景和意义
Reed Solomon码是一类纠错能力极强的多进制BCH 循环码,它是目前最有效,应用最广泛的纠错编码方式之一,Reed Solomon码具有强大的纠错能力,他可以有效快速地纠正随机和突发的错误。RS码是由里德和所罗门应用MS多项式构建而来的BCH码。1960年引入的ReedSolomon(RS)代码是最流行的错误校正码之一,它在计算、通信和存储中发现了许多应用程序。对于WSN应用程序而言,数据包的长度、内存和硬件资源是有限的,通常使用缩短的RS代码。他选择使用错误校正码取决于这些参数以及硬件和软件的通道特性和实现约束(特别是功耗和能量)。解码速度和区域(表达门/或内存)在许多协议中也很重要。例如,内存占用非常重要,因为这些代码必须与其他功能共存,比如传感、信号处理以使传感器智能化、协议等等。较低的内存占用将允许在同一个平台上集成更多的功能,从而允许使用不同级别的服务质量(QoS)级别。
把可靠的信息传送给对方是通信最主要的目的,由于信息的时效性,信号在传输信道中传送时会产生畸变和非等时时延迟,进而导致实际接受到的信号与原信号失真,最终在系统中产生误码。为了降低误码率,信道非线性因素的影响,我们除了要选择合适的调制,解调,均衡,交织等信号处理技术,还采用纠错编码来降低误码率。纠错编码就是通过插入异性冗余数据来进行对数据码中的信息序列进行监督,使信息序列具有检错能力,进而减少传输过程中信息序列造成的误码。
ReedSolomon码是一种线性的分组循环码,它已经在卫星通信,数字电视,无线通信,宽带调制解调,存储数据等领域广泛应用。其中RS(255,223)码已经被CCSDS选为高级在轨系统、前向和返回链路的纠错编码,是降低信道错误码率的关键。ReedSolomon码在一些特定的领域和研究中的设计和实现还是比较困难的,需要在有限时域上进行运算,实现一些相对于常用二进制较为复杂的算法,该算法的复杂程度取决于有限域的大小,码字的长度等。目前美国宇航局NASA和欧洲空间局ESA已经把RS(255,223)在卫星系统的联级码系统中作为标准外码使用,我国航天系统中也运用RS(255,223)编码器进行编码。
随着制作工艺和超大规模的集成电路技术的不断发展,市场上早已有成品的RS芯片编码器,但是对于现在的具体项目来说,需要的纠错能力和电路特征都并不相同,鉴于现成的RS芯片成本太高,灵活性差,并不能满足设计的需求,所以研究提出了一种高密度的可编程的FPGA实现RS编码器,其采用能够编程的逻辑器件FPGA实现,充分的利用了资源,降低成本,提高了成品的灵活性。
本文设计采用新型的编码方式,利用生成多项式系数的对称性,运用Verulog HDL硬件语言在Quartus II 13.1编码环境下设计了对称结构的RS编码器,使用Modelsim对编码器进行调试,解调,仿真,并验证与算法理论结果。
1.2国内外研究进展
ReedSolomon码在国际通信领域中应用极为广泛,目前美国宇航局NASA和欧洲空间局ESA已经把RS(255,223)在卫星系统的联级码系统中作为标准外码使用,ReedSolomon码纠错概率极强,产生错误率低,所以已经广泛运用于无线通信、卫星通信、数字移动电视、宽带调制解调和储存系统等,其中RS(255,223)码已经被CCSDS选为高级在轨系统、前向和返回链路的纠错编码,是降低信道错误码率的关键。总之,RS码作为一种纠错码应用空间越来越广泛。
RS码是迄今为止发现的最好的线性纠错码,RS码的编码的性能与理论值相近,编码的结构方式简单,算法运用对称结构。正如上所述,RS码被广泛地应用在通信系统中和存储系统中。
一个RS编码器的复杂程度要取决于其纠错能力以及在有限时域上进行运算,实现一些相对于常用二进制较为复杂的算法,该算法的复杂程度取决于有限域的大小,码字的长度等。目前研究中可运用的RS码编码算法主要有一下几种1.最佳对偶基下RS编码器2.脉动列阵RS编码器3.基于三角基乘法算法的RS编码器4.符号切片RS编码器。
每一类信道中都存在一定容量C,只要实际传送速率R<C,那么在信道中就可以实现无差错传输,但是,数字信息在实际传送过程中,由于信息的时效性,信号在传输信道中传送时会产生畸变和非等时时延迟,进而导致实际接受到的信号与原信号失真,最终在系统当中产生误码。提高传送信息的物理性通道移动中的信道频率以及抗击脉冲干扰的能力,系统使用了 RS(255,223)纠错编码,而RS码作为前向纠错编码,校验信息会在指定的段中进行传送,这个传送过程称为MPE2FEC。信息能够正确纠正的条件是在接收端中每个码字出现的错误信息不超过32个。通常我们在实现通信信道传输时,为了已知的误码率达到一定的指标,首先应该选择合适的方式调制解调,用增强其发送率以及拓展其信道等方式,尽可能地减小干扰,确保误码率在一定的指标内。如果这样还不能达到这一要求,我们就需要采用RS纠错编码技术,它可以有效地提高信息可靠性,增强信道的抗干扰能力,并且纠正随机发生的错误和突发的错误。信源编码器就是把信号发送的图像,语言,文字转换为二进制,而纠错编码就是通过插入异性冗余数据来进行对数据码中的信息序列进行监督,使信息序列具有检错能力,进而减少传输过程中信息序列造成的误码。如图1通信模型系统中所示,是信源发出的信号如语言,文字,图像等通过信号源编码器转换成为二进制信息序列,减少一些与传输信号无关的多余度。为了减少传输过程中的各种干扰,对信息源编码器送出的信息序列,特地增加一些多余度,使其具备纠正错误能力,这种功能由图中的纠错编码器所实现。调制器的就是把纠错码送出的信息序列转换成可以用于信道传输的信号。失真传输到接受端的接收机,再进行解调,转换为二进制信息序列。经过纠错码译码器,纠正其已有的错误,再通过解码器恢复成信源信号发送。
目录
第一章绪论 5
1.1课题研究背景和意义 5
1.2国内外研究进展 6
1.3课题主要研究内容与关键技术 7
1.3.1课题研究任务 7
1.3.2技术要求 7
第二章设计RS编码器的基本原理及FPGA设计 8
2.1 RS码和BCH码 8
2.1.1 BCH码 8
2.1.2 RS码 8
2.2RS编码器 9
2.3 FPGA技术 11
2.3.1 FPGA技术的背景 11
2.3.2 FPGA的工作原理 11
第三章 RS编码器设计 12
3.1引言 12
3.2有限域元素的表示 12
3.3有限域元素的运算 14
3.3.1元素之间的加法运算 14
3.3.2元素之间的乘法运算和幂运算 14
3.4乘法器的设计 14
3.5 RS编码器的原理与设计 16
3.5.1 RS编码器的实现原理 16
3.5.2 RS编码器的设计 16
第四章基于FPGA的RS编码器实现 18
4.1RS编码器的FPGA实现的电路 18
4.2设计流程 19
4.3仿真结果 19
结束语 20
致谢 20
参考文献 21
绪论
1.1 *好棒文|www.hbsrm.com +Q: ^351916072*
课题研究背景和意义
Reed Solomon码是一类纠错能力极强的多进制BCH 循环码,它是目前最有效,应用最广泛的纠错编码方式之一,Reed Solomon码具有强大的纠错能力,他可以有效快速地纠正随机和突发的错误。RS码是由里德和所罗门应用MS多项式构建而来的BCH码。1960年引入的ReedSolomon(RS)代码是最流行的错误校正码之一,它在计算、通信和存储中发现了许多应用程序。对于WSN应用程序而言,数据包的长度、内存和硬件资源是有限的,通常使用缩短的RS代码。他选择使用错误校正码取决于这些参数以及硬件和软件的通道特性和实现约束(特别是功耗和能量)。解码速度和区域(表达门/或内存)在许多协议中也很重要。例如,内存占用非常重要,因为这些代码必须与其他功能共存,比如传感、信号处理以使传感器智能化、协议等等。较低的内存占用将允许在同一个平台上集成更多的功能,从而允许使用不同级别的服务质量(QoS)级别。
把可靠的信息传送给对方是通信最主要的目的,由于信息的时效性,信号在传输信道中传送时会产生畸变和非等时时延迟,进而导致实际接受到的信号与原信号失真,最终在系统中产生误码。为了降低误码率,信道非线性因素的影响,我们除了要选择合适的调制,解调,均衡,交织等信号处理技术,还采用纠错编码来降低误码率。纠错编码就是通过插入异性冗余数据来进行对数据码中的信息序列进行监督,使信息序列具有检错能力,进而减少传输过程中信息序列造成的误码。
ReedSolomon码是一种线性的分组循环码,它已经在卫星通信,数字电视,无线通信,宽带调制解调,存储数据等领域广泛应用。其中RS(255,223)码已经被CCSDS选为高级在轨系统、前向和返回链路的纠错编码,是降低信道错误码率的关键。ReedSolomon码在一些特定的领域和研究中的设计和实现还是比较困难的,需要在有限时域上进行运算,实现一些相对于常用二进制较为复杂的算法,该算法的复杂程度取决于有限域的大小,码字的长度等。目前美国宇航局NASA和欧洲空间局ESA已经把RS(255,223)在卫星系统的联级码系统中作为标准外码使用,我国航天系统中也运用RS(255,223)编码器进行编码。
随着制作工艺和超大规模的集成电路技术的不断发展,市场上早已有成品的RS芯片编码器,但是对于现在的具体项目来说,需要的纠错能力和电路特征都并不相同,鉴于现成的RS芯片成本太高,灵活性差,并不能满足设计的需求,所以研究提出了一种高密度的可编程的FPGA实现RS编码器,其采用能够编程的逻辑器件FPGA实现,充分的利用了资源,降低成本,提高了成品的灵活性。
本文设计采用新型的编码方式,利用生成多项式系数的对称性,运用Verulog HDL硬件语言在Quartus II 13.1编码环境下设计了对称结构的RS编码器,使用Modelsim对编码器进行调试,解调,仿真,并验证与算法理论结果。
1.2国内外研究进展
ReedSolomon码在国际通信领域中应用极为广泛,目前美国宇航局NASA和欧洲空间局ESA已经把RS(255,223)在卫星系统的联级码系统中作为标准外码使用,ReedSolomon码纠错概率极强,产生错误率低,所以已经广泛运用于无线通信、卫星通信、数字移动电视、宽带调制解调和储存系统等,其中RS(255,223)码已经被CCSDS选为高级在轨系统、前向和返回链路的纠错编码,是降低信道错误码率的关键。总之,RS码作为一种纠错码应用空间越来越广泛。
RS码是迄今为止发现的最好的线性纠错码,RS码的编码的性能与理论值相近,编码的结构方式简单,算法运用对称结构。正如上所述,RS码被广泛地应用在通信系统中和存储系统中。
一个RS编码器的复杂程度要取决于其纠错能力以及在有限时域上进行运算,实现一些相对于常用二进制较为复杂的算法,该算法的复杂程度取决于有限域的大小,码字的长度等。目前研究中可运用的RS码编码算法主要有一下几种1.最佳对偶基下RS编码器2.脉动列阵RS编码器3.基于三角基乘法算法的RS编码器4.符号切片RS编码器。
每一类信道中都存在一定容量C,只要实际传送速率R<C,那么在信道中就可以实现无差错传输,但是,数字信息在实际传送过程中,由于信息的时效性,信号在传输信道中传送时会产生畸变和非等时时延迟,进而导致实际接受到的信号与原信号失真,最终在系统当中产生误码。提高传送信息的物理性通道移动中的信道频率以及抗击脉冲干扰的能力,系统使用了 RS(255,223)纠错编码,而RS码作为前向纠错编码,校验信息会在指定的段中进行传送,这个传送过程称为MPE2FEC。信息能够正确纠正的条件是在接收端中每个码字出现的错误信息不超过32个。通常我们在实现通信信道传输时,为了已知的误码率达到一定的指标,首先应该选择合适的方式调制解调,用增强其发送率以及拓展其信道等方式,尽可能地减小干扰,确保误码率在一定的指标内。如果这样还不能达到这一要求,我们就需要采用RS纠错编码技术,它可以有效地提高信息可靠性,增强信道的抗干扰能力,并且纠正随机发生的错误和突发的错误。信源编码器就是把信号发送的图像,语言,文字转换为二进制,而纠错编码就是通过插入异性冗余数据来进行对数据码中的信息序列进行监督,使信息序列具有检错能力,进而减少传输过程中信息序列造成的误码。如图1通信模型系统中所示,是信源发出的信号如语言,文字,图像等通过信号源编码器转换成为二进制信息序列,减少一些与传输信号无关的多余度。为了减少传输过程中的各种干扰,对信息源编码器送出的信息序列,特地增加一些多余度,使其具备纠正错误能力,这种功能由图中的纠错编码器所实现。调制器的就是把纠错码送出的信息序列转换成可以用于信道传输的信号。失真传输到接受端的接收机,再进行解调,转换为二进制信息序列。经过纠错码译码器,纠正其已有的错误,再通过解码器恢复成信源信号发送。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/61.html