最近做的项目中用到了RS编码,FPGA代码中是通过调用Reed-Solomon Encoder IP核来实现的。这里以R-S(255,223)为例,分别对单通道和多通道两种情况进行了仿真验证,下面给出具体的fpga ip核配置以及仿真结果。
(一)单通道
FPGA中RS IP核的配置如下图所示:
标注1:编码说明,这里选择Custom,后面将与CCSDS进行对比。
标注2:符号宽度:这里选择8。
标注3:这里与域生成多项式保持一致,本例中域生成多项式为:F(x) = x8 + x7 + x2 + x + 1(在GF(2)上定义));
x8 + x7 + x2 + x + 1 => 110000111 => 391,所以这里设置为391。
标注4:比例因子,这里设置为1,matlab仿真与fpga仿真结果一致。
标注5:这里设置为1,因为matlab中rsenc函数生成多项式下标默认从1开始,为了与matlab保持一致,这里设置为1。
这里分别对两组数的rs编码进行了fpga仿真验证,其中一组数为从1开始依次递增的奇数数组,另一组数为从2开始依次递增的偶数数组,下图为f