最近做的項目中用到了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開始依次遞增的偶數數組,下圖爲fpga仿真結果
奇數組仿真結果輸出爲:135 22 75 13 200 162 25 226 200 234 222 219 194 99 11 14 5 118 142 109 29 128 78 200 129 148 85 95 252 94 204 223