我目前正在試圖讓schifra庫運行一些測試來稍後在我的代碼中實現它。schifra庫上的RS代碼 - 如何設置polynommial?
我目前正在查看schifra_reed_solomon_example02.cpp,並嘗試瞭解如何設置值以滿足我的需要。
/* Finite Field Parameters */
const std::size_t field_descriptor = 8; // GF(2^8) ok
const std::size_t generator_polynommial_index = 120; // what is this?
const std::size_t generator_polynommial_root_count = 32; // polynomial up to x^32
/* Reed Solomon Code Parameters */
const std::size_t code_length = 255; // amount of symbols in codeword
const std::size_t fec_length = 32; // minimal distance d ?
const std::size_t data_length = code_length - fec_length; // amount of symbols my message has
因此,我嘗試已經是一個RS-代碼N,K,d =(128,16,113)
我將進行以下操作:
/* Finite Field Parameters */
const std::size_t field_descriptor = 8; // I want GF(2^8)
const std::size_t generator_polynommial_index = 120; // still not knowing
const std::size_t generator_polynommial_root_count = 16; // because polynomial up to 16
/* Reed Solomon Code Parameters */
const std::size_t code_length = 128; // 128 byte codewords
const std::size_t fec_length = 113; // minimal distance, 113 because d = n - k +1
const std::size_t data_length = 16;
然後我在編碼時收到錯誤消息。然後給出Error - Critical encoding failure!
。
我認爲我做錯了是建立多項式正確 - 也許有人可以幫助我?