![]() |
rssoft
0.0.0
Reed-Solomon codes library with soft decision decoding
|
00001 /* 00002 Copyright 2013 Edouard Griffiths <f4exb at free dot fr> 00003 00004 This file is part of RSSoft. A Reed-Solomon Soft Decoding library 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301 USA 00019 00020 Does the Reed-Solomon encoding of a message. 00021 This is the genuine, straightforward, non-systematic encoding that 00022 takes message symbols to build the successive coefficients of the 00023 encoding polynomial. Then this polynomial is evaluated at the 00024 evaluation points to make the codeword. 00025 00026 */ 00027 #ifndef __RS_ENCODING_H__ 00028 #define __RS_ENCODING_H__ 00029 00030 #include "GFq.h" 00031 #include "GFq_Element.h" 00032 #include <vector> 00033 00034 namespace rssoft 00035 { 00036 00037 class EvaluationValues; 00038 00044 class RS_Encoding 00045 { 00046 public: 00053 RS_Encoding(const gf::GFq& _gf, unsigned int k, const EvaluationValues& _evaluation_values); 00054 00058 ~RS_Encoding(); 00059 00065 void run(const std::vector<gf::GFq_Symbol>& message, std::vector<gf::GFq_Symbol>& codeword) const; 00066 00067 protected: 00068 const gf::GFq& gf; 00069 unsigned int k; 00070 const EvaluationValues& evaluation_values; 00071 }; 00072 00073 00074 } // namespace rssoft 00075 00076 #endif // __RS_ENCODING_H__ 00077