主要内容gydF4y2Ba

CCSDS RS解码器gydF4y2Ba

根据CCSDS标准对RS码字进行解码和恢复gydF4y2Ba

  • 库:gydF4y2Ba
  • 无线HDL工具箱/错误检测和纠正gydF4y2Ba

  • CCSDS RS解码器块gydF4y2Ba

描述gydF4y2Ba

的gydF4y2BaCCSDS RS解码器gydF4y2Bablock是根据空间数据系统咨询委员会(CCSDS)标准从Reed-Solomon (RS)码字解码和恢复消息的gydF4y2Ba[1]gydF4y2Ba.块接受码字数据和gydF4y2BasamplecontrolgydF4y2Ba总线并输出一个解码后的消息数据gydF4y2BasamplecontrolgydF4y2Ba总线、控制信号,指示已解码的数据是否损坏以及块是否准备好接受数据,以及一个可选信号,提供更正错误的数量。该块提供了适合于HDL代码生成和硬件部署的体系结构。gydF4y2Ba

由于块的延迟时间不同,所以块提供输出端口gydF4y2BanextFramegydF4y2Ba指示块何时准备好接受新的输入码字数据。有关块的延迟的详细信息,请参见gydF4y2Ba算法gydF4y2Ba部分。gydF4y2Ba

该块还支持缩短消息长度。金宝app您可以在CCSDS接收器中使用此块进行卫星通信。gydF4y2Ba

港口gydF4y2Ba

输入gydF4y2Ba

全部展开gydF4y2Ba

输入码字数据,指定为0到255之间的整数。这个整数代表一个符号。gydF4y2Ba

该块接受的最大值为255 xgydF4y2Ba我gydF4y2Ba最小值为(255 -)gydF4y2BakgydF4y2Ba+ 1) xgydF4y2Ba我gydF4y2Ba表示每帧输入码字符号的数目。gydF4y2BakgydF4y2Ba消息长度是否由gydF4y2Ba消息长度(k)gydF4y2Ba参数。gydF4y2Ba我gydF4y2Ba交错深度是否由gydF4y2Ba交错深度(I)gydF4y2Ba参数。输入码字符号的数目必须是的整数倍gydF4y2Ba我gydF4y2Ba.gydF4y2Ba

该块支持背靠背输入帧金宝app:gydF4y2Ba

  • 全长码时设置gydF4y2Ba消息长度(k)gydF4y2Ba来gydF4y2Ba223gydF4y2Ba而且gydF4y2Ba交错深度(I)gydF4y2Ba来gydF4y2Ba3.gydF4y2Ba,gydF4y2Ba4gydF4y2Ba,gydF4y2Ba5gydF4y2Ba,或gydF4y2Ba8gydF4y2Ba

  • 全长码时设置gydF4y2Ba消息长度(k)gydF4y2Ba来gydF4y2Ba239gydF4y2Ba而且gydF4y2Ba交错深度(I)gydF4y2Ba来gydF4y2Ba1gydF4y2Ba,gydF4y2Ba2gydF4y2Ba,gydF4y2Ba3.gydF4y2Ba,gydF4y2Ba4gydF4y2Ba,gydF4y2Ba5gydF4y2Ba,或gydF4y2Ba8gydF4y2Ba

该块不支持背靠背的输入帧:金宝appgydF4y2Ba

  • 的缩写代码gydF4y2Ba消息长度(k)gydF4y2Ba而且gydF4y2Ba交错深度(I)gydF4y2Ba值gydF4y2Ba

  • 全长码时设置gydF4y2Ba消息长度(k)gydF4y2Ba来gydF4y2Ba223gydF4y2Ba而且gydF4y2Ba交错深度(I)gydF4y2Ba来gydF4y2Ba1gydF4y2Ba或gydF4y2Ba2gydF4y2Ba

双gydF4y2Ba而且gydF4y2Ba单gydF4y2Ba数据类型可以用于模拟,但不允许用于HDL代码生成。对于HDL代码生成,在gydF4y2Bafixdt (0 8 0)gydF4y2Ba或gydF4y2Bauint8gydF4y2Ba格式。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bafixdt (0 8 0)gydF4y2Ba

与采样流伴随的控制信号,指定为gydF4y2BasamplecontrolgydF4y2Ba公共汽车。总线包括gydF4y2Ba开始gydF4y2Ba,gydF4y2Ba结束gydF4y2Ba,gydF4y2Ba有效的gydF4y2Ba控制信号,它表示框架的边界和样本的有效性。gydF4y2Ba

  • 开始gydF4y2Ba—输入帧的开始gydF4y2Ba

  • 结束gydF4y2Ba—输入帧的结束gydF4y2Ba

  • 有效的gydF4y2Ba—输入的数据gydF4y2Ba数据gydF4y2Ba端口有效gydF4y2Ba

详情请参见gydF4y2Ba示例控制总线gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba公共汽车gydF4y2Ba

输出gydF4y2Ba

全部展开gydF4y2Ba

解码后的消息数据,以0到255的整数形式返回。输出数据类型与输入数据类型相同。gydF4y2Ba

块输出gydF4y2BaNgydF4y2Ba- (255 -gydF4y2BakgydF4y2Ba) xgydF4y2Ba我gydF4y2Ba的解码消息符号的数目gydF4y2BaNgydF4y2Ba输入码字符号的数目。gydF4y2BakgydF4y2Ba消息长度是否由gydF4y2Ba消息长度(k)gydF4y2Ba参数和gydF4y2Ba我gydF4y2Ba交错深度是否由gydF4y2Ba交错深度(I)gydF4y2Ba参数。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bafixdt (0 8 0)gydF4y2Ba

与样本流一起返回的控制信号gydF4y2BasamplecontrolgydF4y2Ba公共汽车。总线包括gydF4y2Ba开始gydF4y2Ba,gydF4y2Ba结束gydF4y2Ba,gydF4y2Ba有效的gydF4y2Ba控制信号,它表示框架的边界和样本的有效性。gydF4y2Ba

  • 开始gydF4y2Ba—输出帧的开始gydF4y2Ba

  • 结束gydF4y2Ba—输出帧结束gydF4y2Ba

  • 有效的gydF4y2Ba—输出数据gydF4y2Ba数据gydF4y2Ba端口有效gydF4y2Ba

详情请参见gydF4y2Ba示例控制总线gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba公共汽车gydF4y2Ba

表示输出数据中的损坏,作为布尔标量返回。gydF4y2Ba

当此值为gydF4y2Ba1gydF4y2Ba,则输出有错误。当此值为gydF4y2Ba0gydF4y2Ba时,输出为零误差。gydF4y2Ba

如果输入码字数据中的符号错误数大于(255 -gydF4y2BakgydF4y2Ba) xgydF4y2Ba我gydF4y2Ba/ 2,块输出数据不纠正错误,并设置gydF4y2Ba犯错gydF4y2Ba港口gydF4y2Ba1gydF4y2Ba表示输入码字数据中存在无法更正的错误。gydF4y2BakgydF4y2Ba指定的消息长度是gydF4y2Ba消息长度(k)gydF4y2Ba参数。gydF4y2Ba

数据类型:gydF4y2Ba布尔gydF4y2Ba

块就绪指示器,作为布尔标量返回。gydF4y2Ba

该块设置此信号为gydF4y2Ba1gydF4y2Ba(gydF4y2Ba真正的gydF4y2Ba)当block准备好接受下一帧的开始时。如果块接收到一个输入gydF4y2Bactrl.startgydF4y2Ba信号而gydF4y2BanextFramegydF4y2Ba是gydF4y2Ba0gydF4y2Ba(gydF4y2Ba假gydF4y2Ba),块丢弃正在处理的帧,并开始处理新的数据。gydF4y2Ba

数据类型:gydF4y2Ba布尔gydF4y2Ba

更正的错误数,作为非负标量返回。gydF4y2Ba

该块可以纠正的最大错误数等于(255 -)gydF4y2BakgydF4y2Ba) xgydF4y2Ba我gydF4y2Ba/ 2。如果输入码字数据中的错误数大于(255 -gydF4y2BakgydF4y2Ba) xgydF4y2Ba我gydF4y2Ba/ 2,块输出数据不纠正错误,并设置gydF4y2BanumCorrErrgydF4y2Ba港口gydF4y2Ba0gydF4y2Ba表示这些错误都无法更正。gydF4y2Ba

该块设置gydF4y2BanumCorrErrgydF4y2Ba港口gydF4y2Ba0gydF4y2Ba当gydF4y2Ba犯错gydF4y2Ba端口是gydF4y2Ba1gydF4y2Ba.gydF4y2Ba

依赖关系gydF4y2Ba

要启用此端口,请选择gydF4y2Ba输出修正的符号错误数gydF4y2Ba参数。gydF4y2Ba

数据类型:gydF4y2Bauint8gydF4y2Ba

参数gydF4y2Ba

全部展开gydF4y2Ba

选择消息长度。gydF4y2Ba

选择交织深度。gydF4y2Ba

选择此参数可启用gydF4y2BanumCorrErrgydF4y2Ba输出端口。该端口输出更正错误的数量。gydF4y2Ba

算法gydF4y2Ba

全部展开gydF4y2Ba

的高级概述gydF4y2BaCCSDS RS解码器gydF4y2Ba块及其操作时设置gydF4y2Ba交错深度(I)gydF4y2Ba参数gydF4y2Ba4gydF4y2Ba.这个操作是一个并行实现,包含的逻辑相当于四个独立的RS解码器,因为指定的交织深度是4。gydF4y2Ba

D2C块将输入的双基码字符号转换为常规基码字符号并将其发送以进行解码。同时,D2C块将常规的基码字符号发送到RAM块。RAM块存储这些符号以进行修正。开关(S1)交织传统的基符号,并将它们发送到各自的RS解码逻辑块。每个RS解码逻辑块计算综合征值,使用Berlekamp-Massey算法确定错误位置多项式,并使用Chien搜索找到错误位置和大小gydF4y2Ba[4]gydF4y2Ba和福尼gydF4y2Ba[5]gydF4y2Ba算法,分别。有关Berlekamp-Massey算法的信息,请参见gydF4y2BaBCH和RS错误解码算法gydF4y2Ba.gydF4y2Ba

来自这些RS解码逻辑块的错误大小与它们各自的输入码字符号进行xor,这些输入码字符号通过使用开关(S2)和计算的错误位置存储在RAM块中,以获得正确的消息符号。C2D块将校正后的常规基符号转换回对偶基符号。gydF4y2Ba

CCSDS RS解码器模块结构示意图gydF4y2Ba

参考文献gydF4y2Ba

[1] TM同步和信道编码。gydF4y2Ba空间数据系统标准建议gydF4y2Ba.冲洗液131.0 b3。蓝色的书。问题3。华盛顿特区:CCSDS, 2017年9月。gydF4y2Ba

[2] TM同步和信道编码。gydF4y2Ba概念和基本原理概述gydF4y2Ba130.1 -g-3冲洗液。绿色的书。2020年6月第3期。gydF4y2Ba

Stephen B. Wicker。gydF4y2Ba数字通信与存储误差控制系统“,gydF4y2Ba.Prentice Hall, 1995年。gydF4y2Ba

[4] Chien, R. < Bose- Chaudhuri-Hocquenghem码的循环译码程序>。gydF4y2BaIEEE信息论汇刊gydF4y2Ba10,不。4(1964年10月):357-63。gydF4y2Bahttps://doi.org/10.1109/TIT.1964.1053699gydF4y2Ba.gydF4y2Ba

[5] Forney, G.《解码BCH码》。gydF4y2BaIEEE信息论汇刊gydF4y2Ba11日,没有。4(1965年10月):549-57。gydF4y2Bahttps://doi.org/10.1109/TIT.1965.1053825gydF4y2Ba.gydF4y2Ba

扩展功能gydF4y2Ba

版本历史gydF4y2Ba

R2021b中引入gydF4y2Ba

另请参阅gydF4y2Ba

块gydF4y2Ba

功能gydF4y2Ba